ࡱ> pUU U z %`  bjbj  ̟̟%%%%%%%$&Pj&  &.,C4*D*D*DBF5{ d      $hhD5% F F"D%%*D*Dy077788%*D%*D777%%2*D" [*..<Ȋj2f22`%.`J7\ XT DDt6Z&&dr&$&&r&&&&%%%%%% ETSI ES 201 873-9 V4.4.1 2 (2012-1204) Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 9: Using XML schema with TTCN-3 ETSI Standard Reference RES/MTS-136-9 T3 ed441 XML Keywords MTS, testing, TTCN, XML 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 enregistre la Sous-Prfecture de Grasse (06) N 7803/88 Important notice Individual copies of the present document can be downloaded from:  HYPERLINK "http://www.etsi.org" 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 HYPERLINK "http://portal.etsi.org/tb/status/status.asp"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: HYPERLINK "http://portal.etsi.org/chaircor/ETSI_support.asp"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 2012. 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  TOC \o \w "1-9"Intellectual Property Rights  PAGEREF _Toc321904180 \h 7 Foreword  PAGEREF _Toc321904181 \h 7 1 Scope  PAGEREF _Toc321904182 \h 8 2 References  PAGEREF _Toc321904183 \h 8 2.1 Normative references  PAGEREF _Toc321904184 \h 8 2.2 Informative references  PAGEREF _Toc321904185 \h 9 3 Definitions and abbreviations  PAGEREF _Toc321904186 \h 9 3.1 Definitions  PAGEREF _Toc321904187 \h 9 3.2 Abbreviations  PAGEREF _Toc321904188 \h 10 4 Introduction  PAGEREF _Toc321904189 \h 10 4.1 Conformance and compatibility  PAGEREF _Toc321904190 \h 11 5 Mapping XML Schemas  PAGEREF _Toc321904191 \h 11 5.1 Namespaces and document references  PAGEREF _Toc321904192 \h 12 5.1.1 Namespaces  PAGEREF _Toc321904193 \h 12 5.1.2 Includes  PAGEREF _Toc321904194 \h 13 5.1.3 Imports  PAGEREF _Toc321904195 \h 13 5.1.4 Attributes of the XSD schema element  PAGEREF _Toc321904196 \h 14 5.1.5 The control namespace  PAGEREF _Toc321904197 \h 15 5.2 Name conversion  PAGEREF _Toc321904198 \h 15 5.2.1 General  PAGEREF _Toc321904199 \h 15 5.2.2 Name conversion rules  PAGEREF _Toc321904200 \h 16 5.2.3 Order of the mapping  PAGEREF _Toc321904201 \h 20 5.3 Mapping of XSD schema components  PAGEREF _Toc321904202 \h 21 5.4 Unsupported features  PAGEREF _Toc321904203 \h 21 6 Built-in data types  PAGEREF _Toc321904204 \h 22 6.1 Mapping of facets  PAGEREF _Toc321904205 \h 22 6.1.1 Length  PAGEREF _Toc321904206 \h 22 6.1.2 MinLength  PAGEREF _Toc321904207 \h 23 6.1.3 MaxLength  PAGEREF _Toc321904208 \h 23 6.1.4 Pattern  PAGEREF _Toc321904209 \h 24 6.1.5 Enumeration  PAGEREF _Toc321904210 \h 25 6.1.6 WhiteSpace  PAGEREF _Toc321904211 \h 27 6.1.7 MinInclusive  PAGEREF _Toc321904212 \h 27 6.1.8 MaxInclusive  PAGEREF _Toc321904213 \h 29 6.1.9 MinExclusive  PAGEREF _Toc321904214 \h 30 6.1.10 MaxExclusive  PAGEREF _Toc321904215 \h 31 6.1.11 Total digits  PAGEREF _Toc321904216 \h 32 6.1.12 Not specifically mapped facets  PAGEREF _Toc321904217 \h 33 6.2 String types  PAGEREF _Toc321904218 \h 33 6.2.1 String  PAGEREF _Toc321904219 \h 34 6.2.2 Normalized string  PAGEREF _Toc321904220 \h 34 6.2.3 Token  PAGEREF _Toc321904221 \h 34 6.2.4 Name  PAGEREF _Toc321904222 \h 34 6.2.5 NMTOKEN  PAGEREF _Toc321904223 \h 34 6.2.6 NCName  PAGEREF _Toc321904224 \h 34 6.2.7 ID  PAGEREF _Toc321904225 \h 35 6.2.8 IDREF  PAGEREF _Toc321904226 \h 35 6.2.9 ENTITY  PAGEREF _Toc321904227 \h 35 6.2.10 Hexadecimal binary  PAGEREF _Toc321904228 \h 35 6.2.11 Base 64 binary  PAGEREF _Toc321904229 \h 35 6.2.12 Any URI  PAGEREF _Toc321904230 \h 36 6.2.13 Language  PAGEREF _Toc321904231 \h 36 6.2.14 NOTATION  PAGEREF _Toc321904232 \h 36 6.3 Integer types  PAGEREF _Toc321904233 \h 36 6.3.1 Integer  PAGEREF _Toc321904234 \h 36 6.3.2 Positive integer  PAGEREF _Toc321904235 \h 36 6.3.3 Non-positive integer  PAGEREF _Toc321904236 \h 36 6.3.4 Negative integer  PAGEREF _Toc321904237 \h 36 6.3.5 Non-negative integer  PAGEREF _Toc321904238 \h 37 6.3.6 Long  PAGEREF _Toc321904239 \h 37 6.3.7 Unsigned long  PAGEREF _Toc321904240 \h 37 6.3.8 Int  PAGEREF _Toc321904241 \h 37 6.3.9 Unsigned int  PAGEREF _Toc321904242 \h 37 6.3.10 Short  PAGEREF _Toc321904243 \h 37 6.3.11 Unsigned Short  PAGEREF _Toc321904244 \h 37 6.3.12 Byte  PAGEREF _Toc321904245 \h 38 6.3.13 Unsigned byte  PAGEREF _Toc321904246 \h 38 6.4 Float types  PAGEREF _Toc321904247 \h 38 6.4.1 Decimal  PAGEREF _Toc321904248 \h 38 6.4.2 Float  PAGEREF _Toc321904249 \h 38 6.4.3 Double  PAGEREF _Toc321904250 \h 38 6.5 Time types  PAGEREF _Toc321904251 \h 38 6.5.1 Duration  PAGEREF _Toc321904252 \h 39 6.5.2 Date and time  PAGEREF _Toc321904253 \h 39 6.5.3 Time  PAGEREF _Toc321904254 \h 39 6.5.4 Date  PAGEREF _Toc321904255 \h 39 6.5.5 Gregorian year and month  PAGEREF _Toc321904256 \h 40 6.5.6 Gregorian year  PAGEREF _Toc321904257 \h 40 6.5.7 Gregorian month and day  PAGEREF _Toc321904258 \h 40 6.5.8 Gregorian day  PAGEREF _Toc321904259 \h 40 6.5.9 Gregorian month  PAGEREF _Toc321904260 \h 40 6.6 Sequence types  PAGEREF _Toc321904261 \h 40 6.6.1 NMTOKENS  PAGEREF _Toc321904262 \h 41 6.6.2 IDREFS  PAGEREF _Toc321904263 \h 41 6.6.3 ENTITIES  PAGEREF _Toc321904264 \h 41 6.6.4 QName  PAGEREF _Toc321904265 \h 41 6.7 Boolean type  PAGEREF _Toc321904266 \h 42 6.8 AnyType and anySimpleType types  PAGEREF _Toc321904267 \h 42 7 Mapping XSD components  PAGEREF _Toc321904268 \h 42 7.1 Attributes of XSD component declarations  PAGEREF _Toc321904269 \h 42 7.1.1 Id  PAGEREF _Toc321904270 \h 43 7.1.2 Ref  PAGEREF _Toc321904271 \h 43 7.1.3 Name  PAGEREF _Toc321904272 \h 44 7.1.4 MinOccurs and maxOccurs  PAGEREF _Toc321904273 \h 44 7.1.5 Default and Fixed  PAGEREF _Toc321904274 \h 49 7.1.6 Form  PAGEREF _Toc321904275 \h 49 7.1.7 Type  PAGEREF _Toc321904276 \h 50 7.1.8 Mixed  PAGEREF _Toc321904277 \h 50 7.1.9 Abstract  PAGEREF _Toc321904278 \h 50 7.1.10 Block and blockDefault  PAGEREF _Toc321904279 \h 50 7.1.11 Nillable  PAGEREF _Toc321904280 \h 51 7.1.12 Use  PAGEREF _Toc321904281 \h 52 7.1.13 Substitution group  PAGEREF _Toc321904282 \h 53 7.1.14 Final  PAGEREF _Toc321904283 \h 53 7.1.15 Process contents  PAGEREF _Toc321904284 \h 53 7.2 Schema component  PAGEREF _Toc321904285 \h 53 7.3 Element component  PAGEREF _Toc321904286 \h 53 7.4 Attribute and attribute group definitions  PAGEREF _Toc321904287 \h 54 7.4.1 Attribute element definitions  PAGEREF _Toc321904288 \h 54 7.4.2 Attribute group definitions  PAGEREF _Toc321904289 \h 55 7.5 SimpleType components  PAGEREF _Toc321904290 \h 55 7.5.1 Derivation by restriction  PAGEREF _Toc321904291 \h 55 7.5.2 Derivation by list  PAGEREF _Toc321904292 \h 56 7.5.3 Derivation by union  PAGEREF _Toc321904293 \h 57 7.6 ComplexType components  PAGEREF _Toc321904294 \h 59 7.6.1 ComplexType containing simple content  PAGEREF _Toc321904295 \h 60 7.6.1.1 Extending simple content  PAGEREF _Toc321904296 \h 60 7.6.1.2 Restricting simple content  PAGEREF _Toc321904297 \h 60 7.6.2 ComplexType containing complex content  PAGEREF _Toc321904298 \h 61 7.6.2.1 Complex content derived by extension  PAGEREF _Toc321904299 \h 61 7.6.2.2 Complex content derived by restriction  PAGEREF _Toc321904300 \h 65 7.6.3 Referencing group components  PAGEREF _Toc321904301 \h 67 7.6.4 All content  PAGEREF _Toc321904302 \h 69 7.6.5 Choice content  PAGEREF _Toc321904303 \h 71 7.6.5.1 Choice with nested elements  PAGEREF _Toc321904304 \h 71 7.6.5.2 Choice with nested group  PAGEREF _Toc321904305 \h 72 7.6.5.3 Choice with nested choice  PAGEREF _Toc321904306 \h 72 7.6.5.4 Choice with nested sequence  PAGEREF _Toc321904307 \h 73 7.6.5.5 Choice with nested any  PAGEREF _Toc321904308 \h 74 7.6.6 Sequence content  PAGEREF _Toc321904309 \h 74 7.6.6.1 Sequence with nested element content  PAGEREF _Toc321904310 \h 74 7.6.6.2 Sequence with nested group content  PAGEREF _Toc321904311 \h 75 7.6.6.3 Sequence with nested choice content  PAGEREF _Toc321904312 \h 75 7.6.6.4 Sequence with nested sequence content  PAGEREF _Toc321904313 \h 76 7.6.6.5 Sequence with nested any content  PAGEREF _Toc321904314 \h 76 7.6.6.6 Effect of the minOccurs and maxOccurs attributes on the mapping  PAGEREF _Toc321904315 \h 77 7.6.7 Attribute definitions, attribute and attributeGroup references  PAGEREF _Toc321904316 \h 78 7.6.8 Mixed content  PAGEREF _Toc321904317 \h 80 7.7 Any and anyAttribute  PAGEREF _Toc321904318 \h 83 7.7.1 The any element  PAGEREF _Toc321904319 \h 83 7.7.2 The anyAttribute element  PAGEREF _Toc321904320 \h 85 7.8 Annotation  PAGEREF _Toc321904321 \h 87 7.9 Group components  PAGEREF _Toc321904322 \h 88 7.10 Identity-constraint definition schema components  PAGEREF _Toc321904323 \h 89 8 Substitutions  PAGEREF _Toc321904324 \h 89 8.1 Element substitution  PAGEREF _Toc321904325 \h 89 8.1.1 Head elements of substitution groups  PAGEREF _Toc321904326 \h 89 8.1.2 Substitution group members  PAGEREF _Toc321904327 \h 94 8.2 Type substitution  PAGEREF _Toc321904328 \h 94 Annex A (normative): TTCN-3 module XSD  PAGEREF _Toc321904329 \h 96 Annex B (normative): Encoding instructions  PAGEREF _Toc321904330 \h 100 B.1 General  PAGEREF _Toc321904331 \h 100 B.2 The XML encode attribute  PAGEREF _Toc321904332 \h 100 B.3 Encoding instructions  PAGEREF _Toc321904333 \h 101 B.3.1 XSD data type identification  PAGEREF _Toc321904334 \h 101 B.3.2 Any element  PAGEREF _Toc321904335 \h 101 B.3.3 Any attributes  PAGEREF _Toc321904336 \h 102 B.3.4 Attribute  PAGEREF _Toc321904337 \h 103 B.3.5 AttributeFormQualified  PAGEREF _Toc321904338 \h 103 B.3.6 Control namespace identification  PAGEREF _Toc321904339 \h 103 B.3.7 Default for empty  PAGEREF _Toc321904340 \h 104 B.3.8 Element  PAGEREF _Toc321904341 \h 104 B.3.9 ElementFormQualified  PAGEREF _Toc321904342 \h 104 B.3.10 Embed values  PAGEREF _Toc321904343 \h 105 B.3.11 Form  PAGEREF _Toc321904344 \h 105 B.3.12 List  PAGEREF _Toc321904345 \h 105 B.3.13 Name  PAGEREF _Toc321904346 \h 106 B.3.14 Namespace identification  PAGEREF _Toc321904347 \h 106 B.3.15 Nillable elements  PAGEREF _Toc321904348 \h 107 B.3.16 Use union  PAGEREF _Toc321904349 \h 107 B.3.17 Text  PAGEREF _Toc321904350 \h 107 B.3.18 Use number  PAGEREF _Toc321904351 \h 108 B.3.19 Use order  PAGEREF _Toc321904352 \h 108 B.3.20 Whitespace control  PAGEREF _Toc321904353 \h 109 B.3.21 Untagged elements  PAGEREF _Toc321904354 \h 109 B.3.22 Abstract  PAGEREF _Toc321904355 \h 110 B.3.23 Block  PAGEREF _Toc321904356 \h 110 B.3.24 Use type  PAGEREF _Toc321904357 \h 111 B.3.25 Process the content of any elements and attributes  PAGEREF _Toc321904358 \h 111 B.3.26 Transparent  PAGEREF _Toc321904359 \h 112 B.3.27 No Type  PAGEREF _Toc321904360 \h 112 Annex C (informative): Examples  PAGEREF _Toc321904361 \h 113 C.1 Example 1  PAGEREF _Toc321904362 \h 113 C.2 Example 2  PAGEREF _Toc321904363 \h 114 C.3 Example 3  PAGEREF _Toc321904364 \h 116 C.4 Example 4  PAGEREF _Toc321904365 \h 117 Annex D (informative): Deprecated features  PAGEREF _Toc321904366 \h 119 D.1 Using the anyElement encoding instruction to record of fields  PAGEREF _Toc321904367 \h 119 D.2 Using the XML language identifier string  PAGEREF _Toc321904368 \h 119 Annex E (informative): Bibliography  PAGEREF _Toc321904369 \h 121 History  PAGEREF _Toc321904370 \h 122  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 ETSISR000314: "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 (HYPERLINK "http://webapp.etsi.org/IPR/home.asp"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 ETSISR000314 (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 9 of a multi-part deliverable. Full details of the entire series can be found in part1[REF REF_ES201873_1 \* MERGEFORMAT 1]. 1 Scope The present document defines the mapping rules for W3C Schema (as defined in [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML0 \* MERGEFORMAT 7] to [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9]) to TTCN-3 as defined in ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1] to enable testing of XML-based systems, interfaces and protocols. 2 References References are either specific (identified by date of publication and/or edition number or version number) or nonspecific. For specific references, only the cited version applies. For non-specific references, the latest version of the referenced document (including any amendments) applies. Referenced documents which are not found to be publicly available in the expected location might be found at  HYPERLINK "http://docbox.etsi.org/Reference" 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. [SEQ REF1] ETSI ES 201 873-1: "Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core Language". [SEQ REF2] 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". [SEQ REF3] ITU-T Recommendation X.680: "Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation". [SEQ REF4] ITU-T Recommendation X.694: "Information technology - ASN.1 encoding rules: Mapping W3C XML schema definitions into ASN.1". [SEQ REF5] World Wide Web Consortium W3C Recommendation: "Extensible Markup Language (XML) 1.1". NOTE: Available at HYPERLINK "http://www.w3.org/TR/xml11"http://www.w3.org/TR/xml11. [SEQ REF6] World Wide Web Consortium W3C Recommendation (2006): "Namespaces in XML 1.0". NOTE: Available at HYPERLINK "http://www.w3.org/TR/REC-xml-names/"http://www.w3.org/TR/REC-xml-names/. [SEQ REF7] World Wide Web Consortium W3C Recommendation (2004): "XML Schema Part 0: Primer". NOTE: Available at HYPERLINK "http://www.w3.org/TR/xmlschema-0"http://www.w3.org/TR/xmlschema-0. [SEQ REF8] World Wide Web Consortium W3C Recommendation (2004): "XML Schema Part 1: Structures". NOTE: Available at HYPERLINK "http://www.w3.org/TR/xmlschema-1"http://www.w3.org/TR/xmlschema-1. [SEQ REF9] World Wide Web Consortium W3C Recommendation (2004): "XML Schema Part 2: Datatypes". NOTE: Available at HYPERLINK "http://www.w3.org/TR/xmlschema-2"http://www.w3.org/TR/xmlschema-2. 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.SEQ REFI1] World Wide Web Consortium W3C Recommendation: "SOAP version 1.2, Part 1: Messaging Framework". NOTE: Available at  HYPERLINK "http://www.w3.org/TR/soap12" http://www.w3.org/TR/soap12. [i.SEQ REFI2] ISO 8601 (2004): "Data elements and interchange formats - Information interchange - Representation of dates and times". [i.SEQ REFI3] 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.SEQ REFI4] 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". [i.SEQ REFI5] 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.SEQ REFI6] 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.SEQ REFI7] ETSI ES 202 786: "Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; TTCN-3 Language Extensions: Support of interfaces with continuous signals". [i.SEQ REFI8] ETSI ES 202 789: "Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; TTCN-3 Language Extensions: Extended TRI". 3 Definitions and abbreviations 3.1 Definitions For the purposes of the present document, the terms and definitions given in ES201873-1 [ REF REF_ES201873_1 \h \* MERGEFORMAT 1], ITU-T RecommendationX.694 [ REF REF_ITU_TX694 \h  \* MERGEFORMAT 4] and the following apply: alphabetical order: when sorting names in alphabetical order, the XSD names have to be considered. Names, starting with a character with smaller code position according to ISO/IEC10646[6 ] take precedence. During this evaluation the group, plane, row and cell octets shall be considered, in this order. Among the names with identical first character, names containing no more characters take precedence over all other names. Otherwise, names with the second character of smaller code position take precedence etc. This algorithm shall be continued recursively until all names are sorted into a sequential order. schema component: generic XSD term for the building blocks that comprise the abstract data model of the schema NOTE: The primary components, which may (type definitions) or obliged to (element and attribute declarations) have names are as follows: simple type definitions, complex type definitions, attribute declarations and element declarations. The secondary components, which are obliged to have names, are as follows: attribute group definitions, identity-constraint definitions, model group definitions and notation declarations. Finally, the "helper" components provide small parts of other components; they are not independent of their context: annotations, model groups, particles, wildcards and attribute uses. schema document: contains a collection of schema components, assembled in a schema element information item NOTE: The target namespace of the schema document may be defined (specified by the targetNamespace attribute of the schema element) or may be absent (identified by a missing targetNamespace attribute of the schema element). The latter case is handled in the present document as a particular case of the target namespace being defined. target TTCN-3 module: TTCN-3 module, generated during the conversion, to which the TTCN-3 definition produced by the translation of a given XSD declaration or definition is added XML Schema: represented by a set of schema documents forming a complete specification (i.e. all definitions and references are completely defined) NOTE: The set may be composed of one or more schema documents, and in the latter case identifying one or more target namespaces (including absence of the target namespace) and more than one schema documents of the set may have the same target namespace (including absence of the target namespace). xsi: attributes: stipulating the content of schema-instances (schema-valid XML documents), XSD defines several attributes for direct use in any XML documents NOTE: These attributes are in the namespace  HYPERLINK "http://www.w3.org/2001/XMLSchema-instance" http://www.w3.org/2001/XMLSchema-instance. By convention these XML attributes are referred to by using the prefix "xsi: ", though in practice, any prefix can be used. 3.2 Abbreviations For the purposes of the present document, the following abbreviations apply: ASN.1 Abstract Syntax Notation One DTD Document Type Description SOAP Simple Object Access Protocol SUT System Under Test TTCN-3 Testing and Test Control Notation version 3 URI Uniform Resource Identifier UTF-8 Unicode Transformation Format-8 W3C World Wide Web Consortium XER XML Encoding Rules XML eXtensible Markup Language XSD XML Schema Definition 4 Introduction An increasing number of distributed applications use the XML format to exchange data for various purposes like data bases queries or updates or event telecommunications operations such as provisioning. All of these data exchanges follow very precise rules for data format description in the form of Document Type Description (DTD) [REF REF_WORLDWIDEWEBCONSORTIUMW3CEXT \* MERGEFORMAT 5] and [REF REF_WORLDWIDEWEBCONSORTIUMW3CNAMES \* MERGEFORMAT 6] or more recently the proposed XML Schemas [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML0 \* MERGEFORMAT 7], [REF REF_WORLDWIDEWEBCONSORTIUMW3CRECOMMENDAT \* MERGEFORMAT 8] and [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9]. There are even some XML based communication protocols like SOAP [REF REF_WORLDWIDEWEBCONSORTIUMW3CSOAP \* MERGEFORMAT i.1] that are based on XML Schemas. Like any other communication-based systems, components and protocols, XML based systems, components and protocols are candidates for testing using TTCN-3 [REF REF_ES201873_1 \* MERGEFORMAT 1]. Consequently, there is a need for establishing a mapping between XML data description techniques like DTD or Schemas to TTCN-3 standard data types. The core language of TTCN-3 is defined in ES201873-1 [REF REF_ES201873_1 \* MERGEFORMAT 1] and provides a full text-based syntax, static semantics and operational semantics as well as a definition for the use of the language with ASN.1 in ES 201 873-7 [REF REF_ES201873_7 \* MERGEFORMAT 2]. The XML mapping provides a definition for the use of the core language with XML Schema structures and types, enabling integration of XML data with the language as shown in figure  REF fig_UsersViewOfCoreAndPresFormats \h  \* MERGEFORMAT 1.  EMBED Word.Picture.8  Figure  SEQ Figure \* ARABIC 1: User's view of the core language and the various presentation formats For compatibility reasons, it is the purpose of the present document that the TTCN-3 code obtained from the XML Schema using the explicit mapping shall be the same as the TTCN-3 code obtained from first converting the XML Schema using ITU-T Recommendation X.694 [REF REF_ITU_TX694 \* MERGEFORMAT 4] into ASN.1 [REF REF_ITU_TX680 \* MERGEFORMAT 3] and then converting the resulting ASN.1 code into TTCN-3 according to ES2018737[REF REF_ES201873_7 \* MERGEFORMAT 2]. Moreover, the XML document produced from the TTCN-3 code containing the encoding instructions obtained from the XML Schema based on the present document, shall be the same as the XML document produced by the ASN.1 E-XER encoding, when the same XML Schema is converted using ITU-T Recommendation X.694 [REF REF_ITU_TX694 \* MERGEFORMAT 4] and the resulted ASN.1 specification is encoded using the E-XER encoding. However, due to the specifics of testing, in a few cases the present document will produce a superset of what ITU-T Recommendation X.694 [REF REF_ITU_TX694 \* MERGEFORMAT 4] would produce. For example, according to ITU-T Recommendation X.694 [REF REF_ITU_TX694 \* MERGEFORMAT 4], abstract elements are omitted when converting the head element of a substitution group, while the present document includes also the abstract elements into the resulted union type, thus allowing provoking the SUT with incorrect data. 4.1 Conformance and compatibility For an implementation claiming to support the use of XSD with TTCN-3, all features specified in the present document shall be implemented consistently with the requirements given in the present document and in ES2018731[REF REF_ES201873_1 \* MERGEFORMAT 1]. The language mapping presented in the present document is compatible to: ES201873-1 [REF REF_ES201873_1 \* MERGEFORMAT 1],version V4.2.1. If later versions of those parts are available and should be used instead, the compatibility of the language mapping presented in the present document has to be checked individually. 5 Mapping XML Schemas There are two approaches to the integration of XML Schema and TTCN-3, which will be referred to as implicit and explicit mapping. The implicit mapping makes use of the import mechanism of TTCN-3, denoted by the keywords language and import. It facilitates the immediate use of data specified in other languages. Therefore, the definition of a specific data interface for each of these languages is required. The explicit mapping translates XML Schema definitions directly into appropriate TTCN-3 language artefacts. In case of an implicit mapping an internal representation shall be produced from the XML Schema, which representation shall retain all the structural and encoding information. This internal representation is not accessible by the user. For explicit mapping, the information present in the XML Schema shall be mapped into accessible TTCN-3 code andthe XML structural information which does not have its correspondent in TTCN-3 code - into accessible encoding instructions. Built-in data types, described in detail in clause  REF clause_BuiltInDataTypes \h  \* MERGEFORMAT 6, in case of an implicit conversion are internal to the tool and can be referenced directly by the user, while in case of an explicit conversion, the user shall have to import the XSD.ttcn module (see annex  REF clause_Annex_XSD \h  \* MERGEFORMAT A) in addition to the TTCN-3 modules resulted from the conversion. When importing from an XSD Schema, the following language identifier string shall be used: "XSD" The mapping shall start on a set of valid XSD schema-s and shall result in a set of valid TTCN-3 modules. All XSD definitions are public by default (see clause 8.2.3 of ES201873-1 [REF REF_ES201873_1 \* MERGEFORMAT 1]). The examples of the present document are written in the assumption of explicit mapping, although the difference is mainly in accessibility and visibility of generated TTCN-3 code and encoding instruction set. The present document is structured in three distinct parts: Clause  REF clause_BuiltInDataTypes \h  \* MERGEFORMAT 6 "Built-in data types" defines the TTCN-3 mapping for all basic XSD data types like strings (seeclause  REF clause_StringTypes \h  \* MERGEFORMAT 6.2), integers (see clause  REF clause_IntegerTypes \h  \* MERGEFORMAT 6.3), floats (see clause  REF clause_FloatTypes \h  \* MERGEFORMAT 6.4), etc. and facets (see clause  REF clause_MappingOfFacets \h  \* MERGEFORMAT 6.1) that allow for a simple modification of types by restriction of their properties (e.g. restricting the length of a string or the range of an integer). Clause  REF clause_MappingXSDComponents \h  \* MERGEFORMAT 7 "Mapping XSD components" covers the translation of more complex structures that are formed using the components shown in table  REF table_OverviewOfXSDConstructs \h  \* MERGEFORMAT 1 and a set of XSD attributes (see clause  REF clause_AttributesOfXSDCompDeclarations \h  \* MERGEFORMAT 7.1) which allow for modification of constraints of the resulting types. Clause  REF clause_Substitution \h  \* MERGEFORMAT 8 "Substitution" covers the translation of more XSD elements and types that may be substituted for other XSD elements or types respectively in instance documents. Table  SEQ Table \* ARABIC 1: Overview of XSD constructs ElementDefines tags that can appear in a conforming XML document.attributeDefines attributes for element tags in a conforming XML document.simpleTypeDefines the simplest types. They may be a built-in type, a list or choice of built-in types and they are not allowed to have attributes.complexTypeDefines types that are allowed to be composed, e.g. have attributes and an internal structure.named model groupDefines a named group of elements.attribute groupDefines a group of attributes that can be used as a whole in definitions of complexTypes.identity constraintDefines that a component has to exhibit certain properties in regard to uniqueness and referencing. 5.1 Namespaces and document references 5.1.1 Namespaces A single XML Schema may be composed of a single or several schema element information items, and shall be translated to one or more TTCN-3 modules, corresponding to schema components that have the same target namespace, including no target namespace. For XSD schemas with the same target namespace (including absence of the target namespace) exactly one TTCN-3 module shall be generated. The names of the TTCN3 modules generated based on this clause shall be the result of applying the name transformation rules in clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the related target namespace, if it exists, or to the predefined name "NoTargetNamespace". NOTE 1: More than one schema element information items in an XML Schema may have the same target namespace, including the case of no target namespace. The information about the target namespaces and prefixes from the targetNamespace and xmlns attributes of the corresponding schema elements, if exist, shall be preserved in the encoding instruction "namespace as" attached to the TTCN-3 module. If the target namespace is absent, no "namespace as " encoding instruction shall be attached to the TTCN-3 module. All declarations in the module shall inherit the target namespace of the module (including absence of the target namespace). NOTE 2: If different schema element information items using the same target namespace associates different prefixes to that namespace, it is a tool implementation option, which prefix is preserved in the "namespace as" encoding instruction. EXAMPLE: Schemas with the same namespace: : : //Will result the TTCN-3 module module http_www_example_org { : // the content of the module is coming from both schemas } with { encode "XML"; variant "namespace as 'http://www.example.org' prefix 'ns1'" // the prefix in the encoding instruction could also be 'ns2', this is a tool's option. } 5.1.2 Includes XSD include element information items shall be ignored if the included schema element has the same target namespace as the including one (implying the absence of the target namespace). If the included schema element has no target namespace but the including schema has (i.e. it is not absent), all definitions of the included schema shall be mapped twice, i.e. the resulted TTCN-3 definitions shall be inserted to the TTCN-3 module generated for the schema element(s) with no target namespace as well as to the module generated for the schema element(s) with the target namespace of the including schema. EXAMPLE: A schema with a target namespace is including a schema without a target namespace: : : //Will result the TTCN-3 modules (please note, the content of the modules may come // from more than one schemas. module http_www_example_org { : // contains definitions mapped from both schemas } with { encode "XML"; variant "namespace as 'http://www.example.org' prefix 'ns1'" } module NoTargetNamespace { : // contains definitions mapped from the schema without target namespace only } with { encode "XML" } 5.1.3 Imports All XSD import statements (i.e. import element information items and the related xmlns attributes, where present) shall be mapped to equivalent TTCN-3 import statements, importing all definitions from the other TTCN-3 module. All XSD components are public by default (see clause 8.2.3 of ES201873-1 [REF REF_ES201873_1 \* MERGEFORMAT 1]). Multiple XSD import element information items with the same namespace attribute (including no target namespace) shall be mapped to a single TTCN-3 import statement. NOTE 1: The above statement means that XSD components using imported XSD references are complete, i.e. in case of implicit mapping it is not needed to additionally import the schema containing the referenced XSD components to TTCN3, unless the referenced XSD component wanted to be used in TTCN3 directly. NOTE 2: XSD permits a bare information item (in schemas having a target namespace). This allows unqualified references to foreign components with no target namespace without giving hints where to find them. The resolution of such cases is left to tool implementations. It is allowed to import single XSD components into TTCN3. When the TTCN3 import statement is importing single definitions or definitions of the same kind from XSD (see clauses 8.2.3.2 and 8.2.3.4 of ES201873-1 [REF REF_ES201873_1 \* MERGEFORMAT 1]), or an import all statement contains an exception list (see clause 8.2.3.5 of ES201873-1 [REF REF_ES201873_1 \* MERGEFORMAT 1]), this results in the import of a type definition only, but not in the import of a group, template, testcase etc. NOTE 3: Please note that importing all types of a target namespace has the same effect as importing all definitions of that namespace (i.e. "import from TargetNamespace { type all };" results in the same as "import from TargetNamespace all;"). It is not allowed to import XSD import statements to TTCN-3 (i.e. there is no transitive import of XSD import statements as defined for TTCN-3, see clause 8.2.3.7 of ES201873-1 [REF REF_ES201873_1 \* MERGEFORMAT 1]). 5.1.4 Attributes of the XSD schema element If the TTCN-3 module corresponds to a (present) target namespace and the value of the attributeFormDefault and/or elementFormDefault attributes of any schema element information items that contribute to the given TTCN-3 module is qualified, the encoding instructions "attributeFormQualified" and/or "elementFormQualified" shall be attached accordingly to the given TTCN-3 module. All fields of TTCN-3 definitions in the given TTCN3 module corresponding to local attribute declarations or to attribute and attributeGroup references in schema element information items with the value of its attributeFormDefault attribute being unqualified (explicitly or implicitly via defaulting) shall be supplied with the "form as unqualified" encoding instruction, unless a form attribute of the given declaration requires differently (see clause  REF clause_Attributes_Form \h  \* MERGEFORMAT 7.1.6). All fields of TTCN-3 definitions in the given TTCN-3 module corresponding to local element declarations or element and model group references in schema element information items with the value of its elementFormDefault attribute unqualified (explicitly or implicitly via defaulting) shall be supplied with the "form as unqualified" encoding instruction, unless a form attribute of the given declaration requires differently (see clause  REF clause_Attributes_Form \h  \* MERGEFORMAT 7.1.6). Mapping of the blockDefault XSD attribute information item see in clauses  REF clause_Attributes_block \h  \* MERGEFORMAT 7.1.10,  REF clause_Substitution_Elements \h  \* MERGEFORMAT 8.1 and  REF clause_Substitution_Types \h  \* MERGEFORMAT 8.2. The finalDefault, id, version and xml:lang attributes of schema elements shall be ignored. EXAMPLE: Mapping of schema attributes: //Will result in the TTCN-3 modules (please note, that the content of the modules may come //from more than one schemas. module http_www_example_org { type record CType1 { XSD.Integer attrib optional, XSD.Integer elem } with { variant(attrib)"attribute"; variant(elem)"form as unqualified" } type record CType2 { XSD.Integer attrib optional, XSD.Integer elem } with { variant(attrib)"attribute"; variant(attrib)"form as unqualified" } } with { encode "XML"; variant "namespace as 'http://www.example.org'"; variant "attributeFormQualified"; variant "elementFormQualified" } 5.1.5 The control namespace The control namespace is the namespace of the schema-instance attributes defined in clause 2.6 of XSD Part-1 [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9], for direct use in any XML documents (e.g. in the special XML attribute value "xsi:nil", see mapping of the nillable XSD attribute in clause REF clause_Attributes_nillable \h  \* MERGEFORMAT 7.1.11 or in case of substitutable types is the special XML attribute value "xsi:type", see clause  REF clause_Substitution_Types \h  \* MERGEFORMAT 8.2 etc.). It shall be specified globally, with the controlNamespace encoding instruction attached to the TTCN3 module. NOTE 1: These attributes are in the namespace  HYPERLINK "http://www.w3.org/2001/XMLSchema-instance" http://www.w3.org/2001/XMLSchema-instance. NOTE 2: See also the definition "xsi: attributes" in clause  REF clause_Definitions \h  \* MERGEFORMAT 3.1 of the present document. EXAMPLE: Identifying the control namespace of a module: module MyModule { : } with { encode "XML"; variant "controlNamespace' HYPERLINK "http://www.w3.org/2001/XMLSchema-instance" http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'" } 5.2 Name conversion 5.2.1 General Translation of identifiers (e.g. type or field names) has a critical impact on the usability of conversion results: primarily, it must guarantee TTCN-3 consistency, but, in order to support migration of conversion results from code generated with tools based on ITU-T Recommendation X.694 [REF REF_ITU_TX694 \* MERGEFORMAT 4], it must also generate identifiers compatible with that standard. It must also support portability of conversion results (the TTCN-3 code and the encoding instruction set) between TTCN-3 tools of different manufacturers, which is only possible if identifier conversion is standardized. For different reasons a valid XSD identifier may not be a valid identifier in TTCN-3. For example, it is valid to specify both an attribute and an element of the same name in XSD. When mapped in a nave fashion, this would result in two different types with the same name in TTCN-3. A name conversion algorithm has to guarantee that the translated identifier name: is unique within the scope it is to be used; contains only valid characters; is not a TTCN-3 keyword; is not a reserved word (e.g. "base" or "content"). The present document specifies the generation of: TTCN-3 type reference names corresponding to the names of model group definitions, top-level element declarations, top-level attribute declarations, top-level complex type definitions, and user-defined top-level simple type definitions; TTCN-3 identifiers corresponding to the names of top-level element declarations, top-level attribute declarations, local element declarations, and local attribute declarations; TTCN-3 identifiers for the mapping of certain simple type definitions with an enumeration facet (seeclause6.1.5); TTCN-3 identifiers of certain sequence components introduced by the mapping (see clause 7). All of these TTCN-3 names shall be generated by applying clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 either to the name of the corresponding schema component, or to a member of the value of an enumeration facet, or to a specified character string, as specified in the relevant clauses of the present document. 5.2.2 Name conversion rules Names of attribute declarations, element declarations, model group definitions, user-defined top-level simple type definitions, and top-level complex type definitions can be identical to TTCN-3 reserved words, can contain characters not allowed in TTCN-3 identifiers. In addition, there are cases in which TTCN-3 names are required to be distinct where the names of the corresponding XSD schema components (from which the TTCN-3 names are mapped) are allowed to be identical. First: a) the character strings to be used as names in a TTCN3 module, shall be ordered in accordance to clause REF clause_OrderOfTheMapping \h  \* MERGEFORMAT 5.2.3 (i.e. primary ordering the character strings according to their categories as names of elements, followed by names of attributes, followed by names of type definitions, followed by names of model groups, and subsequently ordering in alphabetical order); NOTE 1: The above ordering of character strings is necessary to produce the same final names for the same definitions independent of the order in which tools are processing schema elements with the same target namespace. It does not affect the order in which the generated TTCN3 definitions are written to the modules by tools. Secondly, the following character substitutions shall be applied, in order, to each character string being mapped to a TTCN-3 name, where each substitution (except the first) shall be applied to the result of the previous transformation: b) the characters " " (SPACE), "." (FULL STOP), "-" (HYPEN-MINUS), ":" (COLON) and "/" (SOLIDUS) shall all be replaced by a "_" (LOW LINE); NOTE 2: Please note that the ":" (COLON) and "/" (SOLIDUS) character may appear in (target) namespace attributes only but not in local parts of XML qualified names; i.e. the colon above does not refer to the colon separating the Prefix and the NCName parts of XML qualified names (see [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9], clause 3.2.18). c) any character except "A" to "Z" (LATIN CAPITAL LETTER A to LATIN CAPITAL LETTER Z), "a" to "z" (LATIN SMALL LETTER A to LATIN SMALL LETTER Z), "0" to "9" (DIGIT ZERO to DIGIT NINE), and "_" (LOW LINE) shall be removed; d) a sequence of two or more "_" (LOW LINE) characters shall be replaced with a single "_" (LOW LINE); e) "_" (LOW LINE) characters occurring at the beginning or at the end of the name shall be removed; f) if a character string that is to be used as a name of a TTCN-3 type starts with a lower-case letter, the first letter shall be capitalized (converted to upper-case); if it starts with a digit (DIGIT ZERO to DIGIT NINE), it shall be prefixed with an "X" (LATIN CAPITAL LETTER X) character; g) if a character string that is to be used as an identifier of a structured type field or enumeration value starts with an upper-case letter, the first letter shall be uncapitalized (converted to lower-case); if it starts with a digit (DIGIT ZERO to DIGIT NINE), it shall be prefixed with an "x" (LATIN SMALL LETTER X) character; h) if a character string that is to be used as a name of a TTCN-3 type definition or as a type reference name is empty, it shall be replaced by "X" (LATIN CAPITAL LETTER X); and i) if a character string that is to be used a name of a record or union field or enumeration value is empty, it shall be replaced by "x" (LATIN SMALL LETTER X). Finally, depending on the kind of name being generated, one of the three following items shall apply: j) If the name being generated is the name of a TTCN-3 type and the character string generated by items a) to i) above is identical to the name of another TTCN-3 type previously generated in the same TTCN-3 module, or is one of the reserved words specified in clause 11.27 of ITU-T Recommendation X.680 [ REF ref_ITU_TX680 \h \* MERGEFORMAT 3], then a postfix shall be appended to the character string generated according to the above rules. The postfix shall consist of a "_" (LOW LINE) followed by the canonical lexical representation (see W3C XML Schema Part 2 [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9], clause2.3.1) of an integer. This integer shall be the least positive integer such that the new name is different from the type reference name of any other TTCN-3 type assignment previously generated in any of those TTCN-3 modules. k) If the name being generated is the identifier of a field of a record or a union type, and the character string generated by the rules in items a) to i) above is identical to the identifier of a previously generated field identifier of the same type, then a postfix shall be appended to the character string generated by the above rules. The postfix shall consist of a "_" (LOW LINE) followed by the canonical lexical representation (see W3C XML Schema Part 2 [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9], clause 2.3.1) of an integer. This integer shall be the least positive integer such that the new identifier is different from the identifier of any previously generated component of that sequence, set, or choice type. Field names that are one of the TTCN-3 keywords (see clause A.1.5 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]) or names of predefined functions (see clause 16.1.2 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]) after applying the postfix to clashing field names, shall be suffixed by a single "_" (LOW LINE) character. NOTE 3: ES2018731 [ REF REF_ES201873_1 \h  \* MERGEFORMAT 1] clause A.1.5 table A.2 defines the keywords of the core language. However, TTCN-3 language extensions (see [ REF REF_ES202781_ConfAndDeployment \h i.3REF REF_ES202781 \* MERGEFORMAT i.3] to [ REF REF_ES202786_ContSignals \h i.7REF REF_ES202785 \* MERGEFORMAT i.6], but other extensions may also be published after the publication of the present document) may define additional keywords and rules for handling those keywords in TTCN3 modules requiring the given extension. l) If the name being generated is the identifier of an enumeration item (see clause 6.2.4 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]) of an enumerated type, and the character string generated by the rules in items a) to i) above is identical to the identifier of another enumeration item previously generated in the same enumerated type, then a postfix shall be appended to the character string generated by the above rules. The postfix shall consist of a "_" (LOW LINE) followed by the canonical lexical representation (see W3C XML Schema Part 2 [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9], clause 2.3.1) of an integer. This integer shall be the least positive integer such that the new identifier is different from the identifier in any other enumeration item already present in that TTCN-3 enumerated type. Enumeration names that are one of the TTCN-3 keywords (see clause A.1.5 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]) or names of predefined functions (seeclause 16.1.2 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]) after applying the postfix to clashing enumeration names, shall be suffixed by a single "_" (LOW LINE) character. EXAMPLE 1: Conversion of an XML Schema composed of two schema elements with identical target namespaces: //Willbetranslatedto: module http_www_example_org_1 { /* this file is: includeCircular1a.xsd */ /* simpleType "Foobar" */ type XSD.Integer Foobar_4 // postfixed with "_4" as types are the third category and capital letters are preceding // small letters in ISO646. with { variant "name as 'Foobar'" } /* attribute "Foo-Bar" */ type XSD.Integer Foo_Bar with { variant "name as 'Foo-Bar'"; variant"attribute" } /* attribute "Foo_Bar" */ type XSD.Integer Foo_Bar_1 // postfixed with "_1" as after changing dash to underscore in the name of the attribute // "FooBar", the names of the two types are clashing with each other. with { variant "name as 'Foo_Bar'"; variant"attribute" } /* attribute "Foobar" */ type XSD.Integer Foobar_2 // postfixed with "_2" as attributes are the second category and capital letters are // preceding small letters in ISO646. with { variant "name as 'Foobar'"; variant"attribute" } /* element "foobar" */ type XSD.Integer Foobar_1 // postfixed with "_1" as elements are the first category and small letters are following // capital letters in ISO646. with { variant "name as 'foobar'"; variant"element" } /* element "Foobar" */ type XSD.Integer Foobar // no postfix as elements are the first category and capital letters are preceding // small letters in ISO646. with { variant"element" } type record Akarmi { /* complexType attribute "Foobar" */ XSD.Integer foobar optional, /* complexType attribute "foobar" */ XSD.Integer foobar_1 optional } with { variant (foobar) "name as capitalized"; variant (foobar_1) "name as 'foobar'"; variant (foobar,foobar_1) "attribute" } /* this file is: includeCircular1b.xsd*/ /* simpleType "foobar" */ type XSD.Integer Foobar_5 // postfixed with "_5" as types are the third category and small letters are following // capital letters in ISO646. with { variant "name as 'foobar'" } /* attribute "foobar" */ type XSD.Integer Foobar_3 // postfixed with "_3" as attributes are the second category and small letters are // following capital letters in ISO646. with { variant "name as 'foobar'"; variant"attribute" } } with { variant "namespace as 'http_ HYPERLINK "http://www.example.org/1" \o "blocked::http://www.example.org/1" www.example.org/1'" } For an TTCN-3 type definition name or field identifier that is generated by applying this clause to the name of an element declaration, attribute declaration, top-level complex type definition or user-defined top-level simple type definition, if the type definition name generated is different from the value of the name attribute of the corresponding schema component, a final "name as" variant attribute shall be attached to the TTCN3 type definition with that type definition name (or to the field with that identifier) as specified in the items below: a) If the only difference is the case of the first letter (which is upper case in the type definition name and lower case in the name), then the variant attribute "name as uncapitalized" shall be used. b) If the only difference is the case of the first letter (which is lower case in the identifier and upper case in the name), then the variant attribute "name as capitalized" shall be applied to the field concerned or the "name all as capitalized" shall be applied to the related type definition (in this case the attribute has effect on all identifiers of all fields but not on the name of the type!). c) Otherwise, the "name as ''" variant attribute shall be used, where is the value of the corresponding name attribute. EXAMPLE 2: Using the "name" variant attribute: //The top-level complex type definition: //is mapped to the TTCN-3 type assignment: type record COMPONENTS_1 { boolean elem, integer elem_1, boolean elem_1_1, integer elem_1_2 } with { variant "name as 'COMPONENTS'"; variant (elem) "name as capitalized"; variant (elem_1) "name as 'elem'"; variant (elem_1_1) "name as 'Elem-1'"; variant (elem_1_2) "name as 'elem-1'"; }; For an TTCN-3 identifier that is generated by applying this clause for the mapping of a simple type definition with an enumeration facet where the identifier of the generated TTCN-3 enumeration value is different from the corresponding member of the value of the enumeration facet, a "text as" variant attribute shall be assigned to the TTCN-3 enumerated type, with qualifying information specifying the identifier of the enumeration item of the enumerated type. One of the two following items shall apply: a) If the only difference is the case of the first letter (which is lower case in the identifier and upper case in the member of the value of the enumeration facet), then the "text "" as capitalized" variant attribute shall be used. b) If all TTCN-3 enumeration values differ in the case of the first letter only (which is lower case in the identifier and upper case in the member of the value of the enumeration facet), then the "text all as capitalized" variant attribute shall be used. c) Otherwise, the "text "" as """ variant attribute shall be used. EXAMPLE 3: Using the "text as" variant attribute: //The XSD enumeration facet: //Is mapped to the TTCN-3 type assignment: type enumerated State { off, off_1 } with { variant "name as uncapitalized"; variant "text 'off' as capitalized"; variant "text 'off_1' as 'off'"; } 5.2.3 Order of the mapping An order shall be imposed on the top-level schema components of the source XSD Schema on which the mapping is performed. This applies to model group definitions, top-level complex type definitions, user-defined top-level simple type definitions, top-level attribute declarations, and top-level element declarations. NOTE: Other top-level schema components are not mapped to TTCN-3, and XSD built-in data types are mapped in a special way. The order is specified in the three following items: a) Top-level schema components shall first be ordered by their target namespace, with the absent namespace preceding all namespace names in ascending alphabetical order. b) Within each target namespace, top-level schema components shall be divided into four sets ordered as follows: 1) element declarations; 2) attribute declarations; 3) complex type definitions and simple type definitions; 4) model group definitions. c) Within each set of item b), schema components shall be ordered by name in ascending alphabetical order. TTCN-3 type definitions that correspond directly to the XSD schema components shall be generated in the order of the corresponding XSD schema components. 5.3 Mapping of XSD schema components Table 1a: Mapping of XSD schema components XSD schema componentSub-categoryW3C XML Schema referenceTTCN-3 mapping defined byattribute declarationPart 1, 3.2Clause  REF clause_AttributeComponent \h  \* MERGEFORMAT 7.4globalClause  REF clause_ElementComponent \h  \* MERGEFORMAT 7.3element declarationlocalPart 1, 3.3Clause  REF clause_ElementComponent \h  \* MERGEFORMAT 7.3head of a substitution groupClause  REF clause_Substitution_Elements_Head \h  \* MERGEFORMAT 8.1.1complex type definitionnot substitutablePart 1, 3.4Clause  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6substitutableClause  REF clause_Substitution_Types \h  \* MERGEFORMAT 8.2Built-in datatypesPart 2Clause  REF clause_BuiltInDataTypes \h  \* MERGEFORMAT 6attribute usePart 1, 3.5Clause  REF clause_Attributes_use \h  \* MERGEFORMAT 7.1.12attribute group definitionPart 1, 3.6Clause  REF clause_AttributeComponent_attributeGroup \h  \* MERGEFORMAT 7.4.2model group definitionPart 1, 3.7Clause  REF clause_GroupComponents \h  \* MERGEFORMAT 7.9model group usePart 1, 3.8Clause  REF clause_ComplexType_AttributeGroups \h  \* MERGEFORMAT 7.6.7particlePart 1, 3.9Clause wildcardPart 1, 3.10Clause  REF clause_Attributes_processContents \h  \* MERGEFORMAT 7.1.15identity-constraint definitionPart 1, 3.11Clause  REF clause_IdentityConstraint \h  \* MERGEFORMAT 7.10notation declarationPart 1, 3.12ignored by the mappingannotationPart 1, 3.13ignored by the mappingsimple type definitionnot substitutablePart 1, 3.14Clause  REF clause_SimpleTypeComponents \h  \* MERGEFORMAT 7.5substitutableClause  REF clause_Substitution_Types \h  \* MERGEFORMAT 8.2schemaPart 1, 3.15Clause  REF clause_SchemaComponent \h  \* MERGEFORMAT 7.2orderedPart 2, 4.2.2.1ignored by the mappingboundedPart 2, 4.2.3.1ignored by the mappingcardinalityPart 2, 4.2.4.1ignored by the mappingnumericPart 2, 4.2.5.1ignored by the mappinglengthPart 2, 4.3.1.1Clause  REF clause_Facets_Length \h  \* MERGEFORMAT 6.1.1minLengthPart 2, 4.3.2.1Clause  REF clause_Facets_minLength \h  \* MERGEFORMAT 6.1.2maxLengthPart 2, 4.3.3.1Clause  REF clause_Facets_maxLength \h  \* MERGEFORMAT 6.1.3patternPart 2, 4.3.4.1Clause  REF clause_Facets_pattern \h  \* MERGEFORMAT 6.1.4enumerationPart 2, 4.3.5.1Clause  REF clause_Facets_enumeration \h  \* MERGEFORMAT 6.1.5whiteSpacePart 2, 4.3.6.1Clause  REF clause_Facets_WhiteSpace \h  \* MERGEFORMAT 6.1.6maxInclusivePart 2, 4.3.7.1Clause  REF clause_Facets_MaxInclusive \h  \* MERGEFORMAT 6.1.8maxExclusivePart 2, 4.3.8.1Clause  REF clause_Facets_MaxExclusive \h  \* MERGEFORMAT 6.1.10minExclusivePart 2, 4.3.9.1Clause  REF clause_Facets_MinExclusive \h  \* MERGEFORMAT 6.1.9minInclusivePart 2, 4.3.10.1Clause  REF clause_Facets_MinInclusive \h  \* MERGEFORMAT 6.1.7totalDigitsPart 2, 4.3.11.1Clause  REF clause_Facets_totalDigits \h  \* MERGEFORMAT 6.1.11fractionDigitsPart 2, 4.3.12.1ignored by the mapping 5.4 Unsupported features XSD and TTCN-3 are very distinct languages. Therefore some features of XSD have no equivalent in TTCN-3 or make no sense when translated to the TTCN-3 language. Whenever possible, these features are translated into encoding instructions completing the TTCN-3 code. The following list contains a collection of the unsupported features: a) Numeric types are not allowed to be restricted by patterns. b) List types are not allowed to be restricted by enumerations or patterns. c) Specifying the number of fractional digits for float types is not supported. d) Translation of the identity-constraint definition schema components (uniqe, key, keyref, selector and field elements) are not supported. e) All time types (see clause  REF clause_TimeTypes \h  \* MERGEFORMAT 6.5) restrict year to 4 digits. 6 Built-in data types XSD built-in data types may be primitive or derived types. The latter are gained from primitive types by means of a restriction mechanism called facets. For the mapping of primitive types, a specific TTCN-3 module XSD is provided by the present document, which defines the relation of XSD primitive types to TTCN-3 types. Whenever a new simpleType is dened, with a built-in XSD type as its base type, it shall be mapped directly from types defined in the module XSD: EXAMPLE: <simpleType name="e1"> <restriction base="integer"/> </simpleType> //Becomes type XSD.Integer E1 with { variant "name as uncapitalized" } In the following clauses both the principle mappings of facets and the translation of primitive types are given. The complete content of the XSD module is given in annex  REF clause_Annex_XSD \h  \* MERGEFORMAT A. 6.1 Mapping of facets Table  REF table_Facets \h  \* MERGEFORMAT 2 summarizes the facets for the built-in types that are mapped to TTCN-3 specifically, i.e. to a specific TTCN-3 language construct. Facets, allowed by XML Schema but without a counterpart in TTCN-3, shall be retained by a "transparent" encoding instruction as given in clause  REF clause_Facets_transparentlyRelayed \h  \* MERGEFORMAT 6.1.12 and therefore not marked in table  REF table_Facets \h  \* MERGEFORMAT 2. Table  SEQ Table \* ARABIC 2: Mapping support for facets of built-in types Facet Type stringlengthmin Lengthmax Lengthpatternenum.min Incl.max Incl.min Excl.max Excl.total Digitswhite Space( (see note 1)( (see note 2)( (see note 2)( (see note 2)(( (see note 3)integer((((((float(((((( (see note 4)time((list(((booleanNOTE 1: With the exception of QName which does not support length restriction. NOTE 2: With the exception of hexBinary which does not support patterns. NOTE 3: With the exception of some types (see clause  REF clause_Facets_WhiteSpace \h  \* MERGEFORMAT 6.1.6). NOTE 4: With the exception of decimal which does support totalDigits. 6.1.1 Length The XSD facet length describes, how many units of length a value of the given simple type must have. For string and data types derived from string, length is measured in units of characters. For hexBinary and base64Binary and data types derived from them, length is measured in octets. For data types derived by list, length is measured in number of list items. A length-restricted XSD type shall be mapped to a corresponding length restricted TTCN3 type. EXAMPLE 1: Is translated to the following TTCN-3 type type XSD.String E2 length(10) with { variant "name as uncapitalized" } For built-in list types (see clause  REF clause_SequenceTypes \h  \* MERGEFORMAT 6.6) the number of elements of the resulting structure will be restricted. EXAMPLE 2: //Mapped to TTCN-3: type XSD.NMTOKENS E3 length(10) with { variant "name as uncapitalized" } 6.1.2 MinLength The XSD facet minLength describes the minimal length that a value of the given simple type shall have. It shall be mapped to a length restriction in TTCN-3 with a set lower bound and an open upper bound. The fixed XSD attribute (see clause  REF clause_Attributes_DefaultAndFixed \h  \* MERGEFORMAT 7.1.5) shall be ignored. EXAMPLE: //Is translated to: type XSD.String E4 length(3 .. infinity) with { variant "name as uncapitalized"; } 6.1.3 MaxLength The XSD facet maxLength describes the maximal length that a value of the given simple type shall have. It shall be mapped to a length restriction in TTCN-3 with a set upper bound and a lower bound zero. The fixed XSD attribute (seeclause  REF clause_Attributes_DefaultAndFixed \h  \* MERGEFORMAT 7.1.5) shall be ignored. EXAMPLE: //Is mapped to: type XSD.String E5 length(0 .. 5) with { variant "name as uncapitalized" } 6.1.4 Pattern The XSD pattern facet allows constraining the value space of XSD data types by restricting the value notation by a regular expression. This facet is supported for XSD types derived directly or indirectly from the XSD string type. For these types pattern facets shall directly be mapped to TTCN-3 pattern subtyping. As the syntax of XSD regular patterns differs from the syntax of the TTCN-3 pattern subtyping, a mapping of the pattern expression has to be applied. The symbols "(" (LEFT PARENTHESIS), ")" (RIGHT PARENTHESIS), "|" (VERTICAL LINE), "[" (LEFT SQUARE BRACKET), "]" (RIGHT SQUARE BRACKET) and "^" (CIRCUMFLEX ACCENT) shall not be changed and shall be translated directly. Other meta characters shall be mapped according to tables3 and 4. Table  SEQ Table \* ARABIC 3: Translation of meta characters XSDTTCN-3.?\s[\q{0,0,0,20}\q{0,0,0,10}\t\r] (see note)\S[^\q{0,0,0,20}\q{0,0,0,10}\t\r] (see note)\d\d\D[^\d]\w\w\W[^\w]\i[\w\d:]\I[^\w\d:]\c[\w\d.\-_:]\C[^\w\d.\-_:]NOTE: \q{0,0,0,20} denotes the " " (SPACE) graphical character and \q{0,0,0,10} denotes the line feed (LF) control character. Table  SEQ Table \* ARABIC 4: Translation of quantifiers XSDTTCN-3?#(0,1)+#(1, )*#(0, ){n,m}#(n,m){n}#n{n,}#(n, ) Unicode characters in XSD patterns are directly translated but the syntax changes from &#xgprc; in XSD to \q{g, p, r, c} in TTCN-3, where g, p, r, and c each represent a single character. Escaped characters in XSD shall be mapped to the appropriate character in TTCN-3 (e.g. ".", and "+") or, if this character has a meta-character meaning in TTCN-3 patterns, to an escaped character in TTCN-3. The double quote character must be mapped to a pair of double quote characters in TTCN-3. Character categories and blocks (like \p{Lu} or \p{IsBasicLatin}) are not supported. The mapping shall result in a valid TTCN-3 pattern according to clause B.1.5 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]. EXAMPLE: //Will be mapped to the following TTCN-3 expresion: type XSD.String E6 (pattern "(aUser|anotherUser)@(i|I)nstitute") with { variant "name as uncapitalized" } 6.1.5 Enumeration The facet enumeration constraints the value space of XSD simple types to a specified set of values. A simple type definition that is derived from an XSD string type (directly or indirectly) by restriction using the enumeration facet, shall be mapped to a TTCN-3 enumerated type (see clause 6.2.4 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]), where each XSD enumeration information item is mapped to a TTCN-3 enumeration value of a TTCN-3 enumerated type (see clause 6.2.4 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]), as follows: a) For each member of the XSD enumeration facet, a TTCN-3 enumeration item shall be added to the enumerated type that is an identifier (i.e. without associated integer value), except for members not satisfying a relevant length, minLength, maxLength, pattern facet or a whiteSpace facet with a value of replace or collapse and the member name contain any of the characters HORIZONTAL TABULATION, NEWLINE or CARRIAGE RETURN, or (in the case of collapse) contain leading, trailing, or multiple consecutive SPACE characters. b) Each enumeration identifier shall be generated by applying the rules defined in clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 of the present document to the corresponding value of the enumeration facet. c) The members of the same enumeration facet (children of the sameXSD restriction element) shall be mapped in ascending lexicographical order and any duplicate members shall be discarded. A simple type definition that is derived from the XSD integer type (directly or indirectly) by restriction using the enumeration facet, shall be mapped to a TTCN-3 enumerated type (see clause 6.2.4 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]), where each XSD enumeration information item is mapped a TTCN-3 enumeration value, as specified below. In this case the enumeration names are artificial and the encoded XML component shall contain the integer values, not the TTCN-3 enumeration names. The encoder shall be instructed to do so with the encoding instruction "useNumber". a) For each member of the XSD enumeration facet, a TTCN-3 enumeration item shall be added to the enumerated type that is an enumeration identifier plus the associated integer value shall be added to the enumeration type, except for facet values not satisfying a relevant length, minLength, maxLength, pattern facet or a whiteSpace facet with a value of replace or collapse and the member name contain any of the characters HORIZONTAL TABULATION, NEWLINE or CARRIAGE RETURN, or (in the case of collapse) contain leading, trailing, or multiple consecutive SPACE characters. b) The identifier of each enumeration item shall be generated by concatenating the character string "int" with the canonical lexical representation (see W3C XML Schema Part 2 [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9], clause 2.3.1) of the corresponding member of the value of the enumeration facet. The assigned integer value shall be the TTCN-3 integer value notation for the member. c) The members of the same enumeration facet (children of the sameXSD restriction element) shall be mapped in ascending numerical order and any duplicate members shall be discarded. Any other enumeration facet shall be mapped to value list subtyping, if this is allowed by ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1], that is either a single value or a union of single values corresponding to the members of the enumeration facet. If a corresponding value list subtyping is not allowed by ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1], the enumeration facet shall be ignored. NOTE: The enumeration facet applies to the value space of the base type definition. Therefore, for an enumeration of the XSD built-in datatypes QName, the value of the uri component of the use_qname record (see clause  REF clause_QName \h  \* MERGEFORMAT 6.6.4) is determined, in the XML representation of an XSD Schema, by the namespace declarations whose scope includes the QName, and by the prefix (if any) of the QName. EXAMPLE 1: The following represents a user-defined top-level simple type definition that is a restriction of xsd:string with an enumeration facet: //Is mapped to the TTCN-3 type definition: type enumerated State {off, on_ } with { variant "name as uncapitalized"; variant "text 'on_' as 'on'"; } EXAMPLE 2: The following represents a user-defined top-level simple type definition that is a restriction of xsd:integer with an enumeration facet: //Is mapped to the TTCN-3 type definition: type integer Integer_1_10 (1..10) with { variant "name as uncapitalized" } EXAMPLE 4: The following represents a user-defined top-level simple type definition that is a restriction (with a minExclusive facet) of another simple type definition, derived by restriction from xsd:integer with the addition of a minInclusive and a maxInclusive facet: //Is mapped to the TTCN-3 type definition: type integer Multiple_of_4 (1..4,6..10) with { variant "name as uncapitalized" } EXAMPLE 5: The following represents a user-defined top-level simple type definition that is a restriction (with a minLength and a maxLength facet) of another simple type definition, derived by restriction from xsd:string with the addition of an enumeration facet: xsd:restriction> //Is mapped to the TTCN-3 type definition: type enumerated Color { red } with { variant "name as uncapitalized" } 6.1.6 WhiteSpace The whiteSpace facet has no corresponding feature in TTCN-3 but shall be preserved using the whitespace encoding instruction. EXAMPLE: This can be mapped into a charstring, sending information about the whiteSpace facet to the codec. type XSD.String E8 with { variant "whiteSpace replace"; variant "name as uncapitalized" } For most built-in types the value of the whiteSpace facet shall be set to "collapse" and only for the string types normalizedString (see clause  REF clause_StringTypes_NormalizedString \h  \* MERGEFORMAT 6.2.2), token (see clause  REF clause_StringTypes_NormalizedString \h  \* MERGEFORMAT 6.2.2), language (see clause  REF clause_StringTypes_Language \h  \* MERGEFORMAT 6.2.13), Name (see clause  REF clause_StringTypes_Name \h  \* MERGEFORMAT 6.2.4) and NCName (see clause  REF clause_StringTypes_NCName \h  \* MERGEFORMAT 6.2.6) are allowed to specify this facet. 6.1.7 MinInclusive The minInclusive XSD facet is only applicable to the numerical types (integer, decimal, float, double and their derivatives) and date-time types (duration, dateTime, time, gYearMonth, gYear, gMonthDay, gDay and gMonth). It specifies the lowest bound of the type's value space, including the bound. This facet is mapped to TTCN-3 depending on the base type of the facet's parent restriction element and the value of the facet: if the minInclusive facet is applied to a float or double type (including their derivatives) and its value is one of the special values INF (positive infinity) or NaN (not-a-number), it shall be translated to a list subtyping with the single TTCN-3 value infinity or not_a_number, respectively (independent of the value of a maxInclusive or maxEclusive facet applied to the same type, if any); otherwise, if the minInclusive facet is applied to a numeric type, it shall be translated to an inclusive lower bound of a range restriction in TTCN-3. The upper bound of the base type range shall be: defined by a maxInclusive (see clause  REF clause_Facets_MaxInclusive \h  \* MERGEFORMAT 6.1.8) or a maxEclusive (see clause 6.1.10) facet, which is a child of the same restriction element, if any; or inherited from the base type; in case the base type is one of the XSD built-in types integer, decimal, float, double, nonNegativeInteger or positiveInteger, it shall be set to infinity if not set) (in case of other built-in numerical types the upper bounds of their value spaces are defined in [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9]); for the date-time types the facet shall be ignored. NOTE: Note, that the upper bound of the value space of the XSD float type is 3.4028234663852885981170418348452E38 ((2^24-1)*2^104) and of the XSD double type is 1.8268770466636284449305100043786E47 ((2^531)*2^970). However, TTCN-3 does not place the requirement to support these values by TTCN-3 tools. Therefore, to maintain the portability of the generated TTCN3 code, the upper bound is set to infinity, if no maxInclusive or maxEclusive facet is applied. However, users should respect the values above, otherwise the result of producing encoded XML values in undeterministic. EXAMPLE 1: Mapping of an integer element with a minInclusive facet: //Is mapped to: type XSD.Integer E9a (-5 .. infinity) with { variant "name as uncapitalized" } EXAMPLE 2: Mapping of a float element with a numeric minInclusive value: //Is mapped to: type XSD.Float E9b (-5.0 .. infinity) with { variant "name as uncapitalized"; } EXAMPLE 3: Mapping of a float element with special minInclusive values: //Is mapped to: type XSD.Float E9c (-infinity .. infinity) with { variant "name as uncapitalized"; } //Is mapped to: type XSD.Float E9d ( infinity ) with { variant "name as uncapitalized"; } //Is mapped to: type XSD.Float E9e ( not_a_number ) with { variant "name as uncapitalized"; } 6.1.8 MaxInclusive The maxInclusive facet is only applicable to the numerical types (integer, decimal, float, double and their derivatives) and date-time types (duration, dateTime, time, gYearMonth, gYear, gMonthDay, gDay and gMonth). It specifies the upmost bound of the type's value space, including the bound. This facet is mapped to TTCN3 depending on the base type defined in the facet's parent restriction element and the value of the facet: a) if the maxInclusive facet is applied to a float or double type (including their derivatives) and its value is one of the special values INF (negative infinity) or NaN (not-a-number), it shall be translated to a list subtyping with the single TTCN3 value infinity or not_a_number, respectively (independent of the value of a minInclusive or minEclusive facet applied to the same restriction element, if any); b) otherwise, if the maxInclusive facet is applied to a numeric type, it shall be translated to an inclusive upper bound of a range restriction in TTCN-3. The lower bound of the range shall be: defined by a minInclusive (see clause  REF clause_Facets_MinInclusive \h  \* MERGEFORMAT 6.1.7) or a minEclusive (see clause  REF clause_Facets_MinExclusive \h  \* MERGEFORMAT 6.1.9) facet, which is a child of the same restriction element, if any; or inherited from the base type; in case the base type is one of the XSD built-in types integer, decimal, float, double, nonPositiveInteger or negativeInteger, it shall be set to (-infinity if not set) (in case of other built-in numerical types the lower bounds of their value spaces are given in [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9]); c) for the date-time types the facet shall be ignored. NOTE: Note, that the lower bound of the value space of the XSD float type is 3.4028234663852885981170418348452E38 ((2^24-1)*2^104) and of the XSD double type is 1.8268770466636284449305100043786E47 ((2^531)*2^970). However, TTCN3 does not place the requirement to support these values by TTCN3 tools. Therefore, to maintain the portability of the generated TTCN3 code, the lower bound is set to infinity, if no minInclusive or minEclusive facet is applied. However, users should respect the values above, otherwise the result of producing encoded XML values in undeterministic. EXAMPLE 1: Mapping of elements of type integer with maxInclusive facet: //Is mapped to: type XSD.PositiveInteger E10a (1 .. 100) with { variant "name as uncapitalized" } EXAMPLE 2: Mapping of a float type with a numeric maxInclusive facet: //Is mapped to: type XSD.Float E10b ( -infinity .. -5.0 ) //pls. note that XSD allows an integer-like value notation for float types but TTCN-3 does not! with { variant "name as uncapitalized"; } EXAMPLE 3: Mapping of a float type with specific-value maxInclusive facets: //Is mapped to: type XSD.Float E10c (-infinity .. infinity) with { variant "name as uncapitalized"; } //Is mapped to: type XSD.Float E10d ( not_a_number ) with { variant "name as uncapitalized"; } 6.1.9 MinExclusive The XSD facet minExclusive is similar to minInclusive but the specified bound is not part of the range. It is also applicable to the XSD numerical and date-time types (see clause  REF clause_Facets_MinInclusive \h  \* MERGEFORMAT 6.1.7). This facet is mapped to TTCN3 depending on the base type defined in the facet's parent restriction element and the value of the facet: if the minExclusive facet is applied to a float or double type and its value is one of the special values INF(positive infinity) or NaN (not-a-number), this type shall not be translated to TTCN-3; NOTE 1: If the value of the minExclusive facet is INF or NaN, this result an empty type in XSD, but empty types do not exist in TTCN-3. otherwise, if the minExclusive facet is applied to an integer, float, double or decimal type, it shall be translated to an exclusive lower bound of a range restriction in TTCN-3; the value of the bound shall be the value of the minExclusive facet; in case  REF item_clauseFacets_MinExclusive_integer \h  \* MERGEFORMAT b) the upper bound of the range shall be: defined by a maxInclusive (see clause  REF clause_Facets_MaxInclusive \h  \* MERGEFORMAT 6.1.8) or a maxEclusive (see clause 6.1.10) facet, which is a child of the same restriction element, if any; or inherited from the base type; in case the base type is one of the XSD built-in types integer, decimal, float, double, nonNegativeInteger or positiveInteger, it shall be set to infinity (in case of other built-in numerical types the upper bounds of their value spaces are defined in [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9]); for the date-time types the facet shall be ignored. NOTE 2: Note, that the upper bound of the value space of the XSD float type is 3.4028234663852885981170418348452E38 ((2^24-1)*2^104) and of the XSD double type is 1.8268770466636284449305100043786E47 ((2^531)*2^970). However, TTCN3 does not place the requirement to support these values by TTCN3 tools. Therefore, to maintain the portability of the generated TTCN3 code, the upper bound is set to infinity, if no maxInclusive or maxEclusive facet is applied. However, users should respect the values above, otherwise the result of producing encoded XML values in undeterministic. EXAMPLE 1: Mapping of the minExclusive facet applied to an integer type: //Is mapped to TTCN-3 as: type XSD.Integer E11a (!-5 .. infinity) with { variant "name as uncapitalized" } EXAMPLE 2: Mapping of a float type with minExclusive facet: //Is mapped to TTCN-3 as: type XSD.Float E11b (!-5.0 .. infinity) //pls. note that XSD allows an integer-like value notation for float types but TTCN-3 does not! with { variant "name as uncapitalized" } //Is mapped to TTCN-3 as: type XSD.Float E11c (!-6.0 .. -5.0) with { variant "name as uncapitalized" } // No corresponding TTCN-3 type is produced 6.1.10 MaxExclusive The XSD facet maxExclusive is similar to maxInclusive but the specified bound is not part of the range. It is also applicable to the XSD numerical and date-time types (see clause  REF clause_Facets_MaxInclusive \h  \* MERGEFORMAT 6.1.8). This facet is mapped to TTCN3 depending on the base type defined in the facet's parent restriction element and the value of the facet: if the maxExclusive facet is applied to a float or double type and its value is one of the special values INF (negative infinity) or NaN (not-a-number), this type shall not be translated to TTCN-3; NOTE 1: If the value of the maxExclusive facet is INF or NaN, this result an empty type in XSD, but empty types do not exist in TTCN-3. otherwise, if the maxExclusive facet is applied to an integer, float, double or decimal type, it shall be translated to an exclusive upper bound of a range restriction in TTCN-3; the value of the bound shall be the value of the maxExclusive facet; in case b) the lower bound of the range shall be: defined by a minInclusive (see clause  REF clause_Facets_MinInclusive \h  \* MERGEFORMAT 6.1.7) or a minEclusive (see clause  REF clause_Facets_MinExclusive \h  \* MERGEFORMAT 6.1.9) facet, which is a child of the same restriction element, if any; or inherited from the base type; in case the base type is one of the XSD built-in types integer, decimal, float, double, nonPositiveInteger or negativeInteger, it shall be set to -infinity (in case of other built-in numerical types the lower bounds of their value spaces are given in [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9]); for the date-time types the facet shall be ignored. NOTE 2: Note, that the lower bound of the value space of the XSD float type is 3.4028234663852885981170418348452E38 ((2^24-1)*2^104) and of the XSD double type is 1.8268770466636284449305100043786E47 ((2^531)*2^970). However, TTCN3 does not place the requirement to support these values by TTCN3 tools. Therefore, to maintain the portability of the generated TTCN3 code, the lower bound is set to infinity, if no minInclusive or minEclusive facet is applied. However, users should respect the values above, otherwise the result of producing encoded XML values in undeterministic. EXAMPLE 1: Mapping of a maxExclusive facet applied to a type, which is derivative of integer: // Is mapped in TTCN-3 to: type XSD.PositiveInteger E12a (1 .. !100) with { variant "name as uncapitalized" } EXAMPLE 2: Mapping of a maxExclusive facet applied to the float type: // Is mapped in TTCN-3 to: type XSD.Float E12b (infinity .. ! 5.0) //pls. note that XSD allows an integer-like value notation for float types but TTCN-3 does not! with { variant "name as uncapitalized" } // Is mapped in TTCN-3 to: type XSD.Float E12c (5.0 .. ! 4.0) with { variant "name as uncapitalized" } // No corresponding TTCN-3 type is produced. 6.1.11 Total digits This facet defines the total number of digits a numeric value is allowed to have. It shall be mapped to TTCN-3 using ranges by converting the value of totalDigits to the proper boundaries of the numeric type in question. EXAMPLE: // Is translated to: type XSD.NegativeInteger E13 (-999 .. -1) with { variant "name as uncapitalized" } 6.1.12 Not specifically mapped facets Whenever an XSD facet element is not mapped to a TTCN-3 by one of the preceding clauses, it shall be mapped to a "transparent " encoding instruction containing the name and the value of the XSD facet element. The content of the encoding instruction shall be of the form transparent '' where is the XSD facet elements name and is the content of the value attribute of that facet element. NOTE: Since the pattern and enumeration facets are the only facets which can contain the " character and this is only possible for XSD string based types which will be mapped to value or pattern subtype restrictions (see clauses  REF _Ref313868452 \h  \* MERGEFORMAT 5 and  REF _Ref313868598 \h  \* MERGEFORMAT 6), it is never necessary to quote the " character in any valid pattern value. EXAMPLE: // Is translated to: type XSD.Decimal DecimalWithWhole with { variant "name as uncapitalized"; variant "transparent pattern '[0-9][.][0-9]*'" } // Is translated to: type XSD.Decimal DecimalWith1Fraction with { variant "name as uncapitalized"; variant "transparent fractionDigits '1'" } 6.2 String types XSD string types shall generally be converted to TTCN-3 as subtypes of universal charstring or octetstring as specified in this and in subsequent clauses. For an overview of the allowed facets please refer to table REF table_Facets \h  \* MERGEFORMAT 2. Following clauses specify the mapping of all string types of XSD. To support mapping, the following type definitions are added to the built-in data types (utf8string is declared as a UTF8 encoded subtype of universal charstring in clause D.2.2.0 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]): type utf8string XMLCompatibleString ( char(0,0,0,9).. char(0,0,0,9), char(0,0,0,10)..char(0,0,0,10), char(0,0,0,13)..char(0,0,0,13), char(0,0,0,32)..char(0,0,215,255), char(0,0,224,0)..char(0,0,255,253), char(0,1,0,0)..char(0,16,255,253) ); type utf8string XMLStringWithNoWhitespace ( char(0,0,0,33)..char(0,0,215,255), char(0,0,224,0)..char(0,0,255,253), char(0,1,0,0)..char(0,16,255,253) ); type utf8string XMLStringWithNoCRLFHT ( char(0,0,0,32)..char(0,0,215,255), char(0,0,224,0)..char(0,0,255,253), char(0,1,0,0)..char(0,16,255,253) ); 6.2.1 String The string type shall be translated to TTCN-3 as an XML compatible restriction of the universal charstring: type XSD.XMLCompatibleString String with { variant "XSD:string" } 6.2.2 Normalized string The normalizedString type shall be translated to TTCN-3 using the following XML compatible restricted subtype of the universal charstring: type XSD.XMLStringWithNoCRLFHT NormalizedString with { variant "XSD:normalizedString" } 6.2.3 Token The token type shall be translated to TTCN-3 using the built-in data type NormalizedString: type XSD.NormalizedString Token with { variant "XSD:token" } 6.2.4 Name The Name type shall be translated to TTCN-3 using the following XML compatible restricted subtype of the universal charstring: type XSD.XMLStringWithNoWhitespace Name with { variant "XSD:Name" } 6.2.5 NMTOKEN The NMTOKEN type shall be translated to TTCN-3 using the following XML compatible restricted subtype of the universal charstring: type XSD.XMLStringWithNoWhitespace NMTOKEN with { variant "XSD:NMTOKEN" } 6.2.6 NCName The NCName type shall be translated to TTCN-3 using the built-in data type Name: type XSD.Name NCName with { variant "XSD:NCName" } 6.2.7 ID The ID type shall be translated to TTCN-3 using the built-in data type NCName: type XSD.NCName ID with { variant "XSD:ID" } 6.2.8 IDREF The IDREF type shall be translated to TTCN-3 using the built-in data type NCName: type XSD.NCName IDREF with { variant "XSD:IDREF" } 6.2.9 ENTITY The ENTITY type shall be translated to TTCN-3 using the built-in data type NCName: type XSD.NCName ENTITY with { variant "XSD:ENTITY" }; 6.2.10 Hexadecimal binary The hexBinary type shall be translated to TTCN-3 using a plain octetstring: type octetstring HexBinary with { variant "XSD:hexBinary" } No pattern shall be specified for hexBinary types. 6.2.11 Base 64 binary The XSD base64Binary type shall be translated to an octetstring in TTCN-3. When encoding elements of this type, the XML codec will invoke automatically an appropriate base64 encoder; when decoding XML instance content, the base64 decoder will be called. The base64Binary type shall be mapped to the TTCN-3 type: type octetstring Base64Binary with { variant "XSD:base64Binary" } EXAMPLE: //Is translated as: type XSD.Base64Binary E14; // and the template: template E14 MyBase64BinaryTemplate := '546974616E52756C6573'O // Is encoded as: VGl0YW5SdWxlcw==\r\n 6.2.12 Any URI The anyURI type shall be translated to TTCN-3 as an XML compatible restricted subtype of the universal charstring: type XSD.XMLStringWithNoCRLFHT AnyURI with { variant "XSD:anyURI" } 6.2.13 Language The language type shall be translated to the TTCN-3 type: type charstring Language (pattern "[a-zA-Z]#(1,8)(-\w#(1,8))#(0,)") with { variant "XSD:language" } 6.2.14 NOTATION The XSD NOTATION type shall not be translated to TTCN-3. 6.3 Integer types XSD integer types shall generally be converted to TTCN-3 as subtypes of integer-based types. For an overview of the allowed facets please refer to table REF table_Facets \h  \* MERGEFORMAT 2. The following clauses specify the mapping of all integer types of XSD. 6.3.1 Integer The integer type is not range-restricted in XSD and shall be translated to TTCN-3 as a plain integer: type integer Integer with { variant "XSD:integer" } 6.3.2 Positive integer The positiveInteger type shall be translated to TTCN-3 as the range-restricted integer: type integer PositiveInteger (1 .. infinity) with { variant "XSD:positiveInteger"}; 6.3.3 Non-positive integer The nonPositiveInteger type shall be translated to TTCN-3 as the range-restricted integer: type integer NonPositiveInteger (-infinity .. 0) with { variant "XSD:nonPositiveInteger" } 6.3.4 Negative integer The negativeInteger type shall be translated to TTCN-3 as the range-restricted integer: type integer NegativeInteger (-infinity .. -1) with { variant "XSD:negativeInteger" }; 6.3.5 Non-negative integer The nonNegativeInteger type shall be translated to TTCN-3 as the range-restricted integer: type integer NonNegativeInteger (0 .. infinity) with { variant "XSD:nonNegativeInteger" } 6.3.6 Long The long type is 64bit based in XSD and shall be translated to TTCN-3 as a plain longlong as defined in clause D.2.1.3 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]: type longlong Long with { variant "XSD:long" } 6.3.7 Unsigned long The unsignedLong type is 64bit based in XSD and shall be translated to TTCN-3 as a plain unsignedlonglong as defined in clause D.2.1.3 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]: type unsignedlonglong UnsignedLong with { variant "XSD:unsignedLong" } 6.3.8 Int The int type is 32bit based in XSD and shall be translated to TTCN-3 as a plain long as defined in clause D.2.1.2 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]): type long Int with { variant "XSD:int" } 6.3.9 Unsigned int The unsignedInt type is 32bit based in XSD and shall be translated to TTCN-3 as a plain unsignedlong as defined in clause D.2.1.2 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]: type unsignedlong UnsignedInt with { variant "XSD:unsignedInt" } 6.3.10 Short The short type is 16bit based in XSD and shall be translated to TTCN-3 as a plain short as defined in clauseD.2.1.1 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]: type short Short with { variant "XSD:short" } 6.3.11 Unsigned Short The unsignedShort type is 16bit based in XSD and shall be translated to TTCN-3 as a plain unsignedshort as defined in clause D.2.1.1 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]: type unsignedshort UnsignedShort with { variant "XSD:unsignedShort" } 6.3.12 Byte The byte type is 8bit based in XSD and shall be translated to TTCN-3 as a plain byte as defined in clause D.2.1.0 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]: type byte Byte with { variant "XSD:byte" } 6.3.13 Unsigned byte The unsignedByte type is 8bit based in XSD and shall be translated to TTCN-3 as a plain unsignedbyte as defined in clause D.2.1.0 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]: type unsignedbyte UnsignedByte with { variant "XSD:unsignedByte" } 6.4 Float types XSD float types are generally converted to TTCN-3 as subtypes of float. For an overview of the allowed facets refer to table REF table_Facets \h  \* MERGEFORMAT 2 in clause  REF clause_MappingOfFacets \h  \* MERGEFORMAT 6.1. Following clauses specify the mapping of all float types of XSD. 6.4.1 Decimal The decimal type shall be translated to TTCN-3 as a plain float: type float Decimal (!-infinity .. !infinity) with { variant "XSD:decimal" } 6.4.2 Float The float type shall be translated to TTCN-3 as an IEEE754float as defined in clause D.2.1.4 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]: type IEEE754float Float with { variant "XSD:float"}; 6.4.3 Double The double type shall be translated to TTCN-3 as an IEEE754double as defined in clause D.2.1.4 of ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1]: type IEEE754double Double with { variant "XSD:double" } 6.5 Time types XSD time types shall generally be converted to TTCN-3 as pattern restricted subtypes of charstring. For an overview of the allowed facets refer to table REF table_Facets \h  \* MERGEFORMAT 2. Details on the mapping of all time types of XSD are given in the following. For the definition of XSD time types, the supplementary definitions below are used. These definitions are part of the module XSD (see annex  REF clause_Annex_XSD \h  \* MERGEFORMAT A). As a consequence, in case of both implicit and explicit mappings, it shall be possible to use their identifiers in other (user defined) modules but also, it shall be possible to reference these definitions by using their qualified names (e.g. XSD.year). const charstring dash := "-", cln := ":", year := "(0(0(0[1-9]|[1-9][0-9])|[1-9][0-9][0-9])|[1-9][0-9][0-9][0-9])", yearExpansion := "(-([1-9][0-9]#(0,))#(,1))#(,1)", month := "(0[1-9]|1[0-2])", dayOfMonth := "(0[1-9]|[12][0-9]|3[01])", hour := "([01][0-9]|2[0-3])", minute := "([0-5][0-9])", second := "([0-5][0-9])", sFraction := "(.[0-9]#(1,))#(,1)", endOfDayExt := "24:00:00(.0#(1,))#(,1)", nums := "[0-9]#(1,)", ZorTimeZoneExt := "(Z|[\+\-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))#(,1)", durTime := "(T[0-9]#(1,)"& "(H([0-9]#(1,)(M([0-9]#(1,)(S|.[0-9]#(1,)S))#(,1)|.[0-9]#(1,)S|S))#(,1)|" & "M([0-9]#(1,)(S|.[0-9]#(1,)S)|.[0-9]#(1,)M)#(,1)|"& "S|"& ".[0-9]#(1,)S))" NOTE 1: The patterns below implement the syntactical restrictions of ISO 8601 [REF REF_ISO8601 \* MERGEFORMAT i.2] and XSD (e.g. year 0000, month00 or 13, day 00 or 32 are disallowed) but the semantical restrictions of XSD (e.g. 2001-02-29 is a non existing date as 2001 is not a leap year) are not imposed. NOTE 2: The patterns in the subsequent clauses, i.e. the text between the double quotes, need to be one continuous string without whitespace when being used in a TTCN-3 code. The lines below are cut for pure editorial reasons, to fit the text to the standard page size of the present document. 6.5.1 Duration The duration type shall be translated to TTCN-3 using the following pattern-restricted charstring: type charstring Duration (pattern .."{dash}#(,1)P({nums}(Y({nums}(M({nums}D{durTime}#(,1)|{durTime}#(,1))|D{durTime}#(,1))|" & "{durTime}#(,1))|M({nums}D{durTime}#(,1)|{durTime}#(,1))|D{durTime}#(,1))|{durTime})" ) with { variant "XSD:duration" } 6.5.2 Date and time The dateTime type shall be translated to TTCN-3 using the following pattern-restricted charstring: type charstring DateTime (pattern .."{yearExpansion}{year}{dash}{month}{dash}{dayOfMonth}T({hour}{cln}{minute}{cln}{second}" & "{sFraction}|{endOfDayExt}){ZorTimeZoneExt}" ) with { variant "XSD:dateTime" } 6.5.3 Time The time type shall be translated to TTCN-3 using the following pattern-restricted charstring: type charstring Time (pattern .."({hour}{cln}{minute}{cln}{second}{sFraction}|{endOfDayExt}){ZorTimeZoneExt}" ) with { variant "XSD:time" } 6.5.4 Date The date type shall be translated to TTCN-3 using the following pattern-restricted charstring: type charstring Date (pattern .."{yearExpansion}{year}{dash}{month}{dash}{dayOfMonth}{ZorTimeZoneExt}" ) with { variant "XSD:date" } 6.5.5 Gregorian year and month The gYearMonth type shall be translated to TTCN-3 using the following pattern-restricted charstring: type charstring GYearMonth (pattern .."{yearExpansion}{year}{dash}{month}{ZorTimeZoneExt}" ) with { variant "XSD:gYearMonth" } 6.5.6 Gregorian year The gYear type shall be translated to TTCN-3 using the following pattern-restricted charstring: type charstring GYear (pattern "{yearExpansion}{year}{ZorTimeZoneExt}" ) with { variant "XSD:gYear" } 6.5.7 Gregorian month and day The gMonthDay type shall be translated to TTCN-3 using the following pattern-restricted charstring: type charstring GMonthDay (pattern "{dash}{dash}{month}{dash}{dayOfMonth}{ZorTimeZoneExt}" ) with { variant "XSD:gMonthDay" } 6.5.8 Gregorian day The gDay type shall be translated to TTCN-3 using the following pattern-restricted charstring: type charstring GDay (pattern "{dash}{dash}{dash}{dayOfMonth}{ZorTimeZoneExt}" ) with { variant "XSD:gDay" } 6.5.9 Gregorian month The gMonth type shall be translated to TTCN-3 using the following pattern-restricted charstring: type charstring GMonth (pattern "{dash}{dash}{month}{ZorTimeZoneExt}" ) with { variant "XSD:gMonth" } 6.6 Sequence types XSD sequence types shall generally be converted to TTCN-3 as a record of their respective base types. For an overview of the allowed facets refer to table REF table_Facets \h  \* MERGEFORMAT 2. Following clauses specify the mapping of all sequence types of XSD. 6.6.1 NMTOKENS The XSD NMTOKENS type shall be mapped to TTCN-3 using a record of construct of type NMTOKEN: type record of XSD.NMTOKEN NMTOKENS with { variant "XSD:NMTOKENS" } 6.6.2 IDREFS The XSD IDREFS type shall be mapped to TTCN-3 using a record of construct of type IDREF: type record of IDREF IDREFS with { variant "XSD:IDREFS" }; 6.6.3 ENTITIES The XSD ENTITIES type shall be mapped to TTCN-3 using a record of construct of type ENTITY: type record of ENTITY ENTITIES with { variant "XSD:ENTITIES" } 6.6.4 QName The XSD QName type shall be translated to the TTCN-3 type QName as given below: type record QName { AnyURI uri optional, NCName name } with { variant "XSD:QName" } When encoding an element of type QName (or derived from QName), if the encoder detects the presence of an URI and this is different from the target namespace, the following encoding shall result (the assumed target namespace is HYPERLINK "http://www.example.org/"http://www.example.org/). EXAMPLE: type record E14a { QName name, integer refId } template E14a t_E14a:= { name:={ uri:=" HYPERLINK "http://www.organization.org/" http://www.organization.org/", name:="someName" }, refId:=10 } ns:someName 10 6.7 Boolean type The XSD boolean type shall be mapped to the TTCN-3 boolean type: type boolean Boolean with { variant "XSD:boolean" } During translation of XSD boolean values it is necessary to handle all four encodings that XSD allows for Booleans ("true", "false", "0", and "1"); This shall be realized by using the "text" encoding instruction: type XSD.Boolean MyBooleanType with { variant "text 'true' as '1'"; variant "text 'false' as '0'" } 6.8 AnyType and anySimpleType types The XSD anySimpleType can be considered as the base type of all primitive data types, while the XSD anyType is the base type of all complex definitions and the anySimpleType. The anySimpleType shall be translated as an XML compatible restricted subtype of the universal charstring. EXAMPLE: type XSD.XMLCompatibleString AnySimpleType with { variant "XSD:anySimpleType" } //while anyType is translated into XML content opaque to the codec: type record AnyType { record length (1 .. infinity) of XSD.String attr optional, record of XSD.String elem_list } with { variant "XSD:anyType"; variant(attr) "anyAttributes"; variant(elem_list) "anyElement"; } See also clause  REF clause_AnyanyAnyattribute \h  \* MERGEFORMAT 7.7. 7 Mapping XSD components After mapping the basic layer of XML Schema (i.e. the built-in types) a mapping of the structures shall follow. Every structure that may appear, globally or not, shall have a corresponding mapping to TTCN-3. 7.1 Attributes of XSD component declarations Tables REF table_Attributes_of_XSD_components \h \* MERGEFORMAT 5 and  REF table_Attributes_of_XSD_components2 \h \* MERGEFORMAT 6 contain an overview about the the use of XSD Mappings of the attributes are described in the corresponding clauses. Tables REF table_Attributes_of_XSD_components \h \* MERGEFORMAT 5 and REF table_Attributes_of_XSD_components2 \h \* MERGEFORMAT 6 show which attributes shall be evaluated when converting to TTCN-3, depending on the XSD component to be translated. Table  SEQ Table \* ARABIC 5: Attributes of XSD component declaration #1 components attributes elementattributesimple typecomplex typesimple contentcomplex contentgroupwildcardHYPERLINK \l "clause_Attributes_Id"id((((((( HYPERLINK \l "clause_Attributes_final" final((( HYPERLINK \l "clause_Attributes_name" name((((( HYPERLINK \l "clause_Attributes_minOccursMaxOccurs" maxOccurs( (see note 1)( HYPERLINK \l "clause_Attributes_minOccursMaxOccurs" minOccurs( (see note 1)( HYPERLINK \l "clause_Attributes_Ref" ref((( HYPERLINK \l "clause_Attributes_abstract" abstract(( HYPERLINK \l "clause_Attributes_block" block(( HYPERLINK \l "clause_Attributes_DefaultAndFixed" default(( HYPERLINK \l "clause_Attributes_DefaultAndFixed" fixed(( HYPERLINK \l "clause_Attributes_Form" form(( HYPERLINK \l "clause_Attributes_type" type(( HYPERLINK \l "clause_Attributes_mixed" mixed(( HYPERLINK \l "clause_Attributes_nillable" nillable( HYPERLINK \l "clause_Attributes_use" use( HYPERLINK \l "clause_Attributes_substitutionGroup" substitutionGroup( (see note 2) HYPERLINK \l "clause_Attributes_processContents" processContents(NOTE 1: Can be used in locally defined components only. NOTE 2: Can be used in globally defined components only. Table  SEQ Table \* ARABIC 6: Attributes of XSD component declaration #2 components attributesallchoice sequence attribute Group annotationrestriction list unionextension HYPERLINK \l "clause_Attributes_Id" id((((((((( HYPERLINK \l "clause_Attributes_name" name( HYPERLINK \l "clause_Attributes_minOccursMaxOccurs" maxOccurs((( HYPERLINK \l "clause_Attributes_minOccursMaxOccurs" minOccurs((( HYPERLINK \l "clause_Attributes_Ref" ref( It is also necessary to consider default values for attributes coming from the original definitions of the XSD components (e.g. minOccurs is set to 1 for element components by default) when translating. 7.1.1 Id The attribute id enables a unique identification of an XSD component. They shall be mapped to TTCN-3 as simple type references, e.g. any component mapping to a type with name typeName and an attribute id="ID" shall result in an additional TTCN-3 type declaration: type ID; 7.1.2 Ref The ref attribute may reference an id or a schema component in XSD. The ref attribute is not translated on its own but the local element, attribute, attributeGroup or group references is mapped as specified in the appropriate clauses of the present document. 7.1.3 Name The XSD attribute name holds the specified name for an XSD component. A component without this attribute shall either be defined anonymously or given by a reference (see clause  REF clause_Attributes_Ref \h  \* MERGEFORMAT 7.1.2). Names shall directly be mapped to TTCN-3 identifiers; please refer to clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 on constraints and properties of this conversion. 7.1.4 MinOccurs and maxOccurs The minOccurs and maxOccurs XSD attributes provide the number of times an XSD component can appear in a context. In case of mapping locally defined XSD elements, choice and sequence compositors, this clause is invoked by clauses  REF clause_ElementComponent \h  \* MERGEFORMAT 7.3,  REF clause_ComplexContent_Choice \h  \* MERGEFORMAT 7.6.5 and  REF clause_ComplexContent_Sequence_minMaxOcc \h  \* MERGEFORMAT 7.6.6.6 respectively. In case of the all compositor, mapping of the minOccurs and maxOccurs attributes are specified in clause  REF clause_ComplexContent_All \h  \* MERGEFORMAT 7.6.4. The minOccurs and maxOccurs attributes of an XSD component shall be mapped together as follows: In the general case, when both the minOccurs and maxOccurs attribute equal to "1" (either explicitly or by defaulting to "1"), they shall be ignored, i.e. are not mapped to TTCN-3. If the parent of the component being translated is a sequence or all, the minOccurs attribute equals to "0" and the maxOccurs attribute equals to "1" (either explicitly or by defaulting to "1"), the TTCN-3 field resulted by mapping the respective XSD component shall be set to optional. In all other cases, the type of the related TTCN-3 type or field shall be set to record of, where the replicated inner type is the TTCN-3 type that would be the type of the field in the general case above. The initial name of the field shall be postfixed with "_list", the encoding instruction "untagged" shall be attached to the outer record of and, finally, if no "untagged" encoding instruction is attached to the inner TTCN-3 type being iterated, a "name as ''" encoding instruction shall be attached to the inner type, where is the name resulted from applying clause REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the name of the XSD component being translated. The record of shall be: if the parent of the component being translated is a choice, the minOccurs attribute equals to "0" and the maxOccurs attribute equals to "1" (either explicitly or by defaulting to "1") and: if the component being translated is the first direct child of the choice with minOccurs="0", restricted to the length range from 0 to 1; if the component being translated is not the first direct child of the choice with minOccurs="0", restricted to the fixed length 1; if the parent of the component is a sequence or all,minOccurs equals to "0" and maxOccurs equals to "unbounded", the record of shall be unrestricted; if the parent of the component is a choice, the minOccurs attribute equals to "0" and the maxOccurs attribute is more than "1", and: if the component being translated is the first direct child of the choice with minOccurs="0", it shall be restricted to the length range from 0 to the upper bound corresponding to the value of the maxOccurs attribute (where maxOccurs="unbounded" shall be translated to the upper bound infinity); if the component being translated is not the first child of the choice with minOccurs="0", it shall be restricted to the length range from 1 to the upper bound corresponding to the value of the maxOccurs attribute (where maxOccurs="unbounded" shall be translated to the upper bound infinity); if the minOccurs attribute does not equal to "0" and the maxOccurs attribute is more than "1", the record of shall be restricted to the length range corresponding to the values of the minOccurs and maxOccurs attributes (where maxOccurs="unbounded" shall be translated to the upper bound infinity). NOTE 1: The effect of the "name as " encoding instruction is, that each repetition of the given element in an encoded XML document will be tagged with the specified name. Thus, in this case the instruction has effect on the elements of the TTCN-3 record of field and not on the field itself. NOTE 2: Please note, that TTCN-3 constructs corresponding to anonymous XSD types always have the "untagged" encoding instruction attached before this clause is invoked. Table  SEQ Table \* ARABIC 7: Summary of mapping the minOccurs and maxOccurs attributes minOccursmaxOccursinTTCN-3mappingTTCN-3 constructpreserved field name postfix00 all other cases then below01 or not presentoptional1 or not present1 or not present0unboundedrecord of _list (( 0 ( 1record length (..) of _list ( 1 or not presentunboundedrecord length (..infinity) of note: if minOccurs is not present equals to 1_list01 or not presentchild of XSD choice, the first alternative with minOccurs="0"record length (0..1) of _list0unboundedrecord of _list01 or not present child of XSD choice, not the first alternative with minOccurs="0"record length (1) of _list0unboundedrecord length (1..infinity)of _list EXAMPLE 1: Mapping of an optional element: // Is translated to an optional field as: type record E15a { XSD.Integer foo optional, XSD.Float bar } with { variant "name as uncapitalized" } EXAMPLE 2: Mapping of elements allowing multiple recurrences: // Is translated to TTCN-3 as: type record E15b { record of XSD.Integer foo_list, XSD.Float bar } with { variant "name as uncapitalized"; variant(foo_list) "untagged" variant(foo_list[-]) "name as 'foo'" } // Is translated to TTCN-3 as: type record E15c { record length(5..10) of XSD.Integer foo_list, XSD.Float bar } with { variant "name as uncapitalized "; variant(foo_list) "untagged" variant(foo_list[-]) "name as 'foo'" } EXAMPLE 3: Mapping of a group reference: // Is translated to TTCN-3 as: type record FoobarGroup { XSD.String foo, XSD.String bar } with { variant "untagged" //pls. note, no "name as..." instruction is attached to the type due to the presence //of the untagged instruction } type record E15d { FoobarGroup foobarGroup optional } with { variant "name as uncapitalized" } EXAMPLE 4: Mixed case, both elements and a group reference are present: // Is translated to TTCN-3 as: type record E15f { record of XSD.String comment_list, record length (5..10) of FoobarGroup foobarGroup_list } with { variant "name as uncapitalized "; variant(comment_list) "untagged"; variant(comment_list[-]) "name as 'comment'" variant(foobarGroup_list) "untagged" //pls. note, no "name as..." instruction is attached to foobarGroup[-] due to the //presence of the "untagged" instruction attached to the FoobarGroup type. } EXAMPLE 5: Resolving a name clash: The Schema //is translated to the TTCN-3 module: module http_www_example_org_name_clash_element_attribute { import from XSD all; type record of XSD.String Start_list with { variant "name as uncapitalized"; variant "list" } type record Start { Start_list start_list optional, record length(0 .. 10) of XSD.Integer start_list_1 //the composed name of the record of field would clashes with the name of the field //added for the XSD attribute, this is resolved by postfixing it according to $5.2.2 } with { variant "name as uncapitalized"; variant (start_list) "attribute"; variant (start_list_1) "untagged"; variant (start_list_1[-]) "name as 'start'"; }; } with { encode "XML"; variant "namespace as 'www.example.org/name_clash_element-attribute' prefix 'ns'"; variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'"; } EXAMPLE 6: Mapping of childs of choice components: // Are translated to TTCN-3 as: type record ChoiceChildMinMax { union { record length(1 .. 5) of XSD.String elem0_list, // child of choice with minOccurs different from 0 record length(0 .. 1) of XSD.String elem1_list, // first child of choice with minOccurs 0; // this alternative is to be used create an empty choice element record length(1) of XSD.String elem2_list, // second child of choice with minOccurs 0 record length(1 .. infinity) of XSD.String elem3_list // third child of choice with minOccurs 0 } choice } with { variant "element"; variant (choice) "untagged"; variant (choice.elem0_list) "untagged"; variant (choice.elem0_list[-]) "name as 'elem0'"; variant (choice.elem1_list) "untagged"; variant (choice.elem1_list[-]) "name as 'elem1'"; variant (choice.elem2_list) "untagged"; variant (choice.elem2_list[-]) "name as 'elem2'"; variant (choice.elem3_list) "untagged"; variant (choice.elem3_list[-]) "name as 'elem3'"; }; /* added only to enable showing all cases in one XML instance */ type record MinOccurs_maxOccurs_frame { record of union { ChoiceChildMinMax choiceChildMinMax } choice_list } with { variant "name as uncapitalized"; variant "element"; variant (choice_list) "untagged"; variant (choice_list[-]) "untagged"; variant (choice_list[-].choiceChildMinMax) "name as capitalized"; }; // and the TTCN-3 template: template MinOccurs_maxOccurs_frame t_MinOccurs_maxOccurs_inChoice := { choice_list := { // instances of the element elem0 { choiceChildMinMax := { choice := { elem0_list := {"e01", "e02" }}}}, // an instance of the element elem1 { choiceChildMinMax := { choice := { elem1_list := { "e1" }}}}, // an instance of the element elem2 { choiceChildMinMax := { choice := { elem2_list := { "e2" }}}}, // instances of the element elem3 { choiceChildMinMax := { choice := { elem3_list := { "e31", "e32", "e33" }}}}, // an empty choice element { choiceChildMinMax := { choice := { elem1_list := {}}}} } } e01e02 e1 e2 e31e32e33 <this:ChoiceChildMinMax/> </this:minOccurs_maxOccurs_frame> 7.1.5 Default and Fixed The XSD default attribute assigns a default value to a component in cases where it is missing in the XML data. The XSD fixed attribute gives a xed constant value to a component according to the given type, so in some XML data the value of the component may be omitted. The XSD fixed attribute can also be applied to XSD facets, preventing a derivation of that type from modifying the value of the fixed facets. As default has no equivalent in TTCN-3 space, it shall be mapped to a "defaultForEmpty " encoding instruction. The fixed attribute applied to attribute or element elements shall be mapped to a subtype definition with the single allowed value identical to the value of the fixed attribute plus a "defaultForEmpty " encoding instruction identifying the value of the fixed attribute as well. The fixed attribute applied to XSD facets shall be ignored. EXAMPLE: // Is be translated to: type XSD.String ElementDefault with { variant "element"; variant "defaultForEmpty as 'defaultValue'"; variant "name as uncapitalized"; } type XSD.String ElementFixed ("fixedValue") with { variant "element"; variant "defaultForEmpty as 'fixedValue'"; variant "name as uncapitalized" } 7.1.6 Form The XSD form attribute controls if an attribute or element tag shall be encoded in XML by using a qualified or unqualified name. The values of the form attributes shall be preserved in the "form as" encoding instructions as specified below: If the value of the form attribute is qualified and the attributeFormQualified encoding instruction is attached to the TTCN3 module the given XSD declaration contributes to, or the value of the form attribute is unqualified and no attributeFormQualified encoding instruction is assigned to the corresponding TTCN3 module, the form attribute shall be ignored. If the value of a form attribute of an XSD attribute declaration is qualified and no attributeFormQualified encoding instruction is attached to the target TTCN3 module, or the value of a form attribute of an element declaration is qualified and no elementFormQualified encoding instruction is attached to the target TTCN-3 module, a "form as qualified" encoding instruction shall be attached to the TTCN3 field resulted from mapping the given XSD attribute or element declaration. If the value of a form attribute of an XSD attribute declaration is unqualified and the attributeFormQualified encoding instruction is attached to the target TTCN3 module, or the value of a form attribute of an element declaration is unqualified and the elementFormQualified encoding instruction is attached to the target TTCN3 module, a "form as unqualified" encoding instruction shall be attached to the TTCN3 field resulted from mapping the given XSD attribute or element declaration. NOTE: An XSD declaration may contribute to more than one TTCN-3 module (see clause  REF clause_Namespaces \h  \* MERGEFORMAT 5.1), therefore in case of a given XSD declaration item a) and b) or c) above may apply at the same time. Table  REF table_Attributes_Form \h  \* MERGEFORMAT 8 summarizes the mapping of the attributeFormDefault, elementFormDefault (see also clause  REF clause_Namespaces \h  \* MERGEFORMAT 5.1) and form XSD attributes. Table  SEQ Table \* ARABIC 8: Summary of mapping of the form XSD attribute "namespace as" encoding instruction attached to the target attributeFormQualified and/or elementFormQualified encoding instructions attached to the target TTCN-3 moduleTTCN-3 moduleabsentpresentattributeFormDefault and/or elementFormDefault in the ancestor schema elementany value or absentform attributeany value or absentabsent"form as" absentN/A (see note)unqualified or absentform attributeabsentpresent"form as" absent"form as unqualified"unqualifiedpresent"form as" absent"form as unqualified"qualifiedpresent"form as qualified""form as" absentqualifiedform attributeabsentpresentN/A (see note)"form as" absentunqualifiedpresentN/A (see note)"form as unqualified"qualifiedpresentN/A (see note)"form as" absentNOTE: Excluded by the mapping of attributeFormDefault and elementFormDefault in clause  REF clause_Namespaces \h  \* MERGEFORMAT 5.1. 7.1.7 Type The XSD type attribute holds the type information of the XSD component. The value is a reference to the global definition of simpleType, complexType or built-in type. If type is not given, the component must define either an anonymous (inner) type, or contain a reference attribute (see clause  REF clause_Attributes_Ref \h  \* MERGEFORMAT 7.1.2), or use the XSD ur-type definition. 7.1.8 Mixed The mixed content attribute allows inserting text between the elements of XSD complex type or element definitions. Its translation is defined in clause  REF clause_ComplexTypes_MixedContent \h  \* MERGEFORMAT 7.6.8. 7.1.9 Abstract The abstract XSD attribute can be used in global element XSD element information items and complexType XSD element information items. When its value is set to "true" in a global element XSD definition, the given element shall not be used in instances of the given XML Schema but is forced to be substituted with a member element of the substitution group of which the abstract element is the head of (if there is no substitutable elements in the Schema, the element cannot be used in instance documents). When its value is set to "true" in a global complexType XSD definition, XSD elements referencing this type in their type attribute are forced to be instantiated by using an another type definition, which is derived from the abstract type (the actual type used at instantiation shall be indicated by the xsi:type XML attribute in the instance of the given element). See more details on mapping of substitutions in clause  REF clause_Substitution \h  \* MERGEFORMAT 8. The abstract XSD attribute shall be translated to TTCN-3 by adding the "abstract" encoding instruction to the generated TTCN3 type definition corresponding to the XSD element or complexType information items with the abstract attribute value "true". If the value of the abstract attribute information item is set to "false" directly or indirectly (i.e. by defaulting to "false"), the abstract XSD attribute shall be ignored. See example in clause  REF clause_Substitution_Elements_Head \h  \* MERGEFORMAT 8.1.1. 7.1.10 Block and blockDefault The XSD block and blockDefault attribute information items control the allowed element and type substitutions at the instance level; blockDefault can be used in XSD schema elements, and has effect on all element and type child of the schema. This default value can be overridden by a block attribute applied to a given element or complexType element information item directly. This will result produce the effective block value for the given element or complexType. See also clauses 3.3.2 and 3.4.2 of XML Schema Part 1 [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9]. The effective block value shall be translated together with substitution. If a TTCN-3 code allowing element substitutions is generated (see clause  REF clause_Substitution \h  \* MERGEFORMAT 8), the effective block value of head elements shall be translated together with the head element of the substitution group according to clause  REF clause_Substitution_Elements_Head \h  \* MERGEFORMAT 8.1.1. If a TTCN-3 code allowing type substitutions is generated (see clause  REF clause_Substitution \h  \* MERGEFORMAT 8), the effective block value of substitutable parent types shall be translated together with the substitutable parent types according to clause  REF clause_Substitution_Types \h  \* MERGEFORMAT 8.2. The blockDefault and block attributes shall be ignored in all other cases. 7.1.11 Nillable If the nillable attribute of an element declaration is set to "true", then an element may also be valid if it carries the namespace qualified attribute with (local) name nil from the namespace "http://www.w3.org/2001/XMLSchemainstance" and the value "true" (instead of a value of its type). A nillable XSD element shall be mapped to a TTCN-3 record type (in case of global elements) or field (in case of local elements), with the name resulted by applying clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the name of the corresponding element. The record type or field shall contain one optional field with the name "content" and its type shall be the TTCN3 type of the element if the value of the nillable attribute would be "false". The record type or field shall be appended with the "useNil" encoding instruction. EXAMPLE 1: Mapping of nillable elements: //Are translated to TTCN-3 as: type record RemarkNillable { XSD.String content optional } with { variant "name as uncapitalized"; variant "element"; variant "useNil" } type record E16c { XSD.Integer foo, record { XSD.String content optional } bar } with { variant "name as uncapitalized"; variant(bar) "useNil" } // Which allows e.g. the following encoding: template E16a t_E16a := { foo:=3, bar:= { content := omit } } 3 EXAMPLE 2: Joint use of the nillable, minOccurs and maxOccurs attributes: //Is translated to TTCN-3 as: type record SeqNillable { record { record { XSD.String content optional } forename, record { XSD.String content optional } surname optional, record of record { XSD.String content optional } bornPlace_list, record { XSD.String content optional } remarkNillable } content optional } with { variant "element"; variant "useNil"; variant(content.bornPlace_list) "name as'bornPlace'"; variant(content.forename, content.surname, content.bornPlace_list, content.remarkNillable) "useNil" } 7.1.12 Use XSD local attribute declarations and references may contain also the special attribute use. The use attribute species the presence of the attribute in an XML value. The values of this attribute are: optional, prohibited and required with the default value optional. If the use attribute is missing or its value is optional in an XSD attribute declaration, the TTCN3 field resulted by the mapping of the corresponding attribute shall be optional. If the value of the use attribute is required, the TTCN-3 field corresponding to the XSD attribute shall be mandatory (i.e. without optional). XSD attributes with the value of the use attribute prohibited shall not be translated to TTCN3 (for an example see clause  REF clause_ComplexTypes_DerivedByRestriction \h  \* MERGEFORMAT 7.6.2.2). EXAMPLE: Mapping of the use attribute: //is translated to TTCN-3 as: type record E17a { XSD.String barLocal1 optional, XSD.String barLocal2 optional, XSD.Float fooLocal, } with { variant "name as uncapitalized "; variant(barLocal1, barLocal2, fooLocal) "attribute" } 7.1.13 Substitution group The XSD substitutionGroup attribute can be used in global XSD element information items. Its value is the name of the head element of a substitutionGroup and thus the XSD element definition containing the substitutionGroup attribute becomes a member of that substitution group. The substitutionGroup attribute information item shall be ignored when the element is translated to TTCN-3. NOTE: See more details on mapping XSD substitutions in clause  REF clause_Substitution \h  \* MERGEFORMAT 8. 7.1.14 Final The final XSD attribute information item constrains the creation of derived types and types of substitution group members (see more details on mapping of substitutions in clause  REF clause_Substitution \h  \* MERGEFORMAT 8). The final XSD attribute information item(s) shall produce no TTCN-3 language construct when translating an XML Schema to TTCN-3. NOTE: As specified in clause  REF clause_MappinfSchemasGeneral \h  \* MERGEFORMAT 5, the XML Schema is validated before the actual translation process can be started. Therefore the restrictions imposed by any final attribute(s) will be enforced during schema validation and no need to reflect it in the generated TTCN3 code. 7.1.15 Process contents The processContents XSD attribute information item controls the validation level of the content of instances corresponding to XSD any and anyAttribute information items (see clause  REF clause_AnyanyAnyattribute \h  \* MERGEFORMAT 7.7). Its allowed values are "strict", "lax" and "skip". This attribute shall be translated by attaching a "processContents " encoding instruction replicating the value of the XSD attribute to the TTCN-3 component generated for the XSD element with the processContents XSD attribute. If the value of the processContents XSD attribute is "strict", and no XSD schema is present with a target namespace allowed by the namespace attribute of the XSD any or anyAttribute element being translated, or the schema does not contain an XSD element or attribute declaration respectively, this shall cause an error. 7.2 Schema component The schema element information items are not directly translated to TTCN-3 but the content(s) of schema element information item(s) with the same target namespace (including absence of the target namespace) are mapped to definitions of a target TTCN-3 module. See more details in clause  REF clause_Namespaces \h  \* MERGEFORMAT 5.1. 7.3 Element component An XSD element component denes a new XML element. Elements may be global (as a child of either schema or redene), in which case they are obliged to contain a name attribute or may be dened locally (as a child of all, choice or sequence) using a name or ref attribute. Globally defined XSD elements shall be mapped to TTCN-3 type definitions. In the general case, when the nillable attribute of the element is "false" (either explicitly or by defaulting to "false"), the type of the TTCN-3 type definition shall be one of the following: In case of XSD datatypes, and simple types defined locally as child of the element, the type of the XSD element mapped to TTCN-3. In case of XSD user-defined types referenced by the type attribute of the element, the TTCN-3 type generated for the referenced XSD type. In case the child of the element is a locally defined complexType, it shall be a TTCN-3 record. If none of the above cases apply and the element has the substitutionGroup attribute, it shall be the type of the head element of the substitution group. Otherwise it shall be the type XSD.AnyType (see clauses 6.8 and B.3.1). NOTE: In the last case the element's type defaults to the ur-type definition in XSD, see clause 3.3.2 of [REF REF_WORLDWIDEWEBCONSORTIUMW3CRECOMMENDAT \* MERGEFORMAT 8]. The name of the TTCN-3 type definition shall be the result of applying clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the name of the XSD element. When nillable attribute is "true", the procedures in clause  REF clause_Attributes_nillable \h  \* MERGEFORMAT 7.1.11 shall be invoked. The encoding instruction "element" shall be appended to the TTCN-3 type definition resulted by mapping of a global XSD element. EXAMPLE 1: Mapping of a globally dened element: <element name="e16a" type="typename"/> // is translated to: type typename E16a with { variant "element"; ariant "name as uncapitalized " } Locally defined elements shall be mapped to fields of the enframing type or structured type field. In the general case, when both the minOccurs and maxOccurs attribute equal to "1" (either explicitly or by defaulting to "1") and the nillable attribute of the element is "false" (either explicitly or by defaulting to "false"), the type of the field shall be the type resulted by mapping the type of the XSD element as specified for global elements in this clause above and the name of the field shall be the result of applying clause REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the name of the XSD element. When a local element is defined by reference (the ref attribute is used) and the target namespace of the XSD Schema in which the referenced element is defined differs from the target namespace of the referencing XSD Schema (including the no target namespace case), the TTCN-3 field generated for this element reference shall be appended with a "namespace as" encoding instruction (see clause B.3.1), which shall identify the namespace and optionally the prefix of the XSD schema in which the referenced entity is defined. When either the minOccurs or the maxOccurs attributes or both differ from "1", the procedures in clause  REF clause_Attributes_minOccursMaxOccurs \h  \* MERGEFORMAT 7.1.4 shall be invoked. When the nillable attribute is "true", the procedures in clause  REF clause_Attributes_nillable \h  \* MERGEFORMAT 7.1.11 shall be invoked. EXAMPLE 2: Mapping of locally dened elements, general case (see further examples in clauses  REF clause_Attributes_minOccursMaxOccurs \h  \* MERGEFORMAT 7.1.4 and  REF clause_Attributes_nillable \h  \* MERGEFORMAT 7.1.11): <complexType name="e16b"> <sequence> <element name="foo" type="integer"/> //Is translated into: type record E16b { XSD.Integer foo, XSD.String bar } with { variant "name as uncapitalized" } 7.4 Attribute and attribute group definitions 7.4.1 Attribute element definitions Attribute elements dene valid qualifiers for XML data and are used when defining complex types. Just like XSD elements, attributes can be dened globally (as a child of schema or redene) and then be referenced from other denitions or dened locally (as a child of complexType, restriction, extension or attributeGroup) without the possibility of being used outside of their context. Global attributes shall be mapped to TTCN-3 type definitions. In the general case, the type of the TTCN-3 type definition shall be one of the following: In case of XSD datatypes, and simple types defined locally as child of the attribute element, the type of the XSD attribute mapped to TTCN-3. In case that a XSD user-defined type is referenced by the type attribute of the XSD attribute element, the TTCN3 type generated for the referenced XSD type. Otherwise it shall be the type XSD.AnySimpleType (see clause 6.8 and B.3.1). NOTE: In the last case the element's type defaults to the simple ur-type definition in XSD, see clause 3.2.2 of [REF REF_WORLDWIDEWEBCONSORTIUMW3CRECOMMENDAT \* MERGEFORMAT 8]. The name of the TTCN-3 type definition shall be the result of applying clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the name of the XSD attribute element. The generated TTCN3 type definition shall be appended with the "attribute" TTCN-3 encoding instruction. EXAMPLE: Mapping of a globally dened attribute: <attribute name="e17" type="typename"/> // is mapped to: type typename E17 with { variant "attribute"; variant "name as uncapitalized " } For the mapping of locally defined attributes please refer to clause  REF clause_ComplexType_AttributeGroups \h  \* MERGEFORMAT 7.6.7. 7.4.2 Attribute group definitions An XSD attributeGroup denes a group of attributes that can be included together into other denitions by referencing the attributeGroup. As children attribute elements of attributeGroup definitions are directly mapped to the TTCN-3 record types corresponding to the complexType referencing the attributeGroup, attributeGroup-s are not mapped to TTCN-3. See also clauses  REF clause_ComplexType_SimpleContent \h  \* MERGEFORMAT 7.6.1 and  REF clause_ComplexType_AttributeGroups \h  \* MERGEFORMAT 7.6.7. 7.5 SimpleType components XSD simple types may be dened globally (as child of schema and using a mandatory name attribute) or locally (as a child of element, attribute, restriction, list or union) in a named or anonymous fashion. The simpleType components are used to dene new simple types by three means: Restricting a built-in type (with the exception of anyType, anySimpleType) by applying a facet to it. Building lists. Building unions of other simple types. These means are quite different in their translation to TTCN-3 and are explained in the following clauses. For the translation of attributes for simple types please refer to the general mappings defined in clause  REF clause_AttributesOfXSDCompDeclarations \h  \* MERGEFORMAT 7.1. Please note that an XSD simpleType is not allowed to contain elements or attributes, redefinition of these is done by using XSD complexType-s (see clause  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6). 7.5.1 Derivation by restriction For information about restricting built-in types, please refer to clause  REF clause_BuiltInDataTypes \h  \* MERGEFORMAT 6 which contains an extensive description on the translation of restricted simpleType using facets to TTCN-3. It is also possible in XSD to restrict an anonymous simple type. The translation follows the mapping for built-in data types, but instead of using the base attribute to identify the type to apply the facet to, the base attribute type shall be omitted and the type of the inner, anonymous simpleType shall be used. EXAMPLE: Consider the following example restricting an anonymous simpleType using a pattern facet (the bold part marks the inner simpleType): // This will generate a mapping for the inner type and a restriction thereof: type XSD.String E18 (pattern "(aUser|anotherUser)@(i|I)nstitute") with { variant "name as uncapitalized " } 7.5.2 Derivation by list XSD list components shall be mapped to the TTCN-3 record of type. In their simplest form lists shall be mapped by directly using the listItem attribute as the resulting type. EXAMPLE 1: // Will translate to type record of XSD.Float E19 with { variant "list"; variant "name as uncapitalized" } When using any of the supported XSD facets (length, maxLength, minLength) the translation shall follow the mapping for built-in list types, with the difference that the base type shall be determined by an anonymous inner list item type. EXAMPLE 2: Consider this example: // Will map to: type record length(3) of XSD.Float E20 with { variant "list"; variant "name as uncapitalized" } //For instance the template: template E20 t_E20:={ 1.0, 2.0, 3.0 } // will be encoded as: 1.0 2.0 3.0 The other XSD facets shall be mapped accordingly (refer to respective  REF clause_MappingOfFacets \h  \* MERGEFORMAT 6.1 clauses). If no itemType is given, the mapping has to be implemented using the given inner type (see clause  REF clause_SimpleTypeComp_DerivByUnion \h  \* MERGEFORMAT 7.5.3). 7.5.3 Derivation by union An XSD union is considered as a set of mutually exclusive alternative types for a simpleType. As this is compatible with the union type of TTCN-3, a simpleType derived by union in XSD shall be mapped to a union type definition in TTCN-3. The generated TTCN-3 union type shall contain one alternative for each member type of the XSD union, preserving the textual order of the member types in the initial XSD union type. The field names of the TTCN-3 union type shall be the result of applying clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to either to the unqualified name of the member type (in case of builtin XSD data types and user defined named types) or to the string "alt" (in case of unnamed member types). NOTE 1: XSD requires (see XML Schema Part 2: Datatypes [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9], clause 2.5.1.3) that an element or attribute value of an instance is validated against the member types in the order in which they appear in the XSD definition until a match is found (considering any xsi:type attribute present, see also clause  REF clause_EncInstr_useType \h  \* MERGEFORMAT B.3.24). A TTCN-3 tool has to use this strategy as well, when decoding an XSD union value. The encoding instruction "useUnion" shall be applied to the generated union type and, in addition, the "name as ''" ("name as followed by a pair of single quote followed by a double quote) encoding instruction shall be applied to each field generated for an unnamed member type. NOTE 2: Please note, that alt and the names of several built-in XSD data types are TTCN-3 keywords, hence according to the naming rules these field identifiers will be postfixed with a single underscore character. EXAMPLE 1: Mapping of named simple type definitions derived by union: // Results in the following mapping: module http_www_example_org_union { import from XSD all; type E21memberlist E21namedElement with { variant "name as uncapitalized"; variant "element"; } type union E21memberlist { XSD.String string, XSD.Integer integer_, XSD.Boolean boolean_ } with { variant "name as uncapitalized"; variant "useUnion"; variant (integer_) "name as 'integer'"; variant (boolean_) "name as 'boolean'" } } with { encode "XML"; variant "namespace as 'www.example.org/union'"; variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'"; } // For instance, the below structure: template E21namedElement t_UnionNamedInt := { integer_ := 1 } // will result in the following encoding: 1 EXAMPLE 2: Mapping of unnamed simple type definitions derived by union: // Results in the following mapping: module http_www_example_org_union { import from XSD all; // Please compare with the previous example type E21unnamed E21unnamedElement with { variant "name as uncapitalized"; variant "element"; }; type union E21unnamed { XSD.String alt_, XSD.Float alt_1, XSD.Integer alt_2 } with { variant "name as uncapitalized"; variant "useUnion" variant(alt_, alt_1, alt_2) "name as ''" } } with { encode "XML"; variant "namespace as 'www.example.org/union'"; variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'"; } // For instance, the below structure: template E21unnamed t_UnionUnnamedInt := { alt_2 := 1 } // will result in the following encoding: 1 EXAMPLE 3: Mixed use of named and unnamed types: //Will be mapped to the TTCN-3 type definition: type union Time_or_int_or_boolean_or_dateRestricted { XSD.Time time, XSD.Integer integer_, XSD.Boolean boolean_, XSD.Date alt_ } with { variant "useUnion"; variant(alt_) "name as ''" } The only supported facet is enumeration, allowing mixing enumerations of different kinds. EXAMPLE 4: Mapping member type with an enumeration facet: //Will be translated to TTCN-3 as: type union MaxOccurs { XSD.NonNegativeInteger nonNegativeInteger, enumerated {unbounded} alt_ } with { variant "name as uncapitalized"; variant "element"; variant "useUnion"; variant(alt_) "name as ''" } EXAMPLE 5: Mapping member types with enumeration facets applied to different member types: // will be translated to: type E21unnamed E22 ({alt_1:=20.0},{alt_1:=50.0},{alt_:="small"}) with { variant "name as uncapitalized" } 7.6 ComplexType components The XSD complexType is used for creating new types that contain elements and attributes. XSD complexTypes may be dened globally as child of schema or redefine(in which case the name XSD attribute is mandatory), or locally in an anonymous fashion (as a child of element, without the name XSD attribute). Globally defined XSD complexTypes shall be translated to a TTCN-3 record type. This record type shall enframe the fields resulted by mapping the content (the children) of the XSD complexType as specified in the next clauses. The name of the TTCN-3 record type shall be the result of applying clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the XSD name attribute of the complexType definition. Locally defined anonymous complexTypes shall be ignored. In this case the record type generated for the parent element of the complexType (see clause  REF clause_ElementComponent \h  \* MERGEFORMAT 7.3), shall enframe the fields resulted by mapping the content (the children) of the XSD complexType. NOTE: The mapping rules in subsequent clauses may be influenced by the attributes applied to the component, if any. See more details in clause  REF clause_AttributesOfXSDCompDeclarations \h  \* MERGEFORMAT 7.1, especially in clause  REF clause_Attributes_minOccursMaxOccurs \h  \* MERGEFORMAT 7.1.4. 7.6.1 ComplexType containing simple content An XSD simpleContent component may extend or restrict an XSD simple type, being the base type of the simpleContent and expands the base type with attributes, but not elements. 7.6.1.1 Extending simple content When extending XSD simpleContent, further XSD attributes may be added to the original type. The base type of the extended simpleContent and the additional XSD attributes shall be mapped to fields of the TTCN3 record type, generated for the enclosing XSD complexType (see clause  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6). At first, attribute elements and attribute groups shall be translated according to clause  REF clause_ComplexType_AttributeGroups \h  \* MERGEFORMAT 7.6.7, and added to the enframing TTCN-3 record (see clause  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6). Next, the extended type shall be mapped to TTCN-3 and added as a field of the enframing record. The field name of the latter shall be "base" and the variant attribute "untagged" shall be attached to it. EXAMPLE: The example below extends a built-in type by adding an attribute: // Will be mapped as: type record E23 { XSD.Integer bar optional, XSD.Float foo optional, XSD.String base } with { variant "name as uncapitalized"; variant(base) "untagged"; variant(bar, foo) "attribute" } // and the template template E23 t_E23 := { bar := 1, foo := 2.0, base := "something" } // shall be encoded as: something 7.6.1.2 Restricting simple content An XSD simpleContent may restrict its base type or attributes of the base type by applying more restrictive facets than those of the base type (if any). Such XSD simpleContent shall be mapped to fields of the enframing TTCN-3 record (see clause  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6). At first, the fields corresponding to the local attribute definitions, attribute and attributeGroup references shall be generated according to clause  REF clause_ComplexType_AttributeGroups \h  \* MERGEFORMAT 7.6.7, followed by the field generated for the base type. The field name of the latter shall be "base". The restrictions of the given simpleContent shall be applied to the "base" field directly (i.e. the base type shall not be referenced but translated to a new type definition in TTCN-3). Other base types shall be dealt with accordingly, see clause  REF clause_BuiltInDataTypes \h  \* MERGEFORMAT 6. EXAMPLE: Example for restriction of a base type: //Is translated to: type record E24 { XSD.Integer bar optional, XSD.Float foo optional, XSD.String base length(4) } with { variant(base) "untagged"; variant(bar, foo) "attribute"; variant "name as uncapitalized" } // and the template template E24 t_E24 := { bar := 1, foo := 2.0, base := "some" } // shall be encoded as: some 7.6.2 ComplexType containing complex content In contrast to simpleContent, complexContent is allowed to have elements. It is possible to extend a base type with by adding attributes or elements, it is also possible to restrict a base type to certain elements or attributes. 7.6.2.1 Complex content derived by extension By using the XSD extension for a complexContent it is possible to derive new complex types from a base (complex) type by adding attributes, elements or groups (group, attributeGroup). The compositor of the base type may be sequence or choice (i.e. complex types with the compositor all shall not be extended). This shall be translated to TTCN-3 as follows (the generated TTCN-3 constructs shall be added to the enframing TTCN-3 record, see clause  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6, in the order of the items below): At first, attributes and attribute and attribute group references of the base type and the extending type shall be translated according to clause  REF clause_ComplexType_AttributeGroups \h  \* MERGEFORMAT 7.6.7 and the resulted fields added to the enframing TTCN-3 record directly (i.e.without nesting). The choice or sequence content model of the base (extended) complexType shall be mapped to TTCN-3 according to clauses  REF clause_ComplexContent_Choice \h  \* MERGEFORMAT 7.6.5 or  REF clause_ComplexContent_Sequence \h  \* MERGEFORMAT 7.6.6 respectively, and the resulted TTCN-3 constructs shall be added to the enframing record. The extending choice or sequence content model of the extending complexContent shall be mapped to TTCN3 according to clauses  REF clause_ComplexContent_Choice \h  \* MERGEFORMAT 7.6.5 or  REF clause_ComplexContent_Sequence \h  \* MERGEFORMAT 7.6.6 respectively, and the resulted TTCN-3 constructs shall be added to the enframing record. EXAMPLE 1: Both the base and the extending types have the compositor sequence: // This is translated to the TTCN-3 structure: type record E26seq { // fields corresponding to attributes of the base and the extending type // (in alphabetical order) XSD.String birthDateAttrGroup optional, XSD.String birthPlaceAttrGroup optional, XSD.Integer genderAttrBase optional, XSD.String jobPositionAttrGroup optional, XSD.String unitOfAge optional, // followed by fields corresponding to elements of the base type XSD.String titleElemBase, XSD.String forenameElemBase, XSD.String surnameElemBase, // finally fields corresponding to the extending element and group reference XSD.Integer ageElemExt, G25seq g25seq } with { variant "name as uncapitalized "; variant (birthDateAttrGroup, birthPlaceAttrGroup, genderAttrBase, jobPositionAttrGroup, unitOfAge) "attribute"; }; // where type record G25seq { XSD.String familyStatusElemInGroup, XSD.String spouseElemInGroup optional } with { variant "untagged" } EXAMPLE 2: Both the base and the extending types have the compositor sequence and multiple occurrences are allowed: //The extending types are translated to TTCN-3 as: type record E26seqRecurrence { // fields corresponding to attributes of the base and the extending type // (in alphabetical order) XSD.Integer genderAttrBase optional, XSD.String jobPositionAttrGroup optional, XSD.String unitOfAge optional, // followed by a "simple" field list corresponding to elements of the base type XSD.String titleElemBase, XSD.String forenameElemBase, XSD.String surnameElemBase, // the extending sequence is recurring (see clause 7.6.6.6 for the mapping) record of record { G25seq g25seq XSD.Integer ageElemExt, } sequence_list } with { variant "name as uncapitalized"; variant(sequence_list) "untagged"; variant (genderAttrBase, jobPositionAttrGroup, unitOfAge) "attribute" } type record E26seqDoubleRecurrence { // fields corresponding to attributes of the base and the extending type // (in alphabetical order) XSD.Integer genderAttrBase optional, XSD.String jobPositionAttrGroup optional, XSD.String unitOfAge optional, // followed by a record of record field containing the fields corresponding to elements of // the base type; the base type is a recurring sequence (see clause //  REF clause_ComplexContent_Sequence_minMaxOcc \h  \* MERGEFORMAT 7.6.6.6 for the // mapping) record of record { XSD.String titleElemBase, XSD.String forenameElemBase, XSD.String surnameElemBase } sequence_list, // the extending sequence is recurring too(see clause //  REF clause_ComplexContent_Sequence_minMaxOcc \h  \* MERGEFORMAT 7.6.6.6 for the // mapping) record of record { G25seq g25seq XSD.Integer ageElemExt, } sequence_list_1 } with { variant "name as uncapitalized"; variant(sequence_list, sequence_list_1) "untagged"; variant (genderAttrBase, jobPositionAttrGroup, unitOfAge) "attribute" } EXAMPLE 3: Both the base and the extending types have the compositor choice: //Are translated to TTCN-3 as: type record E26cho { XSD.String genderAttrBase optional, XSD.String unitAttrExt optional, union { XSD.String titleElemBase, XSD.String forenameElemBase, XSD.String surnameElemBase } choice, union { XSD.Integer ageElemExt XSD.Date birthdayElemExt } choice_1 } with { variant "name as uncapitalized"; variant(genderAttrBase, unitAttrExt) "attribute"; variant(choice, choice_1) "untagged" } EXAMPLE 4: Extension of a sequence base type by a choice model group: // is translated to TTCN-3 as: type record E27cho { XSD.Integer genderAttrBase optional, XSD.String jobPositionAttrGroup optional, XSD.String unitAttrExt optional, XSD.String titleElemBase, XSD.String forenameElemBase, XSD.String surnameElemBase, union { XSD.Integer ageElemExt, XSD.Date birthdayElemExt } choice } with { variant "name as uncapitalized"; variant(genderAttrBase, jobPositionAttrGroup, unitAttrExt) "attribute"; variant(choice) "untagged" } EXAMPLE 5: Extending of a base type with choice model group by a sequence model group: // Is translated to TTCN-3 as: type record E27seq { XSD.String genderAttrBase optional, XSD.String unitAttrExt optional, union { XSD.String ElemBase, XSD.String forenameElemBase, XSD.String surnameElemBase } choice, XSD.Integer ageElemExt } with { variant "name as uncapitalized"; variant(genderAttrBase, unitAttrExt) "attribute"; variant(choice) "untagged"; } EXAMPLE 6: Recursive extension of an anonymous inner type is realized using the TTCN-3 dot notation (starts from the name of the outmost type): // Is translated to the TTCN-3 structure type record X { XSD.String x, record { XSD.String x, X.y y optional, XSD.String z } y optional } 7.6.2.2 Complex content derived by restriction The restriction uses a base complex type and restricts one or more of its components. All components present in the restricted type shall be mapped to TTCN-3, applying the restrictions, and the resulted fields shall be added to the enframing TTCN-3 record (see clause  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6). Thus neither the base type nor its components are referenced from the restricted type. EXAMPLE 1: Restricting anyType: in the example below anyType (any possible type) is used as the base type and it is restricted to only two elements: // Is translated to: type record E28 { XSD.NonPositiveInteger size, XSD.NMTOKEN unit } with { variant "name as uncapitalized" } EXAMPLE 2: Restricting a user defined complex type (the effect of the use attribute is described in clause REF clause_Attributes_use \h  \* MERGEFORMAT 7.1.12): //is translated to TTCN-3 as: type XSD.String Comment with { variant "name as uncapitalized"; variant "element" } /* base type */ type record PurchaseOrderType { XSD.Date orderDate optional, XSD.Date shipDate optional, XSD.String shipTo, XSD.String billTo, Comment comment optional, Items items } with { variant (orderDate, shipDate) "attribute" } /* restricting type */ type record RestrictedPurchaseOrderType { XSD.Date orderDate, //note that this field become mandatory //note that the field shipDate is not added XSD.String shipTo, XSD.String billTo, Comment comment, //note that this field become mandatory Items items } with { variant (orderDate) "attribute" } 7.6.3 Referencing group components Referenced model group components shall be translated as follows: when group reference is a child of complexType, the compositor of the referenced group definition is sequence and both the minOccurs and maxOccurs attributes of the group reference equal to "1" (either explicitly or by defaulting to "1"), it shall be translated as if the child elements of the referenced group definition were was present in the complexType definition directly; when the referenced group has the compositor all, it has to be translated is the content of the referenced group definition was present directly, i.e. according to clause  REF clause_ComplexContent_All \h  \* MERGEFORMAT 7.6.4; in all other cases the referenced group component shall be translated to a field of the enclosing record of type (generated for the parent complexType, sequence or choice element) referencing the TTCN-3 type generated for the referenced group definition, considering also the attributes of the referenced group component according to clause  REF clause_AttributesOfXSDCompDeclarations \h  \* MERGEFORMAT 7.1. NOTE: Please. note, as the "untagged" attribute is applied to the TTCN-3 type generated for the referenced model group, the name of the field corresponding to the group reference will never appear in an encoded XML value. When a referenced group is defined in an XSD Schema with a target namespace, different from the target namespace of the referencing XSD schema (including the no target namespace case), all TTCN-3 fields generated for this group reference shall be appended with a "namespace as" encoding instruction (see clause B.3.1), which shall identify the namespace and optionally the prefix of the XSD schema in which the referenced entity is defined. EXAMPLE 1: Mapping of a group reference, child of complexType, compositor : //Is translated to TTCN-3 as: type record LonelySeqGroup { XSD.String shipTo, XSD.String billTo } //Is translated to TTCN-3 as: type record LonelySeqGroupOptional { ShipAndBill shipAndBill optional } //Is translated to TTCN-3 as: type record LonelySeqGroupRecurrence { record of ShipAndBill shipAndBill_list } with { variant (shipAndBill_list) "untagged"; } EXAMPLE 2: Mapping of a group reference, child of complexType, compositor : //Is translated to TTCN-3 as: type record LonelyAllGroup { record of enumerated { shipTo, billTo } order, XSD.String shipTo, XSD.String billTo } with { variant "useOrder" } //Is translated to TTCN-3 as: type record LonelyAllGroupOptional { record of enumerated { shipTo, billTo } order, XSD.String shipTo optional, XSD.String billTo optional } with { variant "useOrder" } EXAMPLE 3: Mapping of a group reference, child of complexType, compositor : //Is translated to TTCN-3 as: type record LonelyChoGroup { ShipOrBill shipOrBill } //Is translated to TTCN-3 as: type record LonelyChoGroup { ShipOrBill shipOrBill optional } choice group reference //Is translated to TTCN-3 as: type record LonelyChoGroup { record of ShipOrBill shipOrBill_list } with { variant (shipAndBill_list) "untagged"; } EXAMPLE 4: Mapping of group references, children of or : //Is translated to TTCN-3 as: type record SeqGroupInSequence { ShipAndBill shipAndBill, XSD.String comment optional, XSD.String items } sequence group ref. //Is translated to TTCN-3 as: SeqGroupAndElementsAndAttributeInChoice ::= SEQUENCE { XSD.Date orderDate optional, union { /* sequence group ref.*/ ShipAndBill shipAndBill, record length (0..1) of XSD.String comment_list, XSD.String items } choice } with { variant (orderDate) "attribute"; variant (choice) "untagged"; variant (choice.comment_list) "untagged"; variant (choice.comment_list[-]) "name as comment" } 7.6.4 All content An XSD all compositor defines a collection of elements, which can appear in any order in an XML value. In the general case, when the values of both the minOccurs and maxOccurs attributes of the all compositor equal "1" (either explicitly or by defaulting to "1"), it shall be translated to TTCN-3 by adding the fields resulted by mapping the XSD elements to the enframing TTCN-3 record (see clause  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6). By setting the minOccurs XSD attribute of the all compositor to 0, all elements of the all content model are becoming optional. In this case all record fields corresponding to the elements of the all model group shall be set to optional too. In addition, to these fields, an extra first field named "order" shall be inserted into the enframing record. The type of this extra field shall be record of enumerated, where the names of the enumeration values shall be the names of the fields resulted by mapping the elements of the all structure. Finally, a "useOrder" variant attribute shall be attached to the enframing record. The order field shall precede the fields resulted by the translation of the attributes and attribute and attributeGroup references of the given complexType but shall follow the embed_values field, if any, generated for the mixed="true" attribute value (see also clause  REF clause_ComplexTypes_MixedContent \h  \* MERGEFORMAT 7.6.8). NOTE: When encoding, the presence and order of elements in the encoded XML instance will be controlled by the order field. This is indicated by the "useOrder" encoding instruction. When decoding, the presence and order of elements in the XML instance will control the value of the order field that appears in the decoded structure. See more details in annex B. This mapping is required by the alignment to ITU-T Recommendation X.694 [REF REF_ITU_TX694 \* MERGEFORMAT 4]. EXAMPLE 1: XSD all content model with mandatory elements: // Is mapped to the following TTCN-3 structure: type record E29a { record of enumerated {foo,bar,ding} order, XSD.Integer foo, XSD.Float bar, XSD.String ding } with { variant "name as uncapitalized "; variant "useOrder" } EXAMPLE 2: XSD all content model with each element being optional: // Is mapped to the following TTCN-3 structure: type record E29b { record of enumerated {foo,bar,ding} order, XSD.Integer foo optional, XSD.Float bar optional, XSD.String ding optional } with { variant "name as uncapitalized "; variant "useOrder" } EXAMPLE 3: XSD all content model, with selected optional elements: // Is mapped to the following TTCN-3 structure: type record E29c { record of enumerated {foo,bar,ding} order, XSD.Integer foo, XSD.Float bar optional, XSD.String ding } with { variant "name as uncapitalized "; variant "useOrder" } EXAMPLE 4: XSD complex type with attributes and all content model: //Is translated to TTCN-3 as: type record E29aAndAttributes { record of enumerated { foo, bar, ding } order, XSD.Token attrInGroup1 optional, XSD.Token attrInGroup2 optional, XSD.Integer attrLocal optional, XSD.Token attrGlobal optional, XSD.Integer foo, XSD.Float bar, XSD.String ding } with { variant "name as uncapitalized"; variant "useOrder"; variant(attrInGroup1, attrInGroup2, attrLocal, attrGlobal) "attribute" } 7.6.5 Choice content An XSD choice content defines a collection of mutually exclusive alternatives. In the general case, when both the minOccurs and maxOccurs attribute equal to "1" (either explicitly or by defaulting to"1"), it shall be mapped to a TTCN-3 union field with the field name "choice" and the encoding instruction "untagged" shall be attached to this field. If the value of the minOccurs or the maxOccurs attributes or both differ from "1", the following rules shall apply: The union field shall be generated as above (including attaching the "untagged" encoding instruction). The procedures in clause  REF clause_Attributes_minOccursMaxOccurs \h  \* MERGEFORMAT 7.1.4 shall be called for the union field. NOTE: As the result of applying clause  REF clause_Attributes_minOccursMaxOccurs \h  \* MERGEFORMAT 7.1.4, the type of the field may be changed to record of union and in parallel the name of the field may be changed to "choice_list". Finally, clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 shall be applied to the name of the resulted field and subsequently the field shall be added to the enframing TTCN-3 record type (see clause  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6) or record or union field corresponding to the parent of the mapped choice compositor. The content for a choice component may be any combination of element, group, choice, sequence or any. The following clauses discuss the mapping for various contents nested in a choice component. 7.6.5.1 Choice with nested elements Nested elements shall be mapped as fields of the enframing TTCN-3 union or record of union field (seeclause REF clause_ComplexContent_Choice \h  \* MERGEFORMAT 7.6.5) according to clause 7.3. EXAMPLE: // Will be translated to: type record E30 { union { XSD.Integer foo, XSD.Float bar } choice } with { variant "name as uncapitalized"; variant(choice) "untagged" } 7.6.5.2 Choice with nested group Nested group components shall be mapped along with other content as a field of the enframing TTCN-3 union or record of union field (see clause  REF clause_ComplexContent_Choice \h  \* MERGEFORMAT 7.6.5). The type of this field shall refer to the TTCN-3 type generated for the corresponding group and the name of the field shall be the name of the TTCN-3 type with the first character uncapitalized. EXAMPLE: The following example shows this with a sequence group and an element: //Is translated to TTCN3 as: type record E31 { XSD.String foo, XSD.String bar } with { variant "name as uncapitalized " } type record E32 { union { E31 e31, XSD.String ding } choice } with { variant "name as uncapitalized "; variant(choice) "untagged" } 7.6.5.3 Choice with nested choice An XSD choice nested to a choice shall be translated according to clause  REF clause_ComplexContent_Choice \h  \* MERGEFORMAT 7.6.5: EXAMPLE: // Is mapped to TTCN-3 as: type record E33 { union { union { XSD.String foo, XSD.String bar } choice, XSD.String ding } choice } with { variant "name as uncapitalized"; variant(choice, choice.choice) "untagged" } 7.6.5.4 Choice with nested sequence An XSD sequence nested to a choice shall be mapped to a TTCN-3 record field of the enframing TTCN-3 union or record of union field (see clause  REF clause_ComplexContent_Choice \h  \* MERGEFORMAT 7.6.5), according to clause  REF clause_ComplexContent_Sequence \h  \* MERGEFORMAT 7.6.6. EXAMPLE 1: Single sequence nested to choice: // Is translated to: type record E34a { union { record { XSD.String foo, XSD.String bar } sequence, XSD.String ding } choice } with { variant "name as uncapitalized "; variant(choice, choice.sequence) "untagged" } EXAMPLE 2: Multiple sequence-s nested to choice: // Is translated to: type record E34b { union { record { record { XSD.String foo, XSD.String bar } sequence, XSD.String ding, XSD.String foo, XSD.String bar } sequence, XSD.String ding } choice } with { variant "name as uncapitalized "; variant(choice, choice.sequence, choice.sequence.sequence) "untagged" } 7.6.5.5 Choice with nested any An XSD any element nested to a choice shall be translated according to clause  REF clause_AnyanyAnyattribute \h  \* MERGEFORMAT 7.7. EXAMPLE: // Is translated to: type record E35 { union { XSD.String foo, XSD.String elem } choice } with { variant "name as uncapitalized"; variant(choice) "untagged" variant(choice.elem) "anyElement from 'other' " } 7.6.6 Sequence content An XSD sequence defines an ordered collection of components and its content may be of any combination of XSD elements, group references, choice, sequence or any. Clauses  REF clause_ComplexContent_Sequence_elements \h  \* MERGEFORMAT 7.6.6.1 to  REF clause_ComplexContent_Sequence_any \h  \* MERGEFORMAT 7.6.6.5 discuss the mapping for various contents nested in an XSD sequence component in the general case, when both the minOccurs and maxOccurs attribute equal to "1" (either explicitly or by defaulting to "1"). Clause  REF clause_ComplexContent_Sequence_minMaxOcc \h  \* MERGEFORMAT 7.6.6.6 describes the mapping when either the minOccurs or the maxOccurs attribute of the sequence compositor or both do not equal to "1". 7.6.6.1 Sequence with nested element content In the general case, child elements of a sequence, which is a child of a complexType, shall be mapped to TTCN-3 as fields of the enframing record (see clause  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6) (i.e. the sequence itself is not producing any TTCN-3 construct). EXAMPLE: Mapping a mandatory sequence content: // Is mapped to type record E36a { XSD.Integer foo, XSD.Float bar } with { variant "name as uncapitalized" } 7.6.6.2 Sequence with nested group content In the general case, nested group reference components shall be mapped to a field of the enframing record type (seeclause  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6) or field. The type of the field shall be the TTCN3 type generated for the referenced group and the name of the field shall be the result of applying clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the name of the referenced group. EXAMPLE: The following example shows this translation with a choice group and an element: // Is translated to: type union E37 { XSD.String foo, XSD.String bar } with { variant "name as uncapitalized"; variant "untagged" } type record E38 { E37 e37, XSD.String ding } with { variant "name as uncapitalized" } 7.6.6.3 Sequence with nested choice content An XSD choice nested to a sequence shall be mapped as a field of the enframing record (see clauses  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6,  REF clause_ComplexContent_Choice_sequence \h  \* MERGEFORMAT 7.6.5.4 and  REF clause_ComplexContent_Sequence_Sequence \h  \* MERGEFORMAT 7.6.6.4), according to clause  REF clause_ComplexContent_Choice \h  \* MERGEFORMAT 7.6.5 (i.e. the sequence itself is not producing any TTCN-3 construct). EXAMPLE: // Is translated to: type record E39 { union { XSD.String foo, XSD.String bar } choice, XSD.String ding } with { variant "name as uncapitalized"; variant(choice) "untagged" } 7.6.6.4 Sequence with nested sequence content In the general case, a sequence nested in a sequence shall be translated to TTCN-3 according to clause  REF clause_ComplexContent_Sequence \h  \* MERGEFORMAT 7.6.6 and the resulted constructs shall be added to the enframing record type or field (see also clauses  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6 and  REF clause_ComplexContent_Choice_sequence \h  \* MERGEFORMAT 7.6.5.4). EXAMPLE 1: Sequence nesting a mandatory sequence: // Is mapped as type record E40a { XSD.String foo, XSD.String bar, XSD.String ding } with { variant "name as uncapitalized" } EXAMPLE 2: Sequence nesting another sequence, choice and an additional element: // Is mapped as type record E40b { XSD.String foo, XSD.String bar, union { XSD.String foo, XSD.String bar } choice, XSD.String ding } with { variant "name as uncapitalized"; variant(choice) "untagged" } 7.6.6.5 Sequence with nested any content An XSD any element nested in a sequence shall be translated according to clause  REF clause_AnyanyAnyattribute \h  \* MERGEFORMAT 7.7. EXAMPLE: // Is translated to: type record E41 { XSD.String foo, XSD.String elem } with { variant "name as uncapitalized"; variant(elem) "anyElement" } 7.6.6.6 Effect of the minOccurs and maxOccurs attributes on the mapping When either or both the minOccurs and/or the maxOccurs attributes of the sequence compositor specify a different value than "1", the following rules shall apply: a) First, the sequence compositor shall be mapped to a TTCN-3 record field (as opposed to ignoring it in the previous clauses, when both minOccurs and maxOccurs equal to 1) with the name "sequence". b) The encoding instruction "untagged" shall be attached to the field corresponding to sequence. c) The procedures in clause  REF clause_Attributes_minOccursMaxOccurs \h  \* MERGEFORMAT 7.1.4 shall be applied to this record field. NOTE: As the result of applying clause  REF clause_Attributes_minOccursMaxOccurs \h  \* MERGEFORMAT 7.1.4, the type of the field may be changed to record of record and in parallel the name of the field may be changed to "sequence_list". d) Finally, clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 shall be applied to the name of the resulted field and the field shall be added to the enframing TTCN-3 record (see clauses  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6 and  REF clause_ComplexContent_Sequence \h  \* MERGEFORMAT 7.6.6) or union field (see clause  REF clause_ComplexContent_Choice \h  \* MERGEFORMAT 7.6.5). EXAMPLE 1: Mapping an optional sequence: // Is mapped to type record E36b { record { XSD.Integer foo, XSD.Float bar } sequence optional } with { variant "name as uncapitalized"; variant (sequence) "untagged" } EXAMPLE 2: Sequence nesting an optional sequence: // Is mapped to type record E40c { record { XSD.String foo, XSD.String bar } sequence optional, union { XSD.String foo1, XSD.String bar1 } choice, XSD.String ding } with { variant "name as uncapitalized"; variant(sequence, choice) "untagged" } EXAMPLE 3: Sequence nesting a sequence of multiple recurrence: // Is mapped to type record E40d { record of record { XSD.String foo, XSD.String bar } sequence_list, XSD.String ding } with { variant "name as uncapitalized"; variant(sequence_list) "untagged" } 7.6.7 Attribute definitions, attribute and attributeGroup references Locally defined attribute elements, references to global attribute elements and references to attributeGroups shall be mapped jointly. XSD attributes, either local or referenced global (including the content of referenced attributeGroups) shall be mapped to individual fields of the enframing TTCN-3 record (see clause  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6) directly (i.e. without nesting). The types of the fields shall be the types of the corresponding attributes, mapped to TTCN-3 the same way as specified in clause  REF clause_AttributeComponent_attributes \h  \* MERGEFORMAT 7.4.1 for global attribute elements, and the names of the fields shall be the names resulted in applying clause REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the attribute names. The fields generated for local attribute definitions, references and contents of referenced attribute groups shall be inserted in the following order: they shall first be ordered, in an ascending alphabetical order, by the target namespaces of the attribute declarations, with the fields without a target namespace preceding fields with a target namespace, and then by the names of the attribute declarations within each target namespace (also in ascending alphabetical order). XSD local attribute declarations and references may contain also the special attribute use. The above mapping shall be carried out jointly with the procedures specified for the use attribute in clause  REF clause_Attributes_use \h  \* MERGEFORMAT 7.1.12. TTCN-3 record fields generated for attribute element or attributeGroup references, where the namespace of the referenced XSD entity differs from the target namespace of the referencing XSD schema (including the no target namespace case), shall be appended with a "namespace as" encoding instruction (see clause B.3.1), which shall identify the namespace and optionally the prefix of the XSD schema in which the referenced entity is defined. All generated TTCN-3 fields shall also be appended with the "attribute" encoding instruction. EXAMPLE 1: Referencing an attributeGroup in a complexType: // Is translated to TTCN-3 as: type record E44 { XSD.Float bar optional XSD.Float foo optional, XSD.String ding, } with { variant "name as uncapitalized"; variant(bar,foo) "attribute" } EXAMPLE 2: Mapping of a local attributes, attribute references and attribute group references without a target namespace: //is translated to TTCN-3 as: type XSD.Float FooGlobal with { variant "name as uncapitalized "; variant "attribute" } type XSD.String BarGlobal with { variant "name as uncapitalized "; variant "attribute" } type XSD.Integer DingGlobal with { variant "name as uncapitalized "; variant "attribute" } type record E17A { XSD.String barGlobal optional, XSD.String barInAgroup optional, XSD.String barLocal optional, XSD.Integer dingGlobal optional, XSD.Integer dingInAgroup optional, XSD.Integer dingLocal optional, XSD.Float fooGlobal optional, XSD.Float fooInAgroup optional, XSD.Float fooLocal optional, XSD.String elem } with { variant "name as uncapitalized "; variant(barGlobal,barInAgroup,barLocal,dingGlobal,dingInAgroup,dingLocal,fooGlobal, fooInAgroup,fooLocal) "attribute" //Please note, the order of the field names in the attribute qualifier may be arbitrary } EXAMPLE 3: Mapping the same local attributes, attribute references and attribute group references as above but with a target schema namespace: //e17A is translated to TTCN-3 as: type record E17A { XSD.Float barInAgroup optional, XSD.String barLocal optional, XSD.Integer dingInAgroup optional, XSD.Integer dingLocal optional, XSD.Float fooInAgroup optional, XSD.Float fooLocal optional, XSD.String barGlobal optional, XSD.Integer dingGlobal optional, XSD.Float fooGlobal optional, XSD.String elem } with { variant "name as uncapitalized "; variant(barInAgroup,barLocal,dingInAgroup,dingLocal,fooInAgroup,fooLocal,barGlobal, dingGlobal,fooGlobal) "attribute" //Please note, the order of the field names in the attribute qualifier may be arbitrary } 7.6.8 Mixed content When mixed content is allowed for a complex type or content, (i.e. the mixed attribute is set to "true") an additional record of XSD.String field, with the field name "embed_values" shall be generated and inserted as the first field of the outer enframing TTCN-3 record type generated for the all, choice or sequence content (see clauses  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6,  REF clause_ComplexContent_All \h  \* MERGEFORMAT 7.6.4, 7.6.5 and 7.6.6). In TTCN-3 values, elements of the embed_values field shall be used to provide the actual strings to be inserted into the encoded XML value or extracted from it (the relation between the record of elements and the strings in the encoded XML values is defined in clause B.3.10). In TTCN-3 values the number of components of the embed_values field (the number of strings to be inserted) shall not exceed the total number of components present in the enclosing enframing record, corresponding to the child element elements of the complexType with the mixed="true" attribute, i.e. ignoring fields corresponding to attribute elements, the embed_values field itself and the order field, if present (see clause  REF clause_ComplexContent_All \h  \* MERGEFORMAT 7.6.4), plus 1 (i.e. all components of enclosed record of-s). The embed_values field shall precede all other fields, resulted by the translation of the attributes and attribute and attributeGroup references of the given complexType and the order field, if any, generated for the all content models (see also clause  REF clause_ComplexContent_All \h  \* MERGEFORMAT 7.6.4). EXAMPLE 1: Complex type definition with sequence constructor and mixed content type: // Is translated to the TTCN-3 type definition (note that in a TTCN-3 value notation the embed_values field may have max. 3 record of components) type record MySeqMixedMyComplexType_12 { record of XSD.String embed_values, // in TTCN-3 values the embed_values field may have max. 3 record of components XSD.Integer attrib optional, XSD.String a, XSD.Boolean b } with { variant "element"; variant "embedValues"; variant(attrib) "attribute" } //And the template template MySeqMixedMyComplexType_12 t_MySeqMixedMyComplexType_12 := { embed_values:= {"The ordered ", " has arrived ", "Wait for further information."}, attrib := omit, a:= "car", b:= true } //will be encoded, for example, as < ns:MySeqMixedMyComplexType-12 xmlns:ns='http://www.example.org/mixed'> The ordered car has arrived true Wait for further information. EXAMPLE 2: Complex type definition with sequence constructor of multiple occurrences and mixed content type: // Is translated to the TTCN-3 type definition type record MyComplexTypeElem_16 { record of XSD.String embed_values, record of record { XSD.String a, XSD.Boolean b } sequence_list } with { variant "name as 'MyComplexElem-16'"; variant "element" variant "embedValues" } //And the template template MyComplexTypeElem_16 t_MyComplexTypeElem_16 := { embed_values := { "The ordered", "has arrived", "the ordered", "has arrived!", "Wait for further information."}, sequence_list := { { a:= "car", b:= false}, { a:= "bicycle", b:= true} } } //will be encoded as The ordered car has arrived false the ordered bicycle has arrived! true Wait for further information. EXAMPLE 3: Complex type definition with all constructor and mixed content type: // Is translated to the TTCN-3 type definition type record MyComplexTypeElem_13 { record of XSD.String embed_values, record of enumerated {a,b} order, XSD.String a, XSD.Boolean b } with { variant "name as 'MyComplexElem-13'"; variant "element"; variant "embedValues"; variant "useOrder" } //And the template template MyComplexTypeElem_13 t_MyComplexTypeElem_13 := { embed_values:= {"Arrival status", "product name","Wait for further information."}, order := {b,a}, a:= "car", b:= false } //will be encoded as Arrival status false product name car Wait for further information. EXAMPLE 4: Complex type definition with all constructor, optional elements and mixed content type: // Is translated to the TTCN-3 type definition type record MyComplexType_15 { record of XSD.String embed_values, record of enumerated {a,b} order, XSD.String a optional, XSD.Boolean b optional } with { variant "embedValues"; variant "useOrder" } //And the template template MyComplexType_15 t_MyComplexType_15 := { embed_values:= {"Arrival status", "Wait for further information."}, order := {b}, a:= omit, b:= false } //will be encoded as Arrival status false Wait for further information. EXAMPLE 5: Complex type definition with choice constructor and mixed content type: // Is translated to the TTCN-3 type definition type record MyComplexTypeElem_14 { record of XSD.String embed_values, union { XSD.String a, XSD.Boolean b } choice } with { variant "name as 'MyComplexElem-14'"; variant "element"; variant "embedValues" } //And the template template MyComplexTypeElem_14 t_MyComplexTypeElem_14 := { embed_values:= {"Arrival status", "Wait for further information."}, choice := { b:= false } } //will be encoded as Arrival status false Wait for further information. 7.7 Any and anyAttribute An XSD  HYPERLINK "http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/" \l "element-any#element-any" any element can be defined in complex types, as a child of sequence or choice (i.e. locally only) and specifies that any well-formed XML is permitted in the type's content model. In addition to the HYPERLINK "http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/" \l "element-any#element-any"any element, which enables element content according to namespaces, there is an analogous XSD  HYPERLINK "http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/" \l "element-anyAttribute#element-anyAttribute" anyAttribute element which enables transparent (from the codec's point of view) attributes to appear in elements. 7.7.1 The any element The XSD  HYPERLINK "http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/" \l "element-any#element-any" any element shall be translated, like other elements, to a field of the enframing record type or field or union field (see clauses  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6,  REF clause_ComplexContent_Choice \h  \* MERGEFORMAT 7.6.5 and  REF clause_ComplexContent_Sequence \h  \* MERGEFORMAT 7.6.6). The type of this field shall be XSD.String and the name of the field shall be the result of applying clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to "elem". Finally the "anyElement" encoding instruction shall be attached, which shall also specify the namespace wildcards and/or list of namespaces which are allowed or restricted to qualify the given element, in accordance with the namespace attribute of the XSD any element, if present (see details in clause REF clause_EncInstr_anyElement \h  \* MERGEFORMAT B.3.2). In the translation of any XSD elements, when a processContents XSD attribute is present, also clause  REF clause_Attributes_processContents \h  \* MERGEFORMAT 7.1.15 shall be considered. NOTE: The mapping may also be influenced by other attributes applied to the component, if any. See more details in clause 7.1, especially clause  REF clause_Attributes_minOccursMaxOccurs \h  \* MERGEFORMAT 7.1.4. In the value notation the XSD.String shall specify a syntactically correct XML element. It shall use a namespace (including the no namespace case) allowed by the final "anyElement" encoding instruction. EXAMPLE: Translating any: The Schema //Is mapped to the following TTCN-3 module: module http_www_example_org_wildcards { import from XSD all; type E46a AnyElementOtherNamespace with { variant "name as uncapitalized"; variant "element" } type record E46 { XSD.String elem } with { variant "name as uncapitalized"; variant(elem) "anyElement" } type record E46a { XSD.String elem optional } with { variant "name as uncapitalized"; variant(elem) "anyElement except unqualified,' HYPERLINK "http://www.organization.org/wildcard"http://www.organization.org/wildcards'" } type record E46b { record of XSD.String elem_list } with { variant "name as uncapitalized"; variant(elem_list) "untagged" variant (elem_list[-]) "anyElement except unqualified" } } with { encode "XML"; variant "namespace as 'http://www.example.org/wildcards' prefix 'this'"; variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'"; } And the template: module EncDec_checking { import from http_www_example_org_wildcards all; template AnyElementOtherNamespace t_AnyElementOtherNamespace := { elem := "text" } }//end module Can be encoded e.g. to the following XML instance: text While, for example, receiving the following XML instance is causing a decoding failure, because the XML element used in place of the any element shall be from a namespace different from "http://www.example.org/wildcards": text 7.7.2 The anyAttribute element The  HYPERLINK "http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/" \l "element-anyAttribute#element-anyAttribute" anyAttribute element shall be translated, like other attributes, to a field of the enframing record type or field or union field (see clauses  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6,  REF clause_ComplexContent_Choice \h  \* MERGEFORMAT 7.6.5 and  REF clause_ComplexContent_Sequence \h  \* MERGEFORMAT 7.6.6). The type of this field shall be record length (1..infinity) of XSD.String, the field shall always be optional and the name of the field shall be the result of applying clause REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to "attr". In the case an XSD component contains more than one anyAttribute elements (e.g. by a complex type extending an another complex type already containing an anyAttribute), only one new field shall be generated for all the anyAttribute elements (with the name resulted from applying clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to "attr") but the namespace specifications of all anyAttribute components shall be considered in the "anyAttributes" encoding instruction (see below). The field shall be inserted directly after the fields generated for the XSD attribute elements of the same component or, if the component does not contain an attribute component, in the place where the first field generated for an XSD attribute would be inserted (see clause 7.6.7). Finally the " anyAttributes " encoding instruction (see clause  REF clause_EncInstr_anyAttributes \h  \* MERGEFORMAT B.3.3) shall be attached, which shall also specify the namespace wildcards and/or list of namespaces which are allowed or restricted to qualify the given element, in accordance with the namespace attribute of the XSD  HYPERLINK "http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/" \l "element-anyAttribute#element-anyAttribute" anyAttribute element if present (see details in clause REF clause_EncInstr_anyAttributes \h  \* MERGEFORMAT B.3.3). NOTE 1: When translating XSD attribute elements, the use attribute determines if the generated field is optional or not (see clause  REF clause_Attributes_use \h  \* MERGEFORMAT 7.1.12). Because the use attribute is not allowed for  HYPERLINK "http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/" \l "element-anyAttribute#element-anyAttribute" anyAttribute elements, the generated record of field will always be optional. In the translation of anyAttribute XSD elements, when a processContents XSD attribute is present, also clause  REF clause_Attributes_processContents \h  \* MERGEFORMAT 7.1.15 shall be considered. In the value notation each XSD.String of the generated record of shall specify exactly one XML attribute using the following format: it shall be composed of an optional URI followed by whitespace, followed by the non-qualified name of the XML attribute, followed by an EQUALS SIGN (=) character, followed by a APOSTROPHE (') character or two QUOTATION MARK (") characters, followed by the XML attribute value, followed by a APOSTROPHE (') character or two QUOTATION MARK (") characters. In the string there shall be no other whitespace than specified above. Each string shall use a namespace (including the no namespace case) allowed by the final "anyAttributes" encoding instruction. NOTE 2: The metaformat of each XSD.String is: "[]=('|"")< attribute value>('|"")". NOTE 3: Decoders are always using a single SPACE character as whitespace between the URI and the non-qualified attribute name parts of the string (see clause  REF clause_EncInstr_anyAttributes \h  \* MERGEFORMAT B.3.3) to allow the user to employ specific values for matching. EXAMPLE: Translating anyAttribute: The Schema // Is mapped e.g. to the following TTCN-3 module: module http_www_example_org_wildcards { import from XSD all; type E45 AnyAttrAnyNamespace with { variant "name as uncapitalized"; variant "element"; } type E45b AnyAttrThisNamespace with { variant "name as uncapitalized"; variant "element"; } type record E45 { XSD.Date aa optional, XSD.String attr optional, XSD.Date bb optional record length (1..infinity) of XSD.String attr_1 optional } with { variant "name as uncapitalized"; variant(aa, attr, bb) "attribute"; variant(attr_1) "anyAttributes" } type record E45a { record length (1..infinity) of XSD.String attr optional } with { variant "name as uncapitalized"; variant(attr) "anyAttributes except unqualified,' HYPERLINK "http://www.example.org/wildcard" http://www.example.org/wildcards'" } type record E45b { record length (1..infinity) of XSD.String attr optional } with { variant "name as uncapitalized"; variant(attr) "anyAttributes from ' HYPERLINK "http://www.example.org/wildcard" http://www.example.org/wildcards'" } type record E45c { record length (1..infinity) of XSD.String attr optional } with { variant "name as uncapitalized"; variant(attr) "anyAttributes from unqualified,'http://www.example.org/attribute'" } type record E45d { record length (1..infinity) of XSD.String attr optional } with { variant "name as uncapitalized"; variant(attr) "anyAttributes from unqualified, 'http://www.example.org/attribute', ' HYPERLINK "http://www.example.org/wildcard" http://www.example.org/wildcards'" } } //end module with { encode "XML"; variant "namespace as 'http://www.example.org/wildcards' prefix 'this'"; variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'"; } For example the template: template AnyAttrThisNamespace t_AnyAttrThisNamespace := { attr := omit } Shall be encoded as an empty element with no attribute in XML: And the template: template AnyAttrThisNamespace t_AnyAttrThisNamespace := { attr := {"http://www.example.org/wildcards akarmi='tinky-winky'", "http://www.example.org/wildcards valami='dipsy'"} } Can be encoded e.g. to one of the following XML instances: Or While, for example, receiving the following XML instance shall cause a decoding failure, because all XML attributes shall be from the namespace "http://www.example.org/wildcards": 7.8 Annotation An XSD annotation is used to include additional information in the XSD data. Annotations may appear in every component and shall be mapped to a corresponding comment in TTCN-3. The comment shall appear in the TTCN-3 code just before the mapped structure it belongs to. The present document does not describe a format in which the comment shall be inserted into the TTCN-3 code. EXAMPLE: Note This is a helping note! //Could be translated to: // Note: This is a helping note ! 7.9 Group components XSD group definition, defined globally, enables groups of elements to be defined and named, so that the elements can be used to build up the content models of complex types. The child of a group shall be one of the all, choice or sequence compositors. They shall be mapped to TTCN-3 type definitions the same way as their child components would be mapped inside a complexType with one difference: the "untagged" encoding instruction shall be attached to the generated TTCN-3 component, corresponding to the group element. EXAMPLE: Mapping of groups: //Is translated to TTCN-3 as: type record ShipAndBill { XSD.String shipTo, XSD.String billTo } with { variant "untagged" } type union ShipOrBill { XSD.String shipTo, XSD.String billTo } with { variant "untagged" } type record ShipAndBillAll { record of enumerated { shipTo, billTo } order, XSD.String shipTo, XSD.String billTo } with { variant "untagged"; variant "useOrder" } 7.10 Identity-constraint definition schema components The XSD unique element enables to indicate that some XSD attribute or element values shall be unique within a certain scope. As TTCN-3 does not allow a similar relational value constraint, mapping of the unique, key and keyref elements are not supported by the present document, i.e. these elements shall be ignored in the translation process. NOTE 1: It is recommended that converter tools are retain the information of the unique, key and keyref elements in a TTCN-3 comment, to help the user in producing TTCN-3 values and templates complying to the original XSD specification. NOTE 2: As the selector and field XSD elements may only appear as child elements of a unique, key or keyref element, they are automatically ignored when their parent element is ignored. 8 Substitutions XSD allows two types of substitutions: XML elements in instance documents may be replaced by other XML elements that have been declared as members of the substitution group in XSD (of which the replaced element is the head); both the head element and the substitution group members shall be global XSD elements; the types of the substitution group members shall be the same or derived from the type of the head element. The XSD type actually used to create the instance of an XSD element information item may also be a named simple or complex type derived from the type referenced by the type attribute of the XSD element information item declaration; in this case the xsi:type (schema instance namespace) XML attribute shall identify the name of the type used to create the given instance. Depending on the SUT to be tested, it may be known a priori if the SUT could use element and/or type substitution or not. For this reason, to simplify the generated TTCN-3 code in certain cases, TTCN-3 tools claiming to conform with the present document shall support the following modes of operation, selectable by the user: generate a TTCN-3 code allowing both element substitution (code generated according to clause  REF clause_Substitution_Elements \h  \* MERGEFORMAT 8.1) and allowing type substitution (code generated according to clause  REF clause_Substitution_Types \h  \* MERGEFORMAT 8.2); generate a TTCN-3 code allowing element substitution (code generated according to clause  REF clause_Substitution_Elements \h  \* MERGEFORMAT 8.1) but disallowing type substitution (code generated according to clauses  REF clause_SimpleTypeComponents \h  \* MERGEFORMAT 7.5 and  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6); generate a TTCN-3 code disallowing element substitution (code generated according to clauses  REF clause_ElementComponent \h  \* MERGEFORMAT 7.3 and  REF clause_Substitution_Elements_Members \h  \* MERGEFORMAT 8.1.2) but allowing type substitution (code generated according to clause  REF clause_Substitution_Types \h  \* MERGEFORMAT 8.2); generate a TTCN-3 code disallowing both element and type substitutions; for backward compatibility with the previous versions of the present document this shall be the default mode. 8.1 Element substitution 8.1.1 Head elements of substitution groups This clause is invoked if the global XSD element information item being translated is referenced by the substitutionGroup attribute of one or more other global element information item(s) in the set of schemas being translated (i.e. it is the head of an element substitution group) and the user has requested to generate TTCN-3 code allowing using element substitution (see clause  REF clause_Substitution \h  \* MERGEFORMAT 8). Substitution group head elements shall be translated to TTCN-3 union types. The name of the union type shall be the result of applying clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the name composed of the header element's name and the postfix "_group". One alternative shall be added for the head element itself and one for each member of the substitution group. The first alternative (field) of the union type shall correspond to the head element. The alternatives corresponding to the member elements shall be added in an ordered manner, first alphabetically ordering the elements according to their target namespaces (elements with no target namespace first) and subsequently alphabetically ordering the elements with the same namespace based on their names. For each alternative the field name shall be the name applying clause REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the name of the XSD element corresponding to the given alternative. The type of the alternative shall be: the TTCN-3 type resulted by applying clause  REF clause_ElementComponent \h  \* MERGEFORMAT 7.3 to the head element, in the case of the head element; the TTCN-3 type resulted by applying clause  REF clause_Substitution_Elements_Members \h  \* MERGEFORMAT 8.1.2 to the member element, in the case of the member elements (i.e. it shall reference the TTCN-3 type generated for the given global XSD element information item). NOTE 1: In XSD, substitution group membership is transitive, i.e. the members of a substitution group (ESG1) whose head is a member of another substitution group (ESG2) are all also members of the second substitution group (ESG2). If the value of the head element's abstract attribute is "true", the "abstract" encoding instruction has to be attached to the field corresponding to the head element (i.e. to the first field). NOTE 2: If the value of a member element's abstract attribute is "true", the "abstract" encoding instruction is attached to the TTCN-3 type generated for that element, according to clause  REF clause_Attributes_abstract \h  \* MERGEFORMAT 7.1.9. If the head element's effective block value (see clause  REF clause_Attributes_block \h  \* MERGEFORMAT 7.1.10) is "#all" or "substitution", the "block" encoding instruction shall be attached to all fields of the union type except the field corresponding to the head element (the first field). If the head element's effective block value (see clause  REF clause_Attributes_block \h  \* MERGEFORMAT 7.1.10) is "restriction" or "extension" the "block" encoding instruction shall be attached to all fields, generated for group member elements with a type, which has been derived from the type of the head element by restriction or by extension , respectively, at any step along the derivation path. NOTE 3: The TTCN-3 syntax allows to attach the same attribute to several fields of the same structured type in one with attribute. Finally, the union type shall be appended with the "untagged" encoding instruction. When translating XSD references to the head element to TTCN-3, the TTCN-3 union type generated according to this clause shall be used. EXAMPLE 1: Substitution group: //Is translated to TTCN-3 as: module  HYPERLINK "http://www.example.org/SimpleCase" http_www_example_org_SimpleCase { /* SUBSTITUTION ELEMENT OF THE SAME TYPE AS THE HEAD */ type XSD.String Member1 with { variant "name as uncapitalized"; variant "element"; }; /* SUBSTITUTION ELEMENT OF A TYPE RESTRICTING THE TYPE OF THE HEAD */ type enumerated StringEnum { something, else } with { variant "name as uncapitalized"; }; type StringEnum Member2 with { variant "name as uncapitalized"; variant "element"; }; /* SUBSTITUTION ELEMENT OF A TYPE EXTENDING THE TYPE OF THE HEAD */ type record ComplexEnum { XSD.Integer bar optional, XSD.Float foo optional, XSD.String base } with { variant "name as uncapitalized"; variant (bar) "attribute"; variant (foo) "attribute"; variant (base) "untagged"; }; type ComplexEnum Member3 with { variant "name as uncapitalized"; variant "element"; }; /* THE HEAD ELEMENT */ type union Head_group { XSD.String head, ..Member1 member1, ..Member2 member2, Member3 member3 } with { variant "untagged" } /* TOP LEVEL ELEMENT TO DEMONSTRATE SUBSTITUTION */ type record Ize { record of Head_group head_list } with { variant "name as uncapitalized"; variant "element"; variant (head_list) "untagged"; } } with { encode "XML"; variant "namespace as 'http://www.example.org/SimpleCase' prefix 'ns'"; variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'"; } //and the template template Ize t_Ize := { { head := "anything" }, { member1 := "any thing" }, { member2 := something }, { member3 := { bar:= 5, foo := omit, base := "anything else" } } //will be encoded in XML as: anything any thing something akarmi anything else EXAMPLE 2: Effect of the block and abstract attributes on element substitution: //Is translated to TTCN-3 as: // TTCN-3 type definitions Member1, StringEnum, Member2, ComplexEnum, Member3 and Ize // are the same as in example 1 above, hence not repeated here module  HYPERLINK "http://www.example.org/BlockRestriction" http_www_example_org_BlockRestriction { /* THE HEAD ELEMENT */ type union Head_group { XSD.String head, ..Member1 member1, ..Member2 member2, Member3 member3 } with { variant "untagged"; variant (head) "abstract"; variant (member2) "block" } /* Substitution group members member1, member2, member3, their types and element "ize" are the same as in example 1 above, hence not repeated here */ } with { encode "XML"; variant "namespace as 'http://www.example.org/BlockRestriction' prefix 'ns'"; variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'"; } //and the template template Ize t_Ize := { { head := "anything" }, { member1 := "any thing" }, { member2 := something }, { member3 := { bar:= 5, foo := omit, base := "anything else" } } //will be encoded in XML as: anything any thing something akarmi anything else EXAMPLE 3: Blocking substitution: //Is translated to TTCN-3 as: module  HYPERLINK "http://www.example.org/BlockAll" http_www_example_org_BlockAll { type XSD.String GroupMember1 with { variant "name as uncapitalized"; variant "element"; }; type XSD.String GroupMember2 with { variant "name as uncapitalized"; variant "element"; }; /* THE HEAD ELEMENT */ type union HeadNoSubstition_group { XSD.String headNoSubstition, ..GroupMember1 groupMember1, ..GroupMember2 groupMember2 } with { variant "untagged"; variant (groupMember1, groupMember2) "block" } /* TOP LEVEL ELEMENT TO DEMONSTRATE SUBSTITUTION */ type record Ize2 { record of HeadNoSubstition_group head_list } with { variant "name as uncapitalized"; variant "element"; variant (head_list) "untagged"; }; } with { encode "XML"; variant "namespace as ' HYPERLINK "http://www.example.org/BlockAll" http://www.example.org/BlockAll' prefix 'ns'"; variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'"; } //and the template template Ize2 t_Ize2 := { { headNoSubstition := "anything" }, { groupMember1 := "any thing" }, { groupMember2 := "something" } } //will be encoded in XML as: anything any thing something 8.1.2 Substitution group members XSD elements with a substitutionGroup attribute information item shall be translated to TTCN-3 according to clauses REF clause_ElementComponent \h  \* MERGEFORMAT 7.3 and  REF clause_Attributes_substitutionGroup \h  \* MERGEFORMAT 7.1.13 with one addition: if the type of the XSD element is not defined in the element declaration, the type of the head element shall be used for the conversion. 8.2 Type substitution This clause is invoked if the XSD simpleType or complexType is referenced by the base attribute of the restriction or extension element information item(s) of one or more global XSD type definition(s) (i.e. the type is a parent type of one or more global derived types) AND the parent type occurs as the type of at least one XSD element declaration and the user has requested to generate TTCN-3 code allowing using type substitution (see clause  REF clause_Substitution \h  \* MERGEFORMAT 8). These types are called substitutable parent types (as opposed to parent types that cannot be substituted because e.g. referenced only in attribute declarations). Please note that when the type of an element is substituted in an instance document, XSD requires that the actual type is identified by an xsi:type XML attribute. NOTE 1: This definition also includes the case when the type of an element is a built-in XSD data type and one or more user-defined types are derived from this built-in type. Substitutable parent types shall be translated to TTCN-3 union types. The name of the union type shall be the result of applying clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the name composed of the substitutable parent type's name and the postfix "_derivations". In case of built-in XSD types, the names defined in clause  REF clause_BuiltInDataTypes \h  \* MERGEFORMAT 6 shall be used as the name of the substitutable parent type, of course, without the "XSD" qualifier part. One alternative shall be added for the substitutable parent type itself and one for each type derived from it in one or more derivation steps. The first alternative (field) of the union type shall correspond to the substitutable parent type. The alternatives corresponding to the derived types shall be added in an ordered manner, first alphabetically ordering the types according to their target namespaces (types with no target namespace first) and subsequently alphabetically ordering the types with the same namespace based on their names. For each alternative, the field name shall be the name applying clause  REF clause_NameConversion_IdentifierConvers \h  \* MERGEFORMAT 5.2.2 to the name of the XSD type corresponding to the given alternative. The type of the alternative shall be: the TTCN-3 type resulted by applying clauses  REF clause_SimpleTypeComponents \h  \* MERGEFORMAT 7.5 or  REF clause_ComplexTypeComponents \h  \* MERGEFORMAT 7.6, respectively, to the substitutable parent type for the first field (corresponding to the substitutable parent type); the TTCN-3 type resulted by the translation of the derived type for the other fields. If the value of the substitutable parent type's abstract attribute is "true", the "abstract" encoding instruction has to be attached to the field corresponding to the substitutable parent type, i.e. to the first field. NOTE 2: If the value of a derived type's abstract attribute is "true", the "abstract" encoding instruction is attached to the TTCN-3 type generated for that XSD type, according to clause  REF clause_Attributes_abstract \h  \* MERGEFORMAT 7.1.9. If the substitutable parent type's effective block value (see clause  REF clause_Attributes_block \h  \* MERGEFORMAT 7.1.10) is "#all", the "block" encoding instruction shall be attached to all fields of the union type except the field corresponding to the substitutable parent type (the first field). If the substitutable parent type's effective block value (see clause  REF clause_Attributes_block \h  \* MERGEFORMAT 7.1.10) is "restriction" or "extension" the "block" encoding instruction shall be attached to all fields, generated for types, derived from the substitutable parent type by restriction or by extension , respectively, at any step along the derivation path. NOTE 3: The TTCN-3 syntax allows to attach the same attribute to several fields of the same structured type in one with attribute. Finally the "useType" encoding instruction shall be attached to the TTCN-3 union type. NOTE 4: Please note that the first alternative of the union is encoded without an xsi:type attribute. The user, if he wants to force xsi:type for the first alternative, needs to add the "useType" encoding instruction to the first field manually. When translating XSD references to the substitutable parent type to TTCN-3, the TTCN-3 union type generated according to this clause shall be used. Annex A (normative): TTCN-3 module XSD This annex defines a TTCN-3 module containing type definitions equivalent to XSD built-in types. NOTE: The capitalized type names used in annex A of ITU-T Recommendation X.694 [REF REF_ITU_TX694 \* MERGEFORMAT 4] have been retained for compatibility. All translated structures are the result of two subsequent transformations applied to the XSD Schema: first, transformations described in ITU-T Recommendation X.694 [REF REF_ITU_TX694 \* MERGEFORMAT 4], then transformations described in ES2018737 [REF REF_ES201873_7 \* MERGEFORMAT 2]. In addition, specific extensions are used that allow codecs to keep track of the original XSD nature of a given TTCN-3 type. module XSD { //These constants are used in the XSd date/time type definitions const charstring dash := "-", cln := ":", year := "(0(0(0[1-9]|[1-9][0-9])|[1-9][0-9][0-9])|[1-9][0-9][0-9][0-9])", yearExpansion := "(-([1-9][0-9]#(0,))#(,1))#(,1)", month := "(0[1-9]|1[0-2])", dayOfMonth := "(0[1-9]|[12][0-9]|3[01])", hour := "([01][0-9]|2[0-3])", minute := "([0-5][0-9])", second := "([0-5][0-9])", sFraction := "(.[0-9]#(1,))#(,1)", endOfDayExt := "24:00:00(.0#(1,))#(,1)", nums := "[0-9]#(1,)", ZorTimeZoneExt := "(Z|[\+\-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))#(,1)", durTime := "(T[0-9]#(1,)"& "(H([0-9]#(1,)(M([0-9]#(1,)(S|.[0-9]#(1,)S))#(,1)|.[0-9]#(1,)S|S))#(,1)|"& "M([0-9]#(1,)(S|.[0-9]#(1,)S)|.[0-9]#(1,)M)#(,1)|"& "S|"& ".[0-9]#(1,)S))" //anySimpleType type XMLCompatibleString AnySimpleType with { variant "XSD:anySimpleType" }; //anyType; type record AnyType { record length (1 .. infinity) of String attr optional, record of String elem_list } with { variant "XSD:anyType"; variant(attr) "anyAttributes"; variant(elem_list) "anyElement"; }; // String types type XMLCompatibleString String with { variant "XSD:string" }; type XMLStringWithNoCRLFHT NormalizedString with { variant "XSD:normalizedString" }; type NormalizedString Token with { variant "XSD:token" }; type XMLStringWithNoWhitespace Name with { variant "XSD:Name" }; type XMLStringWithNoWhitespace NMTOKEN with { variant "XSD:NMTOKEN" }; type Name NCName with { variant "XSD:NCName" }; type NCName ID with { variant "XSD:ID" }; type NCName IDREF with { variant "XSD:IDREF" }; type NCName ENTITY with { variant "XSD:ENTITY" }; type octetstring HexBinary with { variant "XSD:hexBinary" }; type octetstring Base64Binary with { variant "XSD:base64Binary"; }; type XMLStringWithNoCRLFHT AnyURI with { variant "XSD:anyURI" }; type charstring Language (pattern "[a-zA-Z]#(1,8)(-\w#(1,8))#(0,)") with { variant "XSD:language" }; // Integer types type integer Integer with { variant "XSD:integer" }; type integer PositiveInteger (1 .. infinity) with { variant "XSD:positiveInteger" }; type integer NonPositiveInteger (-infinity .. 0) with { variant "XSD:nonPositiveInteger" }; type integer NegativeInteger (-infinity .. -1) with { variant "XSD:negativeInteger" }; type integer NonNegativeInteger (0 .. infinity) with { variant "XSD:nonNegativeInteger" }; type longlong Long with { variant "XSD:long" }; type unsignedlonglong UnsignedLong with { variant "XSD:unsignedLong" }; type long Int with { variant "XSD:int" }; type unsignedlong UnsignedInt with { variant "XSD:unsignedInt" }; type short Short with { variant "XSD:short" }; type unsignedshort UnsignedShort with { variant "XSD:unsignedShort" }; type byte Byte with { variant "XSD:byte" }; type unsignedbyte UnsignedByte with { variant "XSD:unsignedByte" }; // Float types type float Decimal (!-infinity .. !infinity) with { variant "XSD:decimal" }; type IEEE754float Float with { variant "XSD:float" }; type IEEE754double Double with { variant "XSD:double" }; // Time types type charstring Duration (pattern ") with { variant "XSD:duration" }; type charstring Duration (pattern "{dash}#(,1)P({nums}(Y({nums}(M({nums}D{durTime}#(,1)|{durTime}#(,1))|D{durTime}#(,1))|" & "{durTime}#(,1))|M({nums}D{durTime}#(,1)|{durTime}#(,1))|D{durTime}#(,1))|{durTime})" ) with { variant "XSD:duration" }; type charstring DateTime (pattern "{yearExpansion}{year}{dash}{month}{dash}{dayOfMonth}T({hour}{cln}{minute}{cln}{second}" & "{sFraction}|{endOfDayExt}){ZorTimeZoneExt}" ) with { variant "XSD:dateTime" }; type charstring Time (pattern "({hour}{cln}{minute}{cln}{second}{sFraction}|{endOfDayExt}){ZorTimeZoneExt}" ) with { variant "XSD:time" }; type charstring Date (pattern "{yearExpansion}{year}{dash}{month}{dash}{dayOfMonth}{ZorTimeZoneExt}" ) with { variant "XSD:date" }; type charstring GYearMonth (pattern "{yearExpansion}{year}{dash}{month}{ZorTimeZoneExt}" ) with { variant "XSD:gYearMonth" }; type charstring GYear (pattern "{yearExpansion}{year}{ZorTimeZoneExt}" ) with { variant "XSD:gYear" }; type charstring GMonthDay (pattern "{dash}{dash}{month}{dash}{dayOfMonth}{ZorTimeZoneExt}" ) with { variant "XSD:gMonthDay" }; type charstring GDay (pattern "{dash}{dash}{dash}{dayOfMonth}{ZorTimeZoneExt}" ) with { variant "XSD:gDay" }; type charstring GMonth (pattern "{dash}{dash}{month}{ZorTimeZoneExt}" ) with { variant "XSD:gMonth" }; // Sequence types type record of NMTOKEN NMTOKENS with { variant "XSD:NMTOKENS" }; type record of IDREF IDREFS with { variant "XSD:IDREFS" }; type record of ENTITY ENTITIES with { variant "XSD:ENTITIES" }; type record QName { AnyURI uri optional, NCName name }with { variant "XSD:QName" }; // Boolean type type boolean Boolean with { variant "XSD:boolean" }; //TTCN-3 type definitions supporting the mapping of W3C XML Schema built-in datatypes type utf8string XMLCompatibleString ( char(0,0,0,9).. char(0,0,0,9), char(0,0,0,10)..char(0,0,0,10), char(0,0,0,13)..char(0,0,0,13), char(0,0,0,32)..char(0,0,215,255), char(0,0,224,0)..char(0,0,255,253), char(0,1,0,0)..char(0,16,255,253) ) type utf8string XMLStringWithNoWhitespace ( char(0,0,0,33)..char(0,0,215,255), char(0,0,224,0)..char(0,0,255,253), char(0,1,0,0)..char(0,16,255,253) ) type utf8string XMLStringWithNoCRLFHT ( char(0,0,0,32)..char(0,0,215,255), char(0,0,224,0)..char(0,0,255,253), char(0,1,0,0)..char(0,16,255,253) ) }//end module Annex B (normative): Encoding instructions As described in clause 5 of the present document, in case of explicit mapping, the information not necessary to produce valid TTCN-3 abstract types and values but needed to produce the correct encoded value (an XML document), shall be retained in encoding instructions. Encoding instructions are contained in TTCN-3 encode and variant attributes associated with the TTCN-3 definition, field or value of a definition. This annex defines the encoding instructions for the XSD to TTCN-3 mapping. NOTE: In case of implicit mapping the information needed for correct encoding is to be retained by the TTCN-3 tool internally and thus its form is out of scope of the present document. B.1 General A single attribute shall contain one encoding instruction only. Therefore, if several encoding instructions shall be attached to a TTCN-3 language element, several TTCN-3 attributes shall be used. The "syntactical structure" paragraphs of each clause below identify the syntactical elements of the attribute (i.e. inside the "with { }" statement. The syntactical elements shall be separated by one or more whitespace characters. A syntactical element may precede or follow a double quote character without a whitespace character. There shall be no whitespace between an opening single quote character and syntactical element directly following it and between a closing single quote character and the syntactical element directly preceding it. All characters (including whitespaces) between a pair of single quote characters shall be part of the encoding instruction. Typographical conventions: bold font identify TTCN-3 keywords. The syntactical elements freetext and name are identified by italic font; they shall contain one or more characters and their contents are specified by the textual description of the encoding instruction. Normal font identify syntactical elements that shall occur within the TTCN-3 attribute as appear in the syntactical structure. The following character sequences identify syntactical rules and shall not appear in the encoding instruction itself: ( | ) - identify alternatives. [ ] - identify that the part of the encoding instruction within the square brackets is optional. { } - identify zero or more occurrences of the part between the curly brackets. """ - identify the opening or the enclosing double quote of the encoding instruction. B.2 The XML encode attribute The encode attribute "XML" shall be used to identify that the definitions in the scope unit to which this attribute is attached shall be encoded in one of the following XML formats: "XML" or "XML1.0" for W3C XML 1.0; and "XML1.1" for W3C XML 1.1. Syntactical structure encode """ (XML | XML1.0 | XML1.1 ) """ Applicable to (TTCN-3) Module, group, definition. B.3 Encoding instructions B.3.1 XSD data type identification Syntactical structure(s) variant """ ( XSD:string | XSD:normalizedString | XSD:token | XSD:Name | XSD:NMTOKEN | XSD:NCName | XSD:ID | XSD:IDREF | XSD:ENTITY | XSD:hexBinary | XSD:base64Binary | XSD:anyURI | XSD:language | XSD:integer | XSD:positiveInteger | XSD:nonPositiveInteger | XSD:negativeInteger | XSD:nonNegativeInteger | XSD:long | XSD:unsignedLong | XSD:int | XSD:unsignedInt | XSD:short | XSD:unsignedShort | XSD:byte | XSD:unsignedByte | XSD:decimal | XSD:float | XSD:double | XSD:duration | XSD:dateTime | XSD:time | XSD:date | XSD:gYearMonth | XSD:gYear | XSD:gMonthDay | XSD:gDay | XSD:gMonth | XSD:NMTOKENS | XSD:IDREFS | XSD:ENTITIES | XSD:QName | XSD:boolean ) """ Applicable to (TTCN-3) These encoding instructions shall not appear in a TTCN-3 module mapped from XSD. They are attached to the TTCN3 type definitions corresponding to XSD data types. Description The encoder and decoder shall handle instances of a type according to the corresponding XSD data type definition. In particular, record of elements of instances corresponding to the XSD sequence types NMTOKENS IDREFS and ENTITIES shall be combined into a single XML list value using a single space as separator between the list elements. At decoding the XML list value shall be mapped to a TTCN-3 record of value by separating the list into its itemType elements (the whitespaces between the itemType elements shall not be part of the TTCN-3 value). The uri and name fields of a TTCN3 instance of an XSD:QName type shall be combined to an XSD QName value at encoding. At decoding an XSD QName value shall be separated to the URI part and the non-qualified name part (the double colon between the two shall be disposed) and those parts shall be assigned to the uri and name fields of the corresponding TTCN3 value correspondingly. B.3.2 Any element Syntactical structure(s) variant """ anyElement [ except ( 'freetext' | unqualified ) | from [unqualified ,] [ { 'freetext' , } 'freetext' ] ] """ Applicable to (TTCN-3) Fields of structured types generated for the XSD any element (see clause  REF clause_any \h  \* MERGEFORMAT 7.7.1). NOTE 1: If the any element has a maxOccurs attribute with a value more than 1 (including "unbounded"), the element is mapped to a record of XSD.String field, in which case the anyElement instruction will be applied to the XSD.String type as well, as in all other cases. See for example the conversion of XSD complex type e46b in clause  REF clause_any \h  \* MERGEFORMAT 7.7.1. Description One TTCN-3 encoding instruction shall be generated for each field corresponding to an XSD any element. The freetext part(s) shall contain the URI(s) identified by the namespace attribute of the XSD any element. The namespace attribute may also contain wildcards. They shall be mapped as given in table  REF table_MappingNSwildcards \h  \* MERGEFORMAT B.1. Table B. SEQ Table_annB \* ARABIC 1: Mapping namespace attribute wildcards Facet typeValue of the XSD namespace attribute"except" or "from" clause in the TTCN-3 attributeRemark##any##localfrom unqualified##otherexcept unqualified, ""Also disallows unqualified elements, i.e. elements without a target namespace##otherexcept unqualifiedIn the case no target namespace is ancestor schema element of the given any element##targetNamespacefrom """http://www.w3.org/1999/xhtml ##targetNamespace"from "http://www.w3.org/1999/xhtml", "" In the encoding process the content of the TTCN-3 value shall be handled transparently, except when maxOccurs is greater than 1: in this case the elements of the TTCN-3 record of value (corresponding to the any XSD element), shall be concatenated transparently to produce the encoded XML value. In the decoding process, the decoder shall check if the fragment of the received XML document corresponding to the TTCN3 field with the "anyElement" encoding instruction fulfils the namespace specification in the encoding instruction and, if no "processContents" encoding instruction is present for the element being decoded, it shall check if it is a well-formed XML element (i.e. the content shall be assessed according to XML Schema Part 1 [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9], clause3.10.1, assessment level skip. If a "processContents" encoding instruction is present, the content shall be assessed according to it. The failure of the namespace checking or the content assessment shall cause a decoding failure. NOTE 2: Please note that any other assessment level (strict or lax) could result in different outcomes if a schema related to the content of the any element is available for the decoder or not. As this would have adverse effect on test result reproducibility, only the skip assessment level is necessary. B.3.3 Any attributes Syntactical structure(s) variant """ anyAttributes [ except 'freetext' | from [unqualified ,] { 'freetext', } 'freetext'] """ Applicable to (TTCN-3) Fields of structured types generated for the XSD anyAttribute element (see clause  REF clause_anyAttribute \h  \* MERGEFORMAT 7.7.2). Description One TTCN-3 encoding instruction shall be generated for each field corresponding to an XSD anyAttribute element. The freetext part(s) shall contain the URI(s) identified by the namespace attribute of the XSD anyAttribute element. The namespace attribute may also contain wildcards. They shall be mapped as given in table  REF table_MappingNSwildcards \h  \* MERGEFORMAT B.1. In the encoding process, if the type is encoded as a top-level type, this encoding instruction shall be ignored. In all other cases, in the encoding process one XML attribute shall be added to the XML element being encoded for each element of the corresponding TTCN-3 record of value. When the part is present in the given TTCN3 string element (see clause  REF clause_anyAttribute \h  \* MERGEFORMAT 7.7.2), the encoder shall use the and the part of string to create a qualified XML attribute name and, using the part it shall create a valid XML attribute. When the part is not present, the XML attribute created for the given record of element shall have a non-qualified name in the XML instance. See also example in clause  REF clause_anyAttribute \h  \* MERGEFORMAT 7.7.2. The order of the generated XML attribute shall correspond to the order they are defined in the record of value to which the encoding instruction relates to. The namespace prefix used and if already existing namespace prefixes identifying a given namespace is reused or not, is an encoder option. In the decoding process, the decoder shall create one TTCN-3 record of element for each attribute of the XML element being decoded that is not from the control namespace, and whose name is not that of the identifier (possibly modified in accordance with any final "name as" or "namespace as" encoding instructions) of another component of the enclosing type that has a final "attribute" encoding instruction. The decoder shall create the TTCN-3 strings (the elements of the record of to which the "anyAttribute" encoding instruction is attached) in the order of the affected XML attributes in the XML element. The decoder shall check if the namespace of the actually decoded XML attribute satisfies the namespace restrictions of the "anyAttribute" encoding instruction (including the no namespace case) and in case of non-compliance it shall cause a decoding failure. If the XML attribute has a namespace-qualified name, the part (see clause  REF clause_anyAttribute \h  \* MERGEFORMAT 7.7.2) of the generated string value shall be present, otherwise the part shall be absent. If the part present, the decoder shall insert a lonely SPACE character between the and the parts of the generated TTCN-3 string value. B.3.4 Attribute Syntactical structure(s) variant """ attribute """ Applicable to (TTCN-3) Top-level type definitions and fields of structured types generated for XSD attribute elements. Description This encoding instruction designates that the instances of the TTCN-3 type or field shall be encoded and decoded as XML attributes. B.3.5 AttributeFormQualified Syntactical structure(s) variant """ attributeFormQualified """ Applicable to (TTCN-3) Modules. Description This encoding instruction designates that names of XML attributes that are instances of TTCN-3 definitions in the given module shall be encoded as qualified names and at decoding qualified names shall be expected as valid attribute names. B.3.6 Control namespace identification Syntactical structure(s) variant """ controlNamespace 'freetext' prefix 'freetext' """ Applicable to (TTCN-3) Module. Description This encoding instruction commands the encoder to use the identified namespace and prefix whenever a type, nil, schemalocation or noNamespaceSchemaLocation schema-related attributes are to be inserted into the encoded XML document (see also clauses  REF clause_Definitions \h  \* MERGEFORMAT 3.1 and  REF clause_Schema_ControNamespace \h  \* MERGEFORMAT 5.1.5 of the present document). The first freetext component shall identify a syntactically valid namespace and the second freetext component shall identify a namespace prefix. B.3.7 Default for empty Syntactical structure(s) variant """ defaultForEmpty as 'freetext' """ Applicable to (TTCN-3) TTCN-3 components generated for XSD attribute or element elements with a fixed or default attribute. Description The "freetext" component shall designate a valid value of the type to which the encoding instruction is attached to. This encoding instruction has no effect on the encoding process and designates that the decoder shall insert the value specified by freetext if the corresponding attribute is omitted or when the corresponding element appears without any content in the XML instance being decoded; it has no effect in other cases. NOTE: If an element with a defaultForEmpty encoding instruction attached is missing in the XML instance being decoded, its corresponding field will also be absent in the decoded TTCN-3 value. B.3.8 Element Syntactical structure(s) variant """ element """ Applicable to (TTCN-3) Top-level type definitions generated for XSD element elements that are direct children of a schema element. Description This encoding instruction designates that the instances of the TTCN-3 type shall be encoded and decoded as XML elements. B.3.9 ElementFormQualified Syntactical structure(s) variant """ elementFormQualified """ Applicable to (TTCN-3) Modules. Description This encoding instruction designates that tags of XML local elements that are instances of TTCN-3 definitions in the given module shall be encoded as qualified names and at decoding qualified names shall be expected as valid element tags names. B.3.10 Embed values Syntactical structure(s) variant """ embedValues """ Applicable to (TTCN-3) TTCN-3 record types generated for XSD complexType-s and complexContent-s with the value of the mixed attribute "true". Description The encoder shall encode the record type to which this attribute is applied in a way, which produces the same result as the following procedure: first a partial encoding of the record is produced, ignoring the embed_values field. The first string of the embed_values field (the first record of element) shall be inserted at the beginning of the partial encoding, before the start-tag of the first XML element (if any). Each subsequent string shall be inserted between the end-tag of the XML element and the start-tag of the next XML element (if any), until all strings are inserted. In the case the maximum allowed number of strings is present in the TTCN-3 value (the number of the XML elements in the partial encoding plus one) the last string will be inserted after end-tag of the last element (to the very end of the partial encoding). The following special cases apply: a) At decoding, strings before, in-between and following the XML elements shall be collected as individual components of the embed_values field. If no XML elements are present, and there is also a defaultForEmpty encoding instruction on the sequence type, and the encoding is empty, a decoder shall interpret it as an encoding for the freetext part specified in the defaultForEmpty encoding instruction and assign this abstract value to the first (and only) component of the embed_values field. b) If the type also has a useNil encoding instruction and the optional component is absent, then the embedValues encoding instruction has no effect. c) If the type has a useNil encoding instruction and if a decoder determines that the optional component is present, by the absence of a nil identification attribute (or its presence with the value false), then item a) above shall apply. B.3.11 Form Syntactical structure(s) variant """ form as ( qualified | unqualified ) """ Applicable to (TTCN-3) Top-level type definitions generated for XSD attribute elements and fields of structured type definitions generated for XSD attribute or element elements. Description This encoding instruction designates that names of XML attributes or tags of XML local elements corresponding to instances of the TTCN-3 type or field of type to which the form encoding instruction is attached, shall be encoded as qualified or unqualified names respectively and at decoding qualified or unqualified names shall be expected respectively as valid attribute names or element tags. B.3.12 List Syntactical structure(s) variant """ list """ Applicable to (TTCN-3) Record of types mapped from XSD simpleType-s derived as a list type. Description This encoding instruction designates that the record of type shall be handled as an XSD list type, namely, record of elements of instances shall be combined into a single XML list value using a single SP(32) (space) character as separator between the list elements. At decoding the XML list value shall be mapped to a TTCN-3 record of value by separating the list into its itemType elements (the whitespaces between the itemType elements shall not be part of the TTCN-3 value). B.3.13 Name Syntactical structure(s) variant """ name ( as ( 'freetext' | changeCase ) | all as changeCase ) """, where changeCase := ( capitalized | uncapitalized | lowercased | uppercased ) Applicable to (TTCN-3) Type or field of structured type. The form when freetext is empty shall be applied to fields of union types with the "useUnion" encoding instruction only (see clause B.3.16). Description The name encoding instruction identifies if the name of the TTCN-3 definition or field differs from the value of the name attribute of the related XSD element. The name resulted from applying the name encoding attribute shall be used as the non-qualified part of the name of the corresponding XML attribute or element tag. When the "name as 'freetext'" form is used, freetext shall be used as the attribute name or element tag, instead of the name of the related TTCN-3 definition (e.g. TTCN-3 type name or field name). The "name as ''" (i.e. freetext is empty) form designates that the TTCN-3 field corresponds to an XSD unnamed type, thus its name shall not be used when encoding and decoding XML documents. The "name as capitalized" and "name as uncapitalized" forms identify that only the first character of the related TTCN3 type or field name shall be changed to lower case or upper case respectively. The "name as lowercased" and "name as uppercased" forms identify that each character of the related TTCN3 type or field name shall be changed to lower case or upper case respectively. The "name all as capitalized", "name all as uncapitalized", "name as lowercased" and "name as uppercased" forms has effect on all direct fields of the TTCN-3 definition to which the encoding instruction is applied (e.g. in case of a structured type definition to the names of its fields in a non-recursive way but not to the name of the definition itself and not to the name of fields embedded to other fields). The name encoding instruction shall not be applied when the untagged encoding instruction is used. However, if both instructions are applied to the same TTCN-3 component in the same or in different TTCN-3 definitions, the untagged instruction takes precedence (i.e. no start and end tags shall be used, see clause  REF clause_EncInstr_untagged \h  \* MERGEFORMAT B.3.21). B.3.14 Namespace identification Syntactical structure(s) variant """ namespace as 'freetext' [ prefix 'freetext' ] """ Applicable to (TTCN-3) Modules. Fields of record types generated for attributes of complexTypes taken in to complexType definitions by referencing attributeGroup(s), defined in schema elements with a different (but not absent) target namespace and imported into the schema element which is the ancestor of the complexType. Description The first freetext component identifies the namespace to be used in qualified XML attribute names and element tags at encoding, and to be expected in received XML documents. The second freetext component is optional and identifies the namespace prefix to be used at XML encoding. If the prefix is not specified, the encoder shall either identify the namespace as the default namespace (if all other namespaces involved in encoding the XML document have prefixes) or shall allocate a prefix to the namespace (if more than one namespace encoding instructions are missing the prefix part). B.3.15 Nillable elements Syntactical structure(s) variant """ useNil """ Applicable to (TTCN-3) Top-level record types or record fields generated for nillable XSD element elements. Description The encoding instruction designates that the encoder, when the optional field of the record (corresponding to the nillable element) is omitted, it shall produce the XML element with the xsi:nil="true" attribute and no value. When the nillable XML element is present in the received XML document and carries the xsi:nil="true" attribute, the optional field of the record in the corresponding TTCN-3 value shall be omitted. If the nillable XML element carries the xsi:nil="true" attribute and has a children (either any character or element information item) at the same time, the decoder shall initiate a test case error. B.3.16 Use union Syntactical structure(s) variant """ useUnion """ Applicable to (TTCN-3) Types and field of structured types generated for XSD simpleTypes derived by union (see clause 7.5.3). Description The encoding instruction designates that the encoder shall not use the start-tag and the end-tag around the encoding of the selected alternative (field of the TTCN-3 union type) and shall use the type identification attribute (xsi:type), identifying the XSD base datatype of the selected alternative, except when encoding attributes or the encoded component has a "list" encoding instruction attached or the "noType" encoding instruction is also present (see clause REF clause_EncInstr_noType \h  \* MERGEFORMAT B.3.27). At decoding the decoder shall place the received XML value into the corresponding alternative of the TTCN-3 union type, based on the received value and the type identification attribute, if present. B.3.17 Text Syntactical structure(s) variant """ text ( 'name' as ( 'freetext' | ) | all as changeCase ) """ NOTE 1: The definition of changeCase is given in clause  REF clause_EncInstr_nameAs \h  \* MERGEFORMAT B.3.13. Applicable to (TTCN-3) Enumeration types generated for XSD enumeration facets where the enumeration base is a string type (see clause REF clause_Facets_enumeration \h  \* MERGEFORMAT 6.1.5, first paragraph), and the name(s) of one or more TTCN-3 enumeration values is(are) differs from the related XSD enumeration item. XSD.Boolean types, instances of XSD.Boolean types(see clause 6.7). Description When name is used, it shall be generated for the differing enumerated values only. The name shall be the identifier of the TTCN-3 enumerated value the given instruction relates to. If the difference is that the first character of the XSD enumeration item value is a capital letter while the identifier of the related TTCN-3 enumeration value starts with a small letter, the "text 'name' as capitalized" form shall be used. Otherwise, freetext shall contain the value of the related XSD enumeration item. NOTE 2: The "text name' as uncapitalized", "text 'name' as lowercased" and "text 'name' as uppercased" forms are not generated by the current version of the present document but tools are encouraged to support also these encoding instructions for consistency with the "name as " encoding instruction. If the first characters of all XSD enumeration items are capital letters, while the names of all related TTCN-3 enumeration values are identical to them except the case of their first characters, the "text all as capitalized" form shall be used. The encoding instruction designates that the encoder shall use freetext or the capitalized name(s) when encoding the TTCN-3 enumeration value(s) and vice versa. When the text encoding attribute is used with XSD.Boolean types, the decoder shall accept all four possible XSD boolean values and map the received value 1 to the TTCN-3 boolean value true and the received value 0 to the TTCN-3 boolean value false. When the text encoding attribute is used on the instances of the XSD.Boolean type, the encoder shall encode the TTCN3 values according to the encoding attribute (i.e. true as 1 and false as 0). B.3.18 Use number Syntactical structure(s) variant """ useNumber """ Applicable to (TTCN-3) Enumeration types generated for XSD enumeration facets where the enumeration base is integer (see clause  REF clause_Facets_enumeration \h  \* MERGEFORMAT 6.1.5, second paragraph). Description The encoding instruction designates that the encoder shall use the integer values associated to the TTCN-3 enumeration values to produce the value or the corresponding XML attribute or element (as opposed to the names of the TTCN-3 enumeration values) and the decoder shall map the integer values in the received XML attribute or element to the appropriate TTCN-3 enumeration values. B.3.19 Use order Syntactical structure(s) variant """ useOrder """ Applicable to (TTCN-3) Record type definition, generated for XSD complexType-s with all constructor (see clause 7.6.4). Description The encoding instruction designates that the encoder shall encode the values of the fields corresponding to the children elements of the all constructor according to the order identified by the elements of the order field. At decoding, the received values of the XML elements shall be placed in their corresponding record fields and a new record of element shall be inserted into the order field for each XML element processed (the final order of the record of elements shall reflect the order of the XML elements in the encoded XML document). B.3.20 Whitespace control Syntactical structure(s) variant """ whitespace ( preserve | replace | collapse ) """ Applicable to (TTCN-3) Types or fields of structured types generated for XSD components with the whitespace facet. Description The encoding instruction designates that the value of the received XML attribute shall be normalized before decoding as follows (see also clause 3.3.3 of XML 1.1 [REF REF_WORLDWIDEWEBCONSORTIUMW3CEXT \* MERGEFORMAT 5]): preserve: no normalization shall be done, the value is not changed (this is the behaviour required by XML Schema Part 2 [REF REF_WORLDWIDEWEBCONSORTIUMW3CXML2 \* MERGEFORMAT 9] for element content); replace: all occurrences of HT(9) (horizontal tabulation), LF(10) (line feed) and CR(13) (carriage return) shall be replaced with an SP(32) (space) character; collapse: after the processing implied by replace, contiguous sequences of SP(32) (space) characters are collapsed to a single SP(32) (space) character, and leading and trailing SP(32) (space) characters are removed. B.3.21 Untagged elements Syntactical structure(s) variant """ untagged """ Applicable to (TTCN-3) Structured type definitions and structured type fields. Description Without this attribute the names of the structured type fields (as possible modified by a name as and namespace encoding instructions) or, in case of TTCN-3 type definitions corresponding to global XSD element declarations the name of the TTCN-3 type (as possible modified by a name as and namespace encoding instructions) are used as the local part of the start and end tags of XML elements at encoding. If the untagged encoding instruction is applied to a TTCN-3 type or structured type field, the name of the type or field shall not produce an XML tag when encoding the value of that type or field (in other words, the tag that would be produced without the untagged attribute shall be suppressed during encoding and shall not be expected during decoding). The untagged encoding instruction shall only have effect on the TTCN-3 language element to which it is directly applied; e.g. if applied to a structured type, the type itself shall not result a starting and end tag in the encoded XML document but the fields of the structured type shall be encoded using starting and end tags (provided no untagged attribute is applied to the fields). At decoding no XML starting and end tags shall be present in the encoded XML document. Shall not be applied to TTCN-3 components generated for XSD attribute elements (neither global nor local). For typical use in case of extending or restricting simple content see clauses  REF clause_ComplexType_ContSimpleCont_Extend \h  \* MERGEFORMAT 7.6.1.1 and 7.6.1.2 and for typical use in case of model groups see clause  REF clause_GroupComponents \h  \* MERGEFORMAT 7.9. NOTE: Please note, that using the untagged encoding instruction in other cases than specified in the present document, may result in an undecodable XML document. B.3.22 Abstract Syntactical structure(s) variant """ abstract """ Applicable to (TTCN-3) Type definitions (generated for global XSD elements and XSD complex types). Description This encoding instruction shall have no effect on the encoding process (i.e. it is allowed to send an abstract element or an element with an abstract type to the SUT). NOTE: Please note that when the "useType" encoding instruction is also appended to the type being used for encoding the element, the xsi:type XML attribute will be inserted into the encoded XML element, identifying the name of the abstract XSD type, according to clause  REF clause_EncInstr_useType \h  \* MERGEFORMAT B.3.24. In the decoding process, any of the following cases shall cause a failure of the decoding process: the TTCN-3 type corresponding to the XML element to be decoded has both the "element" and "abstract" encoding instructions appended; the type of the TTCN-3 field or the field corresponding to the XML element to be decoded has the "abstract" encoding instruction appended and the XML element has no xsi:type attribute; or if the XML element to be decoded has an xsi:type attribute identifying a type to which the "abstract" encoding instruction is appended. Otherwise the encoding instruction shall have no effect on the decoding process. B.3.23 Block Syntactical structure(s) variant """ block""" Applicable to (TTCN-3) Field of the union type generated for substitutable XSD elements and types. Description The encoding instruction shall have no effect on the encoding process. NOTE: This behaviour is defined to allow sending of intentionally incorrect data to the SUT. Tools may notify the user when the data to be encoded is not valid (a blocked type is used for substitution). In the decoding process, any of the following cases shall cause a decoding failure: the XML element, considering all applied name and namespace encoding instructions and a possible xsi:type XML attribute, would decode to a field of a TTCN-3 union type with a "block" encoding instruction; the XML element, considering all applied name and namespace encoding instructions and a possible xsi:type XML attribute, would decode to field of a TTCN-3 union type without a "block" encoding instruction, but the TTCN-3 type of the field has a "block" encoding instruction. B.3.24 Use type Syntactical structure(s) variant """ useType """ Applicable to (TTCN-3) Types, fields of structured types Description The type identification attribute identifies the type of an XML element using the xsi:type attribute from the control namespace (see clause  REF clause_Schema_ControNamespace \h  \* MERGEFORMAT 5.1.5). In the encoding process useType instructs the encoder that it shall include the xsi:type XML attribute into the start tag of the corresponding encoded XML element, with the exception given below. The attribute shall identify the XSD type of the given element, possibly modified in accordance with any final name as and namespace encoding instructions. In case of unnamed XSD types the name of the XSD base type shall be used. When useType is applied to a TTCN-3 union type, the first alternative of the union type shall be encoded without an xsi:type XML attribute. When useType is applied to a TTCN-3 union type supplemented with an untagged encoding instruction, the useType encoding instruction shall apply to the alternatives of the union (i.e. the selected alternative shall be encoded using the xsi:type attribute). See examples in clauses  REF clause_SimpleTypeComp_DerivByUnion \h  \* MERGEFORMAT 7.5.3 and  REF clause_Substitution_Types \h  \* MERGEFORMAT 8.2. When useType is applied to a TTCN3 record of type with a list encoding instruction, the xsi:type attribute shall be applied to the XML element enclosing the list value. See example in clause  REF clause_SimpleTypeComp_DerivByList \h  \* MERGEFORMAT 7.5.2. If a "noType" encoding instruction is applied to the TTCN-3 value to be encoded, the type of which is appended with a useType encoding instruction, the useType instruction shall be ignored. In the decoding process the presence of the xsi:type attribute in an XML element is used in two ways: it shall be used in the schema validation process of the XML instance to be decoded; and if applied to a TTCN-3 union type, to select the alternative of the union, to which the decoded value shall be stowed (see also note in clause  REF clause_SimpleTypeComp_DerivByUnion \h  \* MERGEFORMAT 7.5.3). In particular, in the case of type substitution (see clause  REF clause_Substitution_Types \h  \* MERGEFORMAT 8.2), if the XML element to be decoded does not contain an xsi:type attribute and it cannot be decoded to the first alternative, the decoding process shall fail (provided no useType is applied to this field directly). If it is applied to selected alternatives of a union type but not for the whole type, only these alternatives shall be evaluated taking into account the xsi:type attribute. If used in conjunction with the useUnion encoding instruction, the useType encoding instruction has no additional effect (the xsi:type attribute is inserted only once). If the selected alternative of the TTCN-3 union type with the useType encoding instruction is a union type with a final useUnion encoding instruction, the type identification attribute shall identify the chosen alternative of the inner union (with the useUnion instruction) instead of the alternative of the outer union (with the useType encoding instruction). B.3.25 Process the content of any elements and attributes Syntactical structure(s) variant """ processContents (skip | lax | strict ) """ Applicable to (TTCN-3) XSD.String and record of XSD.String fields of structured types Description The "processContents" encoding instruction controls the validation level of the content received at the place of XSD any and anyAttribute elements at decoding. It has no effect at encoding and does not influence checking the correctness of the namespace of the XML instance being decoded (the namespace shall always satisfy the "anyElement" or "anyAttribute" encoding instruction, see clauses  REF clause_EncInstr_anyElement \h  \* MERGEFORMAT B.3.2 and  REF clause_EncInstr_anyAttributes \h  \* MERGEFORMAT B.3.3). If the value of the encoding instruction is "skip", the decoder shall only check if the content is a well-formed XML element or attribute and in case of a defect it shall cause a decoding failure. If the value of the encoding instruction is "lax", the decoder shall check if the content is well-formed XML element or attribute. If the TTCN-3 definition corresponding to the XML element or attribute being decoded is available for the decoder , the decoder shall also check if the content comply with the TTCN-3 definition. A defect in the well-formedness or in the content validation shall cause a decoding failure. The decoder shall not attempt to retrieve a schema for the element or attribute being decoded from an external source. If the value of the encoding instruction is "strict", the decoder shall check if the content is well-formed XML element or attribute and, if its content is valid according to the TTCN-3 definition corresponding to the XML element or attribute being decoded. A defect in the well-formedness or in the content validation shall cause a decoding failure. If the corresponding TTCN-3 definition is not available for the decoder, this shall cause a decoding failure. The decoder shall not attempt to retrieve a schema for the element or attribute being decoded from an external source. B.3.26 Transparent Syntactical structure(s) variant """ transparent name 'value' """ Applicable to (TTCN-3) Types generated for XSD data types with facet(s) with no direct mapping to TTCN-3. Description The "transparent" encoding instruction encapsulates XSD facets that are not directly mapped to TTCN-3 (for directly mapped facets see clause  REF clause_BuiltInDataTypes \h  \* MERGEFORMAT 6, and in particular table  REF table_Facets \h  \* MERGEFORMAT 2 of the present document). The name part of the instruction shall be the name of the XSD facet and the value part of the instruction shall be the value of the facet as defined in XSD (i.e. XSD patterns shall not be converted to TTCN-3 patterns when included into the transparent encoding instruction). In other words, the "transparent" encoding instruction transports the non-mapped XSD facet elements between the XSD specification and the XML codec in a transparent way. The encoder shall use the content of the "transparent" encoding instruction to generate a correct XML instance for the TTCN-3 value being encoded. The decoder shall use the "transparent" encoding instruction to validate the received XML document while decoding it. B.3.27 No Type Syntactical structure(s) variant """ noType """ Applicable to (TTCN-3) Templates, values and fields of templates and values. Description The "noType" encoding variant can be applied to any TTCN-3 value or template, where normally an xsi:type attribute would be generated when encoding this element (see clause  REF clause_Schema_ControNamespace \h  \* MERGEFORMAT 5.1.5). This is normally the result of the "useType" or "useUnion" encoding instructions appended to the type of the value or template. This is especially useful for suppressing the type identification attribute for elements derived from simpleType via union. The "noType" encoding instruction takes precedence over the "useType" and "useUnion" encoding instructions. For decoding purposes, this encoding instruction shall be ignored. Annex C (informative): Examples The following examples show how a mapping would look like for example XML Schemas. It is only intended to give an impression of how the different elements have to be mapped and used in TTCN-3. C.1 Example 1 XML Schema: TTCN-3 Module: module NoNamespace { import from XSD language "XML" all; type record Shiporder { XSD.String orderid, XSD.String orderperson, record { XSD.String name, XSD.String address_1, XSD.String city, XSD.String country } shipto, record { XSD.String title, XSD.String note optional, XSD.PositiveInteger quantity, XSD.Decimal price } item } with { variant "name as uncapitalized"; variant(shipto.address_1)"name as 'address'"; variant(orderid) "attribute"; } } with { encode "XML"; } module Example1Template { import from XSD language "XML" all; import from Example1 all; template Shiporder t_Shiporder:={ orderid:="18920320_17", orderperson:="Dr.Watson", shipto:= { name:="Sherlock Holmes", addressField:="Baker Street 221B", city:="London", country:="England" }, item:= { title:="Memoirs", note:= omit, quantity:=2, price:=3.5 } } }//end module Dr.Watson Sherlock Holmes
Baker Street 221B
London England
Memoirs 2 3.5
C.2 Example 2 XML Schema: TTCN-3 Module: module NoNamespace { import from XSD language "XML" all; type XSD.Integer S1 (-infinity .. 2); type S1 S2 (-23 .. 1); type S2 S3 (-3 .. 0); type record C1 { S3 base, XSD.Integer a1 optional, XSD.Float a2 optional } with { variant(a1,a2) "name as capitalized "; variant(a1,a2) "attribute"; variant(base) "untagged" } } with { encode "XML"; } module Example2Templates { import from XSD language "XML" all; import from Example2 all; template C1 t_C1:= { base :=-1, a1 :=1, a2 :=2.0 } } -1 C.3 Example 3 XML Schema: TTCN-3 Module: module nsA { import from XSD language "XML" all; type record C1 { XSD.Integer base, XSD.Integer a1 optional, XSD.Integer a2 optional } with { variant(a1,a2)"name as capitalized"; variant(a1,a2) "attribute"; variant(base) "untagged" } type record C2 { XSD.Integer (23 .. 26) base, XSD.Byte a1, XSD.NegativeInteger a2 optional } with { variant(a1,a2)"name as capitalized"; variant(a1,a2) "attribute"; variant(base) "untagged" ; } type record C3 { XSD.Integer (25 .. 26) base, XSD.Byte a1, XSD.NegativeInteger a2 optional } with { variant(a1,a2)"name as capitalized"; variant(a1,a2) "attribute"; variant(base) "untagged" } } with { encode "XML"; variant "namespace as 'nsA'"; variant "controlNamespace' HYPERLINK "http://www.w3.org/2001/XMLSchema-instance" http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'" } module Example3Templates { import from XSD language "XML" all; import from Example3 all; template C1 t_C1:= { base :=-1000, a1 :=1, a2 :=2 } template C2 t_C2:= { base :=24, a1 :=1, a2 :=-2 } template C3 t_C3:= { base :=25, a1 :=1, a2 :=-1000 } } -1000 24 25 C.4 Example 4 XML Schema: TTCN-3 Module: module ns!#˯l^P>"Hh gh$KCJ mH nH uh|yahV/CJ mH nH uhQUhV/CJ mH nH u(Hh ghQUh$K0JmH nH uHh gh$KmH nH u:hQUhV/h$K0JcHdhdhdh gmH nH u6h|yahV/h$KcHdhdhdh gmH nH uh|yahV/mH nH uhQUhV/mH nH uhQUhV/CJ@mH nH uh|yahV/CJ@mH nH u 'T<$+&+Da$gdV/0$g=-&#$+DYa$gdV/gdV/ <&gdV/gdV/B/)&+D gdV/=$p'&+Du0$a$gdV/;$C)&&d+D0$Pa$gdV/ #%&'ƿƲ}gYRH>Hh.CJOJQJhV/CJOJQJ hQUhV/hV/CJOJQJ^JaJ+hNshV/56B*CJ OJQJaJ ph0hV/56B*CJ OJQJaJ mH nH phu h95hV/CJOJQJ^JaJhmDhV/mH sH hV/mH nH uhV/ hV/hV/hQUhV/mH nH uh}S}hV/CJ aJ mH nH u:h|yahV/h$KCJ cHdhdhdh gmH nH u  & N sTT0$  &#$&dP] ^ a$gdV/0$  &#$] ^ a$gdV/gdV/0$  u &#$] ^ a$gdV/!0$  u &#$&dP] ^ a$gdV/0$u &#$]^a$gdV/0$  u &#$&dP] ^ a$gdV/  M N     X Y z { | пo\Bo3hQUhV/0JPCJOJQJ3jhQUhV/>*B*CJOJQJUph$hQUhV/>*B*CJOJQJph-jhQUhV/>*B*CJOJQJUphhQUhV/CJOJQJ^JhQUhV/56OJQJ hmDhV/CJOJQJmH sH hmDhV/mH sH  hmDhV/CJOJQJmH sH "hmDhV/56OJQJmH sH hV/CJOJQJ hQUhV/hQUhV/CJOJQJN O       = y0$ "&#$&d+DPa$gdV/0$ "&#$+Da$gdV/#0$   "&#$&d+DP] ^ a$gdV/gdV/0$  &#$] ^ a$gdV/0$  &#$] ^ a$gdV/ \     ; < ٭|kP9,hV/hV/>*B*CJOJQJ^JaJph5jhV/hV/>*B*CJOJQJU^JaJph hQUhV/0JPCJOJQJ^J7jhQUhV/>*B*CJOJQJU^Jph(hQUhV/>*B*CJOJQJ^Jph1jhQUhV/>*B*CJOJQJU^Jph%hQUhV/B*CJOJQJ^JphhQUhV/CJOJQJ^J-jhQUhV/>*B*CJOJQJUph ,#%'+-  ƯƠr`Or`Or`Or`ArOAOhV/CJOJQJ^JaJ hhV/CJOJQJ^JaJ#hhV/CJH*OJQJ^JaJ&hhV/5CJOJQJ\^JaJhV/CJOJQJ^JhQUhV/56OJQJhQUhV/CJOJQJ^J,hV/hV/>*B*CJOJQJ^JaJph5jhV/hV/>*B*CJOJQJU^JaJph;jdhV/hV/>*B*CJOJQJU^JaJph,Bj K{!Xgd.gd.qgdV/$ "&#$+Da$gdV/0$ "&#$+Da$gdV/0$ "&#$&d+DPa$gdV/ ""#=>?@ABJKefghijwxƿwjh.Uj1h.Ujh.Uh.OJQJaJmHnHtH j7h.Uh.jh.U hBhA5 hQUhV/&hhV/5CJOJQJ\^JaJ hhV/CJOJQJ^JaJhV/CJOJQJ^JaJ.   +,FGHIJK[\vwxyz{ jh.Ujh.Ujh.Ujh.Uh.OJQJaJmHnHtH j%h.Ujh.U"h.CJOJQJaJmHnHtH h.jh.Uj+h.U4 !78RSTVWX+,-/01\]wxy{|}hh.PJj h.Uj h.Uj h.Ujh.Ujh.Uh.OJQJaJmHnHtH jh.Ujh.Uh."h.CJOJQJaJmHnHtH 51}[NDwEz(Vgd.gd.gd.:;UVWYZ[vw-.Hjr h.Uj h.Ujx h.Uj h.Uj~ h.Uj h.U"h.CJOJQJaJmHnHtH h.jh.Uj h.U8HIJLMNde#$>?@BCDVWqrsuvjh.Uj`h.Ujh.Ujfh.Ujh.U"h.CJOJQJaJmHnHtH jlh.Uh.OJQJaJmHnHtH h.jh.Uj h.U4vw   $%?@ACDEYZtuvxyz⿴❿⿒❿⿇❿|jh.UjNh.Ujh.U,hmDh.CJOJQJaJmHnHsH tH jTh.UhmDh.mHnHsH jh.UjZh.Ujh.Uh."h.CJOJQJaJmHnHtH 0"#$&'(56PQRTUVnojh.Uj<h.Ujh.UjBh.Ujh.U"h.CJOJQJaJmHnHtH jHh.Ujh.Uh.,hmDh.CJOJQJaJmHnHsH tH 4Eo<l0hDy=j gd.gd.$%?@ACDENOijkmno{|678:;<KLfj$h.Ujh.Uj*h.Ujh.Uj0h.Ujh.U"h.CJOJQJaJmHnHtH h.jh.Uj6h.U8fghjkl|}*+,./0GHbcdfghjh.Ujh.Ujh.Ujh.Ujh.Ujh.U"h.CJOJQJaJmHnHtH h.jh.Ujh.U8#$>?@BCDXYstuwxy7j h.Uj} h.Uj h.Ujh.Ujh.Ujh.U"h.CJOJQJaJmHnHtH h.jh.Uj h.U8789;<=IJdefhij ' ( ) + , - : ; U V W Y Z [ j k je$h.Uj#h.Ujk#h.Uj"h.Ujq"h.Uj!h.U"h.CJOJQJaJmHnHtH h.jh.Ujw!h.U8 - [ !H!!!!2"i""""+#X### $W$$$$%P%|%%gd.gd.gd. !!!!!!'!(!B!C!D!F!G!H!g!h!!!!!!!!!!!!!!!!!!j'h.UjS'h.Uj&h.UjY&h.Uj%h.Uj_%h.U"h.CJOJQJaJmHnHtH h.jh.Uj$h.U8!!!!!!"","-"."0"1"2"H"I"c"d"e"g"h"i"|"}""""""""""""""""""""""" # #%#&#'#)#*#+#7#8#R#j;+h.Uj*h.UjA*h.Uj)h.UjG)h.Uj(h.U"h.CJOJQJaJmHnHtH h.jh.UjM(h.U8R#S#T#V#W#X#i#j#################$$$$$ $6$7$Q$R$S$U$V$W$`$a${$|$}$$$$$$$$$$$j.h.Uj).h.Uj-h.Uh.OJQJaJmHnHtH j/-h.Uj,h.Uj5,h.U"h.CJOJQJaJmHnHtH h.jh.Uj+h.U4$$$$$$$$$$$$%%%%%%/%0%J%K%L%N%O%P%[%\%v%w%x%z%{%|%%%%%%%%%%%%%%%%%%%%&&&&&#&j2h.Uj1h.Uj1h.Uj0h.Uj0h.Uj/h.Uj#/h.Ujh.Uh."h.CJOJQJaJmHnHtH :%%&D&u&&& 'C'y'''D((()=)x))*C***#+s+++ ,e,gd.gd.gd.#&$&>&?&@&B&C&D&T&U&o&p&q&s&t&u&&&&&&&&&&&&&&&&&&&'''' ' '"'#'='>'?'A'B'C'X'֝{,hmDh.CJOJQJaJmHnHsH tH j4h.UhmDh.mHnHsH j4h.Uj4h.Uj3h.Uj 3h.U"h.CJOJQJaJmHnHtH j2h.Uh.jh.U0X'Y's't'u'w'x'y'''''''''''''''''#($(>(?(@(B(C(D(f(g((((((((((((((((ȹ{j7h.Ujp7h.Uj6h.U"h.CJOJQJaJmHnHtH jv6h.Uh.j5h.U,hmDh.CJOJQJaJmHnHsH tH j|5h.UhmDh.mHnHsH jh.U0((((()))))7)8)9);)<)=)W)X)r)s)t)v)w)x))))))))))))))))**!*"*#*=*>*?*A*B*C*f*g****֬֬jX;h.Uj:h.Uj^:h.Uhh.PJj9h.Ujd9h.Uj8h.U"h.CJOJQJaJmHnHtH jj8h.Uh.jh.U6************+++++!+"+#+R+S+m+n+o+q+r+s++++++++++++++++++,,,,,, ,D,E,_,`,a,c,d,j>h.UjF>h.Uj=h.UjL=h.Uj<h.UjR<h.Uj;h.U"h.CJOJQJaJmHnHtH jh.Uh.:d,e,,,,,,,,,,,,,,,,,--)-*-+---.-/-N-O-i-j-k-m-n-o----------------- .!.;.<.=.?.@.A.m.j.Bh.UjAh.Uj4Ah.Uj@h.Uj:@h.Uj?h.Uj@?h.Ujh.Uh."h.CJOJQJaJmHnHtH :e,,,/-o---A...'///+0e000 1B1112P2223^3 %gd.gd.gd.gd.gd.m.n...............//!/"/#/%/&/'/=/F/K/T/o/p/////////////// 0 0%0&0'0)0*0+0D0E0_0`0jEh.UjEh.UjDh.Uj"Dh.Uhh.6jCh.Uj(Ch.U"h.CJOJQJaJmHnHtH jBh.Uh.jh.U7`0a0c0d0e0{0|00000000000000000111 1 1 1!1"1<1=1>1@1A1B1x1y111111111111111111h.OJQJaJmHnHtH jHh.Uj Hh.UjGh.UjGh.UjFh.UjFh.U"h.CJOJQJaJmHnHtH h.jh.U7112222/202J2K2L2N2O2P2q2r22222222222222222 3 3 3333<3=3W3X3Y3\3]3^3j3k333333jKh.UjuKh.Uh.OJQJaJmHnHtH jJh.Uj{Jh.UjIh.UjIh.U"h.CJOJQJaJmHnHtH h.jh.UjIh.U4^3334L4444(5q5556N6|6667U77778Y8888'99gd.gd.333333333333444444*4+4E4F4G4J4K4L4^4_4y4z4{4~444444444444444444455!5jNh.UjcNh.UjMh.U"h.CJOJQJaJmHnHtH jiMh.UjLh.UjoLh.Ujh.Uh.h.OJQJaJmHnHtH 4!5"5#5&5'5(5O5P5j5k5l5o5p5q5555555555555555555666666,6-6G6H6I6L6M6N6Z6[6u6v6w6z6{6֒쒇jKRh.UhmDh.mHnHsHjQh.UjQQh.UjPh.UjWPh.UjOh.U"h.CJOJQJaJmHnHtH h.jh.Uj]Oh.U4{6|66666666666666666667777773747N7O7P7S7T7U7f7g777777ܾԱԱԏԱԱԏԀuԀjTh.Uh.j?Th.U,hmDh.CJOJQJaJmHnHsH tH jSh.UhmDh.mHnHsH jESh.UjRh.Ujh.UhmDh.mHnHsH,hmDh.CJOJQJaJmHnHsHtH (777777777777777777778888887888R8S8T8W8X8Y8r8s888888888888888888888889j'Xh.UjWh.Uj-Wh.UjVh.Uj3Vh.UjUh.Uj9Uh.Ujh.Uh."h.CJOJQJaJmHnHtH :99 9!9"9%9&9'9a9b9|9}9~99999999999999999999 : :$:%:&:):*:+:9:::T:U:V:Y:Z:[:i:j::::j[h.Uj[h.Uh.OJQJaJmHnHtH jZh.UjZh.UjYh.Uj!Yh.U"h.CJOJQJaJmHnHtH jXh.Uh.jh.U4999+:[::::8;;;1<[<]<{<>??S@@@TBaB$gdA5gdy$gdV/gdEhgdV/gdbEgd>"gd.gd. %gd.gd.::::::::::::::::::::;;1;2;3;6;7;8;z;{;;;;;;;;;;;;;;;<<*<+<,</<0<1<9<:<T<U<V<Y<Z<[<j^h.Uj^h.Uj^h.Uj]h.Uj ]h.Uj\h.Uj\h.Uh.OJQJaJmHnHtH jh.Uh.;[<\<{<1=M=t==W>X>>>>>>>???? @Q@S@@@@@@@@@@@@@@HAȻȡ隓鈚vovhva hBh[; hBhA hBhpLjhBh U hBh hBhyhV/ hBh hBhEh hV/0JP'jz_hQUhV/>*B*UphhQUhV/>*B*ph!jhQUhV/>*B*UphhQUhV/6hQUhV/5 hQUhV/ hBhA5jh.U#HAIAJAoAAAAAAAAAAAAAAAAAAAAAAAAAA BBBBBTBVBaBBBCC!DҽҝҖ~qhBhq^>*B*ph!jhBhq^>*B*Uph hBh2 hBhq^ hBh[; hBhA hBh-sjhBhKlU hBhKl hBh' hBhF& hBhA5 hBhV\ hBhIj hBhpLjhBhU hBh)aBCFDDDFEEFGGHZHH!IIIJJJKwKK6LLMM"gd8$gdq^"gdt+"gd1A6"gdvx.gd gdbE"gdq^gdq^!D"D#DCDDDFDDFEGEHEOEPEQEREEEEEEEEEFFFFFFFFGGGGGGGGGGGGʿyjjhBh?7B*mH phsH hBh*mH sH hBhA5mH sH hBhAmH sH jhBh UmH sH hBh mH sH hBhq^nH tH hBhq^mH sH  hBhq^hBhq^0JP!jhBhq^>*B*Uph'j3`hBhq^>*B*Uph)GGGGGHHH;HHh gh(`h>Hh ghBh>5Hh gh>5 hBhu' hBhN hBhA hBhpLjfhBh\0;U hBhCL] hBhS?hBhA\jehBh\0;UjhBhU hBh hBh-shBh-smH sH !SUU\XXZZ][\%]3^E^^^^^ _2gdKm2$gdYD$gdYDgdYD"gdk$$gdO"gdEhgdkGC$Eƀ ggd>UUUUUUUV[X\X]XkXmXXXXXXY*Y$ZZW[][c[\\\\\\\$]%]+]C]F]Q]R]]]]»»´qZ*B*OJQJU^JmH phsH ,hBhL:>*B*OJQJ^JmH phsH 5jhBhL:>*B*OJQJU^JmH phsH hBhs WmH sH hBhL:mH sH hBhkmH sH  hBhk hBh R9 hBhs W hBhL:hBhL:5\hBhzmH sH hBhEhmH sH  hBhEh hBhzhBhz^J]]]]]]]]]]]]^^^3^E^T^U^^?____MaNaǼDZDZǠDŽ}v}k`kYRK hBh hBhA5 hBh[;hmDhpLmH sH hBhpLmH sH  hBh%( hBh-shBh-smH sH  hBhOJQJ^JmH sH  hBhL:OJQJ^JmH sH hBh R9mH sH hBh(ZmH sH hBhL:mH sH 5jhBhL:>*B*OJQJU^JmH phsH $hBhL:0JPOJQJ^JmH sH  _?________`dffMgllmGngdqOgdbE$$gdpLAgd>":gdWgdMrgdbE.gdpL2gdpL2gd-sNaOasaaaaaaaaaaaaaaaaaaab*b+b,b-b.b0b1b2b^bnbobpbqbvbxbybbbbbbbbbbc+c,c/c0c1cccccddddddddʿ߿ѱ hBh' hBht+ hBh2jhBh&U hBh& hBhA5 hBh- hBhA hBhpL hBh jhBh U@ddddeeee e eeeeeeeeeeeefffffffffffffffffgggĹIJҫ҇qf҇҇jnhhBhpLU+jH hBhmOJQJUVnHtHjhBhA5UjghBh{ UjhBhI}U hBhI} hBhpLjhBh"U hBh" hBhKm hBhA5 hBh7U hBhA hBh-sjhBhKlU hBhKl(ggMghg}gggggggggg8hLhShThUhfhvhwhxhyhzh{hhhhhhhhhhwjwajjwhBhpLPJjhBh PJUhBh PJ hBhA hBh-sjhBhKlU hBhKl hBh} hBhEhBh}PJhBhFPJhBh.PJhBh.PJhBh~[PJhBh* PJhBh}PJ hBhA5jhBhA5U"hhhhhhhiiiii%i&i'i(i)iOiTidisi|iiiiiiijjjjj)j-j7ju@uAuBu_ufumupuquvuxuyuuuuuuuuuuúޱzsl^lWl hBhX(hBhU35OJQJ^J hBhU3 hBhW hBhYhBhK$6hBhSf6 hBhSf hBhK$hBh. :PJhBhmaDPJhBhPJhBh>"PJhBh57^PJhBhiF7PJhBhX PJhBhPJ hBhAjhBh.U hBhpLuuu vvvvv v"v#v3vGvvvww w1w7w8w9wYwZwjwkwlwmwnwowwwwwwǾǷ{tmfm_X hBhb hBhEh hBhara hBh>" hBh# hBh-sj}hBh:6'U hBhuQjhBhuQU hBhKl hBhPY hBh~[ hBhA5hBh~[PJhBhPJhBhU3PJ hBhU3 hBhA hBhpLjhBh"U hBh""#vv1wy7{iFREƀZ Ggd6FREƀZ Ggd6gdA5gdwwwwxxxxxxx x{?{[{ʼ؜߀r߼k`kjhBhPYU hBhPYjhhBh5U hBh hBhbjˈhBhGUjhBhJ0U hBhJ0 hBh hBh hBhA5 hBhara hBh>" hBh# hBhAjhBh U hBh-sj2hBh5U"[{\{l{m{n{o{{{|||-|.|/|0|M|N|~~!2;?Fms+,-5øøظñêwpha hBhYhBhj_6 hBhiF7hBhA?T6 hBhA?T hBhIU hBhj_hBhIUmH sH hBhj_mH sH  hBh{o hBhbjhBhA5U hBhA5 hBh80 hBhPY hBhAjhBhPYU hBhpLjhBh gU"7{|M|U|| '$Ifgd>" +$$Ifa$gdN9gd>"FREƀZ GgdPY||||tk '$Ifgd>" +$$Ifa$gdN~kd$$IfTl0 Z$ 0v$644layt>"T|||r}tk '$Ifgd>" +$$Ifa$gdN~kdN$$IfTl0 Z$ 0v$644layt>"Tr}s}}}tk '$Ifgd>" +$$Ifa$gdN~kd$$IfTl0 Z$ 0v$644layt>"T}}}~tk '$Ifgd>" +$$Ifa$gdN~kd$$IfTl0 Z$ 0v$644layt>"T~~%~~tk '$Ifgd>" +$$Ifa$gdN~kdX$$IfTl0 Z$ 0v$644layt>"T~~~~tk '$Ifgd>" +$$Ifa$gdN~kd$$IfTl0 Z$ 0v$644layt>"T~~~!2|bT{vqke`[V"gdIUgdIU"gd\0;$gd}$gdIUgdbEgdbEgd{o~kd$$IfTl0 Z$ 0v$644layt>"T 5;ր=>no|͂҂ׂbghw}޻鰤𛑛{ochBhIUmHnHuhBhIU6mH sH hBhA?TmH sH hBhIUmH sH hBhIU6PJhBhIUPJhBhj_6mH sH hBhj_mH sH  hBhA hBh}jbhBh\0;U hBh_jhBh_U hBhj_ hBhIUhBhIU6!Tׅ*qs}~ֆ)tvRu.$gdIU$gd=/gd=/$gdIU.gdIU Lj ĉʼn~Ԋڊuouv{эۍ!46Ύ򷰨淋 hBhj_hBh2omHnHuhBhIUhEhBhIU6 hBhIUhBhIUmH sH hBh$TmHnHuhBhA?TmHnHuhBhsmHnHuhBhIUmHnHuhBhIU5mHnHu4u͋<fhršo6gdbE$gdIU$$gdIUΎԎEK܏ݏBK.BOʓ͓̓ߓ⯤tithBhpLmH sH jhBh"UmH sH hBh"mH sH hBhtgmH sH hBhuRmH sH hBhIUmH sH hBhqmH sH hBhq6 hBhAjhBhqUhBhq5OJQJ^J hBhq hBhoe hBhj_hBhj_6)ߑߕTV؝0\žϞ0IST{$gdWe.gdMrgd\0;gd'$gd6"IgdbEgd.n"gdq$gdW;OQRdtuvwx̔єӔ۔ݔvwxǕ֕ەߕXZггггШгггЏvov hBhpLjhBh"U hBh" hBh'K hBhq#hBhq6OJQJ^JmH sH hBhIUmH sH #hBhq5OJQJ^JmH sH hBhpLmH sH hBhqmH sH hBh"mH sH jhBh"UmH sH hBhAmH sH )>RZlΗח )<HјԘ6JU[f*+JٽِwhBh_0Jf6jhBh_0Jf6U hBhhBh0Jf6"hBhj_0Jf56OJQJ^JhBhj_0Jf6hBhj_0JfhBhj_6hBhIUmH sH  hBhj_ hBhq hBh"jhBh"U hBhA+JK[\ab-?JUЛԛ9:JKPQSTcoprsȿȿȿȸȞȿٔ|ȸumfufu_ hBh92 hBh05hBh\G%6 hBh\G%hBh]jhBh_U]hBh_0Jf6"hBhj_0Jf56OJQJ^JhBhj_6 hBhj_hBhj_0JfhBhj_0Jf6 hBhAjhBh_0Jf6UhBhpL]jhBh\0;U]%Мќל؜ٜڜۜ>?OPSTUVZfhjlsx֝ʿʱؿѿʿʣؿѿʜwlhBhj_mH sH hBhMrmH sH hBhtgmH sH hBhj_6 hBhj_ hBh'j]hBh\G%Uj‘hBh gUjhBh\G%U hBh\G% hBhA hBhpLj1hBhXU hBh92jhBh92U&֝ם؝ޠIOPUeghsáס,4T]q{ *-.޸ެ޸޸޸޸޸ޚ޸޸޸ޚ޸޸޸ޚyhBhj_PJmHnHu%hBhj_0Jf56^JmHnHu"hBhj_0Jf6^JmHnHuhBhEKmHnHuhBhj_5mHnHuhBhJ4mHnHuhBhmHnHuhBhj_mHnHuhBhj_mH sH hBh-mH sH ,{؟!>KrŠϠРI}ء6ILTr$gdWe +-.Jɥ]024ۧݧާgԫ$gdq^gdbE.gdMr"gdgdMrgdbE$gdMr$gdWe.Jwxy~ޣ!%-1AJK_gkϽϽypcZhBh_PJjhBh_PJUhBh6"IPJhBhj_6PJ hBh R9hBh R9OJQJ^J hBhAhBhdHPJjhBh PJUhBh PJhBh.LPJhBhM2PJhBhPJhBhPJhBh&PJhBhj_PJhBhIUPJmH sH "=>NORSXɥѥżżtiN5jhBh R9>*B*OJQJU^JmH phsH hBh R9mH sH hBh R9PJmH sH hBhvPJ hBh6@hBh6@PJhBhj_PJhBh0 PJjhBh#PJUhBh.LPJjhBh.LPJU hBhAjhBh_PJUhBhIUPJjhBh\0;PJU/01Z[]de}~˰tcRD8,hBh R9\mH sH hBh'K\mH sH hBh R95\mH sH  hBh'KOJQJ^JmH sH  hBh R9OJQJ^JmH sH  hBhKmOJQJ^JmH sH hBh R9PJmH sH hBh R9mH sH $hBh R90JPOJQJ^JmH sH 5jhBh R9>*B*OJQJU^JmH phsH ;jhBh R9>*B*OJQJU^JmH phsH ,hBh R9>*B*OJQJ^JmH phsH  ƦǦʦ˦Ϧ34<=LMg㛐zocWcWcWchBhvmHnHuhBhj_mHnHuhBh-mH sH hBhMrmH sH hBhtgmH sH hBhj_mH sH  hBh R9OJQJ^JmH sH hBh'K\mH sH hBhAmH sH hBh(Z\mH sH &jShBh#U\mH sH hBh R9\mH sH  jhBh R9U\mH sH ghʧ˧ͧӧڧܧݧާߧ"#DEFGЬӷ癉}q}f[TITIBIT hBhAjhBhj_U hBhj_hBhj_mH sH hBhWemH sH hBhvmHnHuhBhj_mHnHuhBhj_PJ\mHnHuhBhj_PJmHnHuhBhj_0JPPJmHnHu6jڕhBh\0;>*B*PJUmHnHphu'hBhj_>*B*PJmHnHphu0jhBhj_>*B*PJUmHnHphuԫ!:o'GU$EƀZ G)gdq^GU$EƀZ G)gdq^GU$EƀZ G)gdq^:miIU & F EƀZ G)gd3$gdpLFUEƀZ G)gd-ЬԬ٬%&1>EFJKUsyz~ǭέϭڭ %./:k NO hBhA hBhpLjhBh\0;U hBh_jhBh_U hBhX( hBh2~ hBh6"I hBhj_.hBhj_0Jn5CJOJQJmH nH sH u>=k!IU & F EƀZ G)gd3IU & F EƀZ G)gd3IU & F EƀZ G)gd3iҰ*fgҲӲ TbcpֽքxhhBhj_0JmmH nH sH uhBhj_6mH sH hBhmH sH  hBhAjhhBhj_UjhBhj_U hBhEh hBhJ1hBhj_0Jn5CJOJQJ\mH nH sH uhBhj_mH sH .hBhj_0Jn5CJOJQJmH nH sH u hBhj_'iah TBζ8}R ix.gdMr3$gd6"I"gd~i 3$gd2~"gd]s3gdMr"gdMr3$gd6"I$gd6"IgdbEgdMrpqζҶԶضܶ"#$%&'67845no#ߺٸ}vvb'hBhj_0JmCJaJmH nH sH u hBhOhBhumH sH hBhp"mH sH hBhAmH sH hBhWmH sH jhBh UmH sH hBh mH sH hBh2mH sH hBhmH sH hBhhlmH sH hBhj_5CJOJQJ hBhj_ hBhhl& Dt-.RS jr:;<bcdefgCEFk{|}~6򒠊xqxjxc hBh3 hBhA hBhdHjhBh U hBh hBhA\jhBh\0;UjhBhj_U hBh_ hBhiF7 hBhtghBhj_0JmmH nH sH u'hBhj_0JmCJaJmH nH sH uhBhj_5CJOJQJ hBhj_ hBhO&689^nopqrt{ !12345R˹˹ٮwlhBhAmH sH hBhp"mH sH #jxhBh~i UmH sH jhBh~i UmH sH hBhmH sH hBh~i mH sH  hBh2~jhBh"U hBh" hBhm hBhj_ hBhA hBhdHjhBh U hBh (RST{|}¶lR8-hBh~i mH sH 3hBhAh cHdhdhdhƛ gmH sH 3hBhp"h cHdhdhdhƛ gmH sH 3hBh h cHdhdhdhƛ gmH sH <jhBh h UcHdhdhdhƛ gmH sH !Hhƛ ghBh mH sH jh UmH sH #jh h? UmH sH Hhƛ gh mH sH $jHhƛ gh UmH sH hBh mH sH kQ7,hBh mH sH 3hBhAh cHdhdhdhǛ gmH sH 3hBhp"h cHdhdhdhǛ gmH sH 3hBh h cHdhdhdhǛ gmH sH <jhBh h UcHdhdhdhǛ gmH sH HhǛ gh mHnHuHhǛ ghTh jh UmH sH #jh h? UmH sH HhǛ gh mH sH $jHhǛ gh UmH sH DM3679:L\]^_`&6789:<Cmopxʼ㵪êʼʼ㑆hBhMrmH sH hBhJmH sH  hBhtg hBh:jhBh U hBh hBhA hBhdHjhBh"U hBh" hBh6"I hBhj_hBhp"mH sH hBh~i mH sH 07MTek{BIah&HNOTeghky޸ެެެެޠގގsgghBhvmHnHuhBhmHnHuhBhj_5\mHnHu#hBhj_0Jb^JaJmHnHuhBh)mHnHuhBh(mHnHuhBhZmHnHuhBh=bmHnHuhBhj_^JmHnHuhBhj_mHnHuhBhJmH sH hBhj_mH sH (h1O{ Q@s$./H"@Heh$gdMr$gdWeAGJQdfgijx )󷫷󷫷hBhMl9mHnHuhBh(mHnHu#hBhv0Jb^JaJmHnHu#hBhj_0Jb^JaJmHnHuhBhvmHnHuhBhj_mHnHuChin*v$gdMrx19:;<=>DEFGNopxմhBhj_5mHnHuhBhv5\mHnHuhBhj_5\mHnHu#hBhv0Jb^JaJmHnHu#hBhj_0Jb^JaJmHnHuhBhj_mHnHuhBhvmHnHu;Yw=Eo#{Mw$$gdW;$gdMr "wx~Ϸã{hBh=bmHnHuhBhv0JbmHnHuhBhj_0JbmHnHu&hBhj_0Jb5^JaJmHnHuhBh(.mHnHuhBhvmHnHuhBhj_mHnHu#hBhj_0Jb^JaJmHnHu#hBhv0Jb^JaJmHnHu-ACDr<TEx$gdD/$gd13.gdMr3$gd6"I3gdMrgdMr$gdMr*+,=>@ABD%&*+5׽韓zbzbzbzbzbzbzbzbzbzbz.hBhj_0Jn5CJOJQJmH nH sH u hBhj_#hBhj_0Jb^JaJmHnHuhBhvmHnHuhBhj_mHnHu#hBhj_0JP^JaJmHnHu2j)hBh\0;>*B*UmHnHphu#hBhj_>*B*mHnHphu,jhBhj_>*B*UmHnHphupqru,:;<?иgZRHghBhj_PJ\hBhj_\hBhj_OJQJ^J4hBhj_0Jn56CJOJQJ]mH nH sH u hBhMr hBhtghBhj_PJ.hBhj_0Jm5CJOJQJmH nH sH u hBhj_.hBhj_0Jn5CJOJQJmH nH sH u+hBhj_0JnCJOJQJmH nH sH u1hBhj_0Jn56CJOJQJmH nH sH u!DHRT^_ҬҬuXuMBhBhMrmH sH hBhtgmH sH 8hBhj_0Jn56CJOJPJQJ]mH nH sH u5hBhj_0Jn5CJOJPJQJ]mH nH sH u6hBhj_0Jn5CJOJPJQJ^JmH nH sH u<hBhj_0Jn56CJOJPJQJ]^JmH nH sH u hBhMrhBhj_OJQJ^JhBhj_PJ hBhj_hBhj_0JnmH nH sH u_jn $-4@GU\inry2,12ʲʦxxxhhBhj_0JnmH nH sH u.hBhj_0Jn5CJOJQJmH nH sH u hBhj_hBhj_5\mHnHuhBhj_mHnHu.hBhj_0Jn5OJQJ^JmH nH sH uhBhj_^JmHnHuhBhJmH sH #hBhj_5OJQJ^JmH sH hBhj_mH sH (+>Sfiq-12.666\~$gd jR$gd.gdMr3gdMr$$gdJ$gdDH$gd13$gdD/$gd\0;29D.14569@`bcك|||dThBh0i 0JnmH nH sH u.hBh0i 0Jn5CJOJQJmH nH sH u hBh m hBh0i hBhtgPJhBhj_6PJ]hBhJ4PJhBhj_PJhBhj_0JnmH nH sH u.hBhj_0Jn5CJOJQJmH nH sH u hBhMr1hBhj_0Jn56CJOJQJmH nH sH u hBhj_4569CINOPnostuƽƴvcY>cY4hBhj_0Jn56CJOJQJ]mH nH sH uhBhj_6]%hBhj_0Jn6]mH nH sH u1hBhj_0Jn5CJOJQJ]mH nH sH uhBhj_6PJ]hBhJ4PJ hBhj_hBhj_PJhBhMrPJhBhtgPJhBh0i PJ hBh0i hBh0i 0JnmH nH sH u1hBh0i 0Jn56CJOJQJmH nH sH u $%,GHOVWZ[nov}~8Nᮟzs[.hBhj_0Jn5CJOJQJmH nH sH u hBhj_hBhj_mH sH hBhj_^JmHnHuhBhvmHnHuhBhj_5\mHnHuhBhj_mHnHuhBhtgPJmH sH hBhMrPJmH sH hBh PJmH sH hBhj_PJmH sH hBhj_PJhBhJ4PJ##FmfE#?DJgdMr3gdMrgd~o"gd~ogdMrgdbE$gdMr$gd\0;$gdD$gd jR$gdN[rfEH #<Dipr7jhBh2~UhBh2~CJOJQJ\hBhsln\ hBh2~ hBhslnhBhslnmH sH hBhj_h) hBhMrhBhj_mH sH hBh=/mH sH .hBhj_0Jn5CJOJQJmH nH sH u hBhj_,DiGkd$$IfTl\ k8"W0T"644layt2~T +$Ifgd2~9gdw>_gdbE NOPWCkdM$$IfTl\ k8"W0T"644layt2~T,$Ifgd2~o̫F ,$Ifgd2~78HILMNO_`$%OP`afghi/0j{hBh2~UjhBh2~Uj?hBh2~UjhBh2~Uj=hBh2~UhBh2~5\ hBhAjhBh2~U hBh2~jhBh2~U5WXQkdΝ$$IfTl\ k8"W0T"644layt2~T ,$Ifgd2~hZQQQQ ,$Ifgd2~kdO$$IfTl\ k8"W0T"644layt2~ThiZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~T5ZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~T03456XYyzLM]^cdef*+0123QRjhBh2~UjWhBh2~UhBh2~6jЧhBh2~UjohBh2~UjhBh2~UhBh2~5\ hBh2~jhBh2~U hBhA856IJQZLLLL,$Ifgd2~o̫Fkd$$IfTl\ k8"W0T"644layt2~TUL>LL,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644lagFyt2~TeZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~Tef}~ZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~T2ZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~T23<=IQZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kda$$IfTl\ k8"W0T"644layt2~TQR[\iZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd5$$IfTl\ k8"W0T"644layt2~TRpq #$%&I`az #$FGWX[\]^z{jhBh2~Uj8hBh2~UjhBh2~UhBh2~6jhBh2~UhBh2~5\ hBhAj hBh2~UjhBh2~U hBh2~8%ZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~T%&;<I`ZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~T`almzZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~T ZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~T ]ZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kdH$$IfTl\ k8"W0T"644layt2~T]^efsZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kdͳ$$IfTl\ k8"W0T"644layt2~TZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kdL$$IfTl\ k8"W0T"644layt2~T1HIbyz%&+,-.PQqr +,jhBh2~UjhBh2~Uj4hBh2~UjϺhBh2~U hBhAjphBh2~UjhBh2~UhBh2~5\hBh2~6 hBh2~8ZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd $$IfTl\ k8"W0T"644layt2~T !1HZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~THIQRbyZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kdȷ$$IfTl\ k8"W0T"644layt2~TyzZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~T-ZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~T-.89IZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd`$$IfTl\ k8"W0T"644layt2~TZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kdż$$IfTl\ k8"W0T"644layt2~TDZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd&$$IfTl\ k8"W0T"644layt2~T,<=BCDEhi,-PQabhijk)*/012WXzj hBh2~UjhBh2~Uj5hBh2~UjhBh2~UjchBh2~UhBh2~5\ hBhAjhBh2~U hBh2~;DEPQaZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~TZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~T%jZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kda$$IfTl\ k8"W0T"644layt2~TjkxyZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~T1ZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd7$$IfTl\ k8"W0T"644layt2~T12>?PZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd$$IfTl\ k8"W0T"644layt2~Tz{8E7:vyZ_adelnv{ο~~~~~w hBh+hBh6 hBhD hBhMr hBh hBhiF7 hBhj_hBhslnmH sH hBhj_mH sH  hBhslnhBh2~6hBh2~5\ hBhAjhBh2~U hBh2~jvhBh2~U*ZQCQQ,$Ifgd2~o̫F ,$Ifgd2~kd $$IfTl\ k8"W0T"644layt2~T7vZUPKFFFF3gdMrgd\0;gdbEgdw>_kd$$IfTl\ k8"W0T"644layt2~T $01 `ap"Xblt~üõãüÎÆüxqqjc hBh hBhCU hBhk hBhi hBhiF7hBhA56 hBhN- hBhX( hBh##hBh6CJOJQJ^JaJ hBhKY hBhK hBhA5 hBh[; hBhMr hBhAjhBhj_U hBhj_jhBhj_U& 6v /;<=I +$$Ifa$gdn9gdugdbE$gd&x$gd~d$gdo|.gd13gd&gdbE3gdMr*,.028:^`npvxҺެގzfzT#hBhPJ^JaJmHnHu&hBh.hQ5PJ^JaJmHnHu&hBh5PJ^JaJmHnHu#hBh~dPJ^JaJmHnHuhBhmHnHuhBh5mHnHuhBho|mHnHuhBh>"mHnHuhBhA5mHnHuhBh~dmHnHuhBhA5mH sH hBh13mH sH *1ٳzszlzeZeLEZ>Z hBhA hBhdHj6hBh.UjhBh.U hBh. hBh hBhb hBhA5hBhA5mHnHu&hBh5PJ^JaJmHnHu#hBh.hQPJ^JaJmHnHu#hBhPJ^JaJmHnHu&hBh#PJ\^JaJmHnHu&hBhPJ\^JaJmHnHu#hBh>"PJ^JaJmHnHu %&6789:Dpy#$LMNyzʼѮʧyr hBhdHj4hBhr6UjhBhrU hBhp" hBh& hBhr hBh~ hBhA hBh-sjhBhEU hBhDYijhBhDYiU hBhthBhA5mH sH hBh[;mH sH  hBhA5,/  򲽲򩢐oo" j hBhA5CJOJ QJ aJhBhnCJOJ QJ aJ" j hBhnCJOJ QJ aJ hBhnhBhn^JjhBhA5U hBhA hBh|( jhBhw}U hBhxBjhBhxBU hBh6 hBhA5 hBhr+IP[fnt~  ,$IfgduFf +$Ifgdu   "#$*+,-.02468GHFf ,$Ifgdu +$IfgduFf !#./0123456789:;@FGHQRSTZ[abcdefno#$PQƿ hBh&hBh+!6 hBh+! hBhu hBh hBh6"I" j hBhiF7CJOJ QJ aJhBhA5CJOJ QJ aJ" j hBhA5CJOJ QJ aJ hBhA5:HINOPQSUVWXYZ[\aceghijklmnoFf ,$Ifgdu +$IfgduFfopxyz{|}~ ?$IfgduFf ,$Ifgdu +$IfgduFfQRstLR[\ouw}ʻʱʢ~sldd]dddd hBh%hBhA56 hBh9qhBhA5mH sH hBho|mH sH hBh[;mH sH  hBhA5 hBhhBhCJOJ QJ aJhBh+!6]hBh+!6 hBhu hBh+! hBhA hBhdHj%hBhpU hBhpjhBhpU$       ! L ||||||t$$$gd)$gdWe.gd&gdbEgd&nkd$$IfTF4%0644Faf4ytuT      ! ' j r                      L M Q øá}ohBh5mHnHuhBhw,mHnHuhBho|mHnHuhBh>"mHnHuhBhA5mHnHuhBh]mH sH hBh6mH sH hBh5mH sH  hBhV hBh& hBhf hBhiF7hBhA56 hBh% hBhA5&Q ` f k s t { | }                   # 7 շՍtm_XtQtJ hBh hBhA hBh-sj_hBh5U hBhtjhBhtU hBhDYi hBhA5hBhA5mHnHuhBhPJ\mHnHuhBh>"PJmHnHuhBhPJmHnHuhBh.hQ5PJmHnHuhBh5PJmHnHuhBh5mHnHuhBhmHnHuL   7 B Y x         f o        $$gdJ.$gdJ$gdJgdbE$gdk$gdWe.gd&gd&$gd&7 > @ A B S T U V W l m u v                ӻӯӡygU#hBhDoPJ^JaJmHnHu#hBh#PJ^JaJmHnHuhBht\mHnHuhBhDo\mHnHuhBhDomHnHuhBhDo5mHnHuhBh #mHnHuhBho|mHnHuhBh>"mHnHuhBhA5mHnHuhBh]mH sH hBh6mH sH hBho|mH sH                       " & - ڶڢti^SLEL hBhh hBhA5hBhA5mH sH hBho|mH sH hBh[;mH sH hBhA5mHnHuhBhA55mHnHu&hBh#PJ\^JaJmHnHu&hBhDoPJ\^JaJmHnHu#hBh>"PJ^JaJmHnHu#hBh.hQPJ^JaJmHnHu#hBhDoPJ^JaJmHnHu&hBhDo5PJ^JaJmHnHu- 6 7 D M T Y z                : ; K L Q R S T \ f m n o  𴭟thhBhA5mHnHuhBh]mH sH hBho|mH sH  hBh hBhA hBhJjhBh^U hBhegjhBhegU hBhDYi hBhp hBh\_l hBh# hBh  hBh hBhiF7 hBhA5hBhA56$                       '(絩ygygUyg#hBh(!PJ^JaJmHnHu#hBhDoPJ^JaJmHnHu&hBhDo5PJ^JaJmHnHuhBh5\mHnHuhBhDo\mHnHuhBhDomHnHuhBhDo5mHnHuhBh5mHnHuhBhZ}mHnHuhBho|mHnHuhBhA5mHnHuhBh>"mHnHu()01>?ABCDJKTX\bkv #dzzslsdslslsls]sdsVOs hBh!I hBh# hBh hBhA56 hBhMB hBhA5hBhA5mH sH hBho|mH sH hBh[;mH sH hBh^{mHnHuhBhA5mHnHu&hBhDo5PJ^JaJmHnHu#hBhDoPJ^JaJmHnHu&hBhDoPJ\^JaJmHnHu#hBh>"PJ^JaJmHnHuCDT Imn|k ,$1$Ifgdw1#9gd.V$$gd=/gd=/$gdWe.gd&gd&gdbE$gd&#)78<BCDnoɻЭ雐xlxxxxx`hBh<mHnHuhBh\PmHnHuhBh>"mHnHuhBhA5mHnHuhBh]mH sH hBho|mH sH  hBh:r hBhA hBhdHjhBhegU hBhegjhBhegU hBhDYi hBh6"I hBhA5 hBh!IhBhA56$ $0123:@BHJQRSWX[\ijklͿٝweQ=QwQew&hBh#PJ\^JaJmHnHu&hBh[PJ\^JaJmHnHu#hBh>"PJ^JaJmHnHu#hBh[PJ^JaJmHnHu&hBh.hQ5PJ^JaJmHnHu&hBh[5PJ^JaJmHnHuhBh5\mHnHuhBh[\mHnHuhBh[mHnHuhBh[5mHnHuhBhA5mHnHuhBh5mHnHulmntu|U`abcYZ[^noqrsvƿ hBh` hBh2/ hBhy hBhiF7 hBhBFhBhA56 hBh%h hBhA5hBhA5mH sH hBho|mH sH hBh[;mH sH hBhA5mHnHuhBhHmHnHu7 '(23GKMNX[`abcdhijkqrhBh5aJhBh55\hBh55\aJ hBhAjhBh5U hBh5 hBh7U hBh hBh_'M hBhiF7 hBh# hBhA5 hBh` hBhy8tii ,$1$Ifgdw1#kd4$$IfTF440qE t06444laf4yt6"ITtii ,$1$Ifgdw1#kd$$IfTF440qE t06444laf4yt6"IT    )*01:;FGSTcdtu1<=FGʺںʨʨʕ~hBh5OJQJ^JaJhBh55hBh55\aJ hBhAjhBh5U hBh& hBh6"IhBh)aJ hBh5hBhaJhBh6"IaJhBhk aJhBh5aJhBh)^JaJ1tii ,$1$Ifgdw1#kd$$IfTF440qE t06444laf4yt6"ITtii ,$1$Ifgdw1#kd>$$IfTF440qE t06444laf4yt6"IT #)tii ,$1$Ifgdw1#kd$$IfTF440qE t06444laf4yt6"IT)*-0tii ,$1$Ifgdw1#kd$$IfTF440qE t06444laf4yt6"IT014:tii ,$1$Ifgdw1#kdH$$IfTF440qE t06444laf4yt6"IT:;>Ftii ,$1$Ifgdw1#kd$$IfTF440qE t06444laf4yt6"ITFGJStii ,$1$Ifgdw1#kd$$IfTF440qE t06444laf4yt6"ITSTWctii ,$1$Ifgdw1#kdR$$IfTF440qE t06444laf4yt6"ITcdgttii ,$1$Ifgdw1#kd$$IfTF440qE t06444laf4yt6"ITtutk ?$Ifgd6"Ikd$$IfTF440qE t06444laf4yt6"IT15<}rr ,$1$Ifgdw1#9gd]gd&wkd\$$IfTF44 t06444laf4yt:T<=?F{pp ,$1$Ifgdw1#kd$$IfTF0  t06444laytw1#TFGIP{pp ,$1$Ifgdw1#kd$$IfTF0  t06444laytw1#TGPQZ[hipq}    :U^hx7AWb  hBhQU hBh]A hBhJ4 hBhs hBh.hBhA55hBhA55CJOJQJhBhA5CJOJQJ hBhA5 hBh5hBh5OJQJ^JaJ?AHIJ[\]^_tu{|  ym_ShBh[mHnHuhBh[5mHnHuhBhZJmHnHuhBhomHnHuhBhn)mHnHuhBhC?mHnHuhBh>"mHnHuhBhA5mHnHuhBh6mH sH hBhtmH sH  hBhA5 hBh & hBhA hBh-sjhBhKlU hBhKl hBh'  vwn!#%C&')*=*c****$gdE.gd&"gd&gd&3gd&3$gd A$$gdM2gdM2$gd&$$$gd)$$gd)&'(JKST[\]derstuvʼʐ|jXDjDXj8hBh*0mHnHu&hBh[PJ\^JaJmHnHu#hBh>"PJ^JaJmHnHu#hBh[PJ^JaJmHnHu&hBh.hQ5PJ^JaJmHnHu&hBh[5PJ^JaJmHnHuhBhn)mHnHuhBhmHnHuhBh>"5mHnHuhBh[5mHnHuhBh[mHnHuhBhC?\mHnHuhBh[\mHnHuvw}~.GJU`klrs»ʻu\uUGhBh+K5OJQJ^J hBh(1hBh+K0Jn56CJOJQJmH nH sH u.hBh+K0Jn5CJOJQJmH nH sH uhBh+K6 hBh+K.hBhV0Jn5CJOJQJmH nH sH u hBhV hBhyhBhA56 hBhA5hBhA5mH sH hBho|mH sH hBh+omH sH hBhA55mHnHu.9?EK\]r~»״梭הnf_ hBh&hBhV6.hBh{o0Jn5CJOJQJmH nH sH u hBhl/ hBhe hBh{" hBh-sjhBhKlU hBhKl hBh' hBhv* hBhV hBh\/ hBh| hBh; hBh+K6 hBhA hBh+KjhBh+KU!'2<=CJdfxy̾rZZZZ.hBh50Jn5CJOJQJmH nH sH u.hBhCO0Jn5CJOJQJmH nH sH u.hBh.J0Jn5CJOJQJmH nH sH u hBh5 hBh.J hBhCO hBhe hBh.b hBh| hBh; hBh\/ hBh+K hBhV.hBhV0Jn5CJOJQJmH nH sH u# qyKL\]bck{| žžžxxqjxjbjhBh+K6 hBh+K hBh(.hBhV0Jn5CJOJQJmH nH sH u hBhA hBhX(jThBhHU hBhRjhBhRU hBh} hBhV hBh& hBhCO hBh5 hBh|.hBh50Jn5CJOJQJmH nH sH u& p   E F h i j k ~        !!!!©ڢڔډډzsle^eW hBh hBh hBhfI hBhB hBh|hBh{"6 hBhAjhBh{"UhBh{"5OJQJ^J hBh(1hBh{"0Jn56CJOJQJmH nH sH u.hBh{"0Jn5CJOJQJmH nH sH u hBh{".hBhV0Jn5CJOJQJmH nH sH u hBhV"!!!!!!!!!!"""."7"q""""""""""""####&#)#F###### $ $$#$]$^$a$b$$$$$ŷşşşşşşşş򑆑jhBh U hBh hBh>".hBh|0Jn5CJOJQJmH nH sH u hBh( hBhx hBh|.hBhV0Jn5CJOJQJmH nH sH u hBh hBh& hBhV hBhfI2$$$$$$$$%%#%.%:%l%%%%%%%%%%M&X&r&}&&&&&&&&&&&&&3'>'ٺٺٳ٬٥٥ٺٖvovvٺ hBh-sjhBhKlU hBhKl hBh' hBh_ hBh_hBhx6 hBhx hBh& hBh1.hBhV0Jn5CJOJQJmH nH sH u hBh: hBhV hBh hBhAjhBh U hBhdH(>'D'E'''''''''''''''''(1(E(P(o(t((((((((((̺ڛᐄyfZyhBhw5mH sH $hBh[;@PJmH nHsH tHhBhwmH sH hBhc/5mH sH hBhc/mH sH .hBh_0Jn5CJOJQJmH nH sH u hBhA hBh-sjhBhKlU hBhKl hBh' hBh_ hBhV.hBhx0Jn5CJOJQJmH nH sH u!((((((((([)`)))))))))))))* *****影zoWWWLhBh1&mH sH .hBhV0Jn5CJOJQJmH nH sH uhBhEmH sH hBh+3DmH sH hBhmH sH hBhVmH sH hBh13mH sH hBhNmH sH hBhc/5mH sH hBhc/mH sH hBhAmH sH #jhBh5fuUmH sH hBhwmH sH jhBhwUmH sH **4*5*:*;*=*>*?*U*V*`*a*d*e*f*}*~*************************++ +++++++#+$+%+(+/+0+紨ϚhBh.hQmHnHuhBh55mHnHuhBhmHnHuhBhrumHnHuhBh55\mHnHuhBh5mHnHuhBh>"mHnHuhBhVmHnHuhBh>0 mHnHu8****+&+I+i+l+m+,),P,p,,,,,,,&-o-w----$gd+$gd;$gdx.gd&$$$gd=/$gdE$gd50+1+F+G+H+I+K+R+Y+Z+]+^+b+f+i+j+k+l+m+t+v+w+x++++++۲۲۲Ϥti^tFtFt.hBhV0Jn5CJOJQJmH nH sH uhBh+3DmH sH hBh>0 mH sH hBhVmH sH hBh13mH sH hBhEmHnHuhBhV5mHnHuhBhN5mHnHuhBhu%:^JmHnHuhBhu%:5\mHnHuhBh.hQmHnHuhBhu%:mHnHuhBh5mHnHuhBh>"mHnHu+++,,,,,&,',),+,A,B,M,N,Q,S,j,k,l,m,q,s,,,,,,,,,,,,,,,,,,,---$-&-'-+-ǻ|hBh+5\mHnHuhBh+mHnHuhBhxmHnHuhBh>"mHnHuhBhVmHnHuhBh;mHnHuhBhVmH sH hBh1&mH sH hBh+3DmH sH .hBhV0Jn5CJOJQJmH nH sH u0+-,-6-C-G-R-o-p-t-u-v-y------------------󦚲rf[PhBhVmH sH hBh13mH sH hBhEmHnHuhBht5mHnHuhBhkmHnHuhBhk5mHnHuhBhfmHnHuhBh>"mHnHuhBh.hQmHnHuhBh+5mHnHuhBhxmHnHuhBhVmHnHuhBh+5\mHnHuhBh+mHnHu---\.....///A/d/l////00001<1`1w1111.gd+3D$$gdN.gd&$gdE---- .".-.5.A.H.T.Z.[.\.].r.s.......................////)///5/?/A/B/F/߰}hBht5\mHnHuhBhtmHnHuhBh>"mHnHuhBhVmHnHuhBhA6mHnHuhBh1&mH sH .hBhV0Jn5CJOJQJmH nH sH uhBhVmH sH hBh+3DmH sH hBh>0 mH sH 1F/G/N/O/V/Y/d/e/i/j/k/n/u/v/w//////////////00#090W0b0z00000ʾʦzbbbbbbbz.hBhV0Jn5CJOJQJmH nH sH uhBh+3DmH sH hBhmH sH hBhVmH sH hBh13mH sH hBh\/mHnHuhBh>"mHnHuhBh.hQmHnHuhBht5mHnHuhBhVmHnHuhBht5\mHnHuhBhtmHnHu&00000000000000 1 1111161718191?1A1Y1Z1\1]1b1d1x1z11111111111111222222222 2"2)2+2,2ҷҫҟҟҟhBhXmHnHuhBhmHnHuhBh5\mHnHuhBh>"mHnHuhBhVmHnHuhBh+3DmHnHuhBhVmH sH hBh1&mH sH <1112+232U2X2Y2a3333334A4X4m44444445#5$gd^!.gd+3D$gdX$gd+3D$gdE,202122252<2=2>2S2T2V2X2Y2`2b2c2d22222222 3+353N3Y3_3`3a3b3ֲnnnnnncWhBh^!mHnHuhBh1&mH sH .hBhV0Jn5CJOJQJmH nH sH uhBh+3DmH sH hBhmH sH hBhVmH sH hBh13mH sH hBhmHnHuhBh>"mHnHuhBh.hQmHnHuhBhX5mHnHuhBhXmHnHuhBhX5\mHnHu b3w3x3|3}3~3333333333333333333344444494:4=4>4A4C4X4Z4m4o4444444444444444444455 5 5555555 5!5hBhvImHnHuhBh^!5\mHnHuhBh^!mHnHuhBh.mHnHuhBh>"mHnHuhBhVmHnHuG!5"5%5,5-5.5C5D5F5H5I5O5P5Z5^5h55555555555555˿˿򳨝|ung`UIIhBhA5mHnHuhBhumH sH  hBh13 hBhHn hBh%2 hBh[ hBh hBhA56 hBhA5hBhA5mH sH hBho|mH sH hBh[;mH sH hBhMmHnHuhBh>"mHnHuhBh^!mHnHuhBh^!5\mHnHuhBh.hQmHnHuhBh^!5mHnHu#5E5H5I5Z5555656E6S6T666777`9s9;$gd&$gdWe.gdgd&gdbE$gd^!555 6 666)6*61626T666666666666666666666Ծ精o]#hBh>"PJ^JaJmHnHu#hBh[PJ^JaJmHnHu)hBh[5PJ\^JaJmHnHuhBhfM'5mHnHuhBh.hQ5mHnHuhBh[mHnHuhBh[5mHnHuhBhA56 hBhA5hBhA5mHnHuhBh>"mHnHuhBh_mHnHu67777777O7W7_7`7h7i7j7n7s7w7777777777777Ⱥ~~~wle^PjhBh AU hBhS$` hBh AjhBhA5U hBhDYi hBhs:hBhA56 hBh>" hBh  hBhA5hBhA5mHnHuhBh[mHnHuhBh[5mHnHu#hBh>"PJ^JaJmHnHu#hBh[PJ^JaJmHnHu&hBh[PJ\^JaJmHnHu77777777778,8-8=8>8C8D8G8P8Q8[8\8]8b8}8888888888888888888888899ƿ|jkhBh6"U hBhjhBhUjhBh AU hBhS$`j)hBh AU hBh AjhBh AU hBhDYihBhA56 hBhA5 hBhAjhBhA5U hBh-s0999 9#9$94959:9;9`9f9g9s9w999999999999999: :::::::):+:빮덅yobyoyoyohBhnM0JOJQJhBhnM0Jb5hBhnM0Jb56hBhnM6 hBhnM hBh=hBhA56hBhA5mH sH hBho|mH sH hBh[;mH sH  hBhAjhBhA5U hBh-sjhBh AU hBhA5 hBh A hBhS$`&+:0:2:;:=:A:F:L:M:l:::::::$;0;G;L;P;V;<$<(<4<6<B<b<n<r<}<<<<< ===>=?=V=_=n=o=}=============㣎 hBhAjhBhnMUjhBhnMUhBhnMhN? hBh1& hBhl/hBhnM5OJQJ^JhBhnM6 hBhA5 hBhnMhBhnM0Jb5hBhnM0Jb568;<p=:>k%FTEƀZ G-gd:IU & FEƀZ G)gd:IU & FEƀZ G)gd:==>(>8>9>>>>>>>>>>>>>>>>>?b?d?e?????????@@"@򷬢򛐛{pdphBhnM6mH sH hBhnMmH sH  hBhu hBhA hBh,%jhBh U hBh hBhnMh8chBhnMh8c6hBhnM5OJQJ^JhBhnM0Jb5hBhnM0Jb56hBhnM0JCJOJQJhBhnM6 hBhnM hBh1&$:>??B`BxBBBBBBojd^^YYYY$gdWe$$gdJ.$gdJ"gdnMIU & FEƀZ G)gdYDFTEƀZ G-gd: "@F@g@m@v@@dAlAtAAAAB"B$B%B&B1B"mHnHuhBhA5mHnHuhBhA56]mH sH hBhA5mH sH hBh1&mH sH hBh6mH sH hBhumH sH #hBhnM5OJQJ^JmH sH +hBhnM5CJOJQJ^JaJmH sH hBhnM6mH sH hBhnMmH sH ;hBhnM0Ja56B* CJOJQJ^JaJmH ph!sH sBtBuBvBBBBBBBBBBBBBBBBBBBBC C CCCCCCϷϩ睩wewS#hBh>"PJ^JaJmHnHu#hBh?jkPJ^JaJmHnHu#hBh[PJ^JaJmHnHu&hBh[5PJ^JaJmHnHuhBh[mHnHuhBh[5mHnHuhBhZ%mHnHuhBhHmHnHuhBhA5mHnHuhBh>"mHnHuhBhnMmHnHuhBh_mHnHuBBC0C2C3C|CCCCCCCC)DKDMDNDDDDDDEEECEJE$gdnM.gdnM$gd:$gdBC C!C.C/C0C2C3C=C>ChCtC|CCDDDD D!D"DȶrfXfXfXHXhBhnM5aJmHnHuhBhnM5mHnHuhBhnMmHnHuhBhnM6]mH sH hBh1&mH sH hBhnMmH sH hBh:mHnHu&hBh[5PJ^JaJmHnHu#hBh?jkPJ^JaJmHnHu#hBh>"PJ^JaJmHnHu#hBh[PJ^JaJmHnHu&hBh[PJ\^JaJmHnHu"D&D'D(D)D*D1D3D:D;DHDKDLDNDXDYDDDDEE+E,E-E5E8ECEGEHEIEKERETE[E\EiElEmEEEF FFFFFFFF!F(F)F6F9Fڸڸ쬡̬̬̬ڸڸ̬̬ڸڸhBhnM6]mH sH hBh1&mH sH hBhnMmH sH hBhnMmHnHu&hBhnMPJ\^JaJmHnHuhBhnM5mHnHu#hBhnMPJ^JaJmHnHu&hBhnM5PJ^JaJmHnHu5JElEnEoEEEEEEEEFF9F;FN_NeNoNN^OfOnOzOںᳬᡕwaO#hBh65OJQJ^JmH sH +hBh65CJOJQJ^JaJmH sH ;hBh60Ja56B* CJOJQJ^JaJmH ph!sH hBh66mH sH hBh6mH sH  hBh:b hBhW hBhu hBhA hBh,%jhBh U hBh hBh6hBh65OJQJ^JhBh6hgIzO~OOPPPP PIPJPLPUP^PoPpPqPsPtPuPPPPPPPPPPPPPPȽ}qeYhBhZ%mHnHuhBh&+mHnHuhBh6mHnHuhBh_mHnHuhBh>"mHnHuhBhA5mHnHuhBha6]mH sH hBhA56]mH sH hBhA5mH sH hBh1&mH sH hBh6mH sH hBhumH sH hBh66mH sH hBh6mH sH ^PwPPPPPPPQ?QQQQQQQQRRRRRS!S=S$$gd).$gd)$gd6.gd6$$$gd A$gdB$gdWePPQQQ QQQQQQQQ#Q$Q%Q,Q-Q:Q;Q"PJ^JaJmHnHu#hBhcPJ^JaJmHnHu#hBh[PJ^JaJmHnHu&hBh[5PJ^JaJmHnHuhBh6mHnHuhBh[mHnHuhBh[5mHnHuR RR%R.R0RRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSdThTxTTTIJIJ擈zIJIJIJhBh66]mH sH hBh1&mH sH hBh6mH sH &hBh6PJ\^JaJmHnHu#hBh6PJ^JaJmHnHu&hBh65PJ^JaJmHnHuhBh 5mHnHuhBh6mHnHuhBh65mHnHu0=S[SkSySzSSSSSSSST5TETSTTTdTTTTTTTBVgd=zxgdbE$gdB$$gd+$gd6TTTTTTTTTTTTTTTTTTTTTUUU0UMUQUnU{U|UUUUٹ{{{t{mbmTmjVhBh7UjhBh7U hBh7 hBheI hBh=zxhBhA56 hBh\ hBhA5hBhA5mH sH hBho|mH sH hBh[;mH sH hBh6mHnHu&hBh6PJ\^JaJmHnHu&hBh65PJ^JaJmHnHu#hBh6PJ^JaJmHnHu UUUUUUUVVIVUVlVqVuV{VVVWWW WW$W0WWWWWWWWWWWWWWtXXXXXXXXXX߾ߠߑ߆xjhBh=zxUjhBh=zxU hBhJhBhxP6 hBhxPhBh=zx6mH sH hBh mH sH hBh=zxmH sH  hBh1&hBh=zx6 hBh( hBh=zx hBh7 hBhAjhBh7U.BVWWXfIU & F EƀZ G)gdw("gdw(IU & F EƀZ G)gdw(XXXXXX YY"Y#YFYGYWYXY]Y^YeYpY}YYYYYYZ%Z'Z.Z0Z5Z7Z>Z?ZQZUZeZiZyZZZZZZZ [ѭ{p{jhBh U hBh hBhi@/hBh=zx5OJQJ^JhBh=zx0Jb5hBh=zx0Jb56hBh=zx0JCJOJQJ hBhAjhBh=zxUhBh=zx6 hBh1& hBh=zx hBhw(jhBh=zxU hBh,%,XXY![g!FTEƀZ G-gdN FTEƀZ G-gdN QU & F :EƀZ G)^`:gdA [[[[[[[ [U[Y[[[[[[[[[[\\\\]]]]]]]]]Ǽǰǒǰ|jǰǰ__ThBhs_2mH sH hBhOmH sH #hBh=zx5OJQJ^JmH sH +hBh=zx5CJOJQJ^JaJmH sH ;hBh=zx0Ja56B* CJOJQJ^JaJmH ph!sH hBh=zx6mH sH hBh mH sH hBh=zxmH sH  hBhN hBh=zx hBh hBhAjhBh U hBh,%![U[]]^^;^K^Y^Z^t^^^^__9_$$gds'.$$gds'$$gd)$gdB$gdWe.gdB"gd=zxIU & F EƀZ G)gdw(]]]]]]]]]]]]]]^^^^4^5^7^8^Z^t^x^^^^^^^^^^躮|n|bhBh>mHnHuhBh>5mHnHuhBh[mHnHuhBh[5mHnHuhBh1mHnHuhBh=zxmHnHuhBh>"mHnHuhBh6"mHnHuhBh1&mH sH hBh=zx6mH sH hBh=zxmH sH hBhA5mH sH hBhA56mH sH !^^^^^^^^^^^^^^^^^^^^____ƴƠvk`kTkTk`kHhBh1mHnHuhBh16mH sH hBh1&mH sH hBh1mH sH hBhA5mHnHuhBh[mHnHu#hBh5}PJ^JaJmHnHu&hBh[PJ\^JaJmHnHu#hBh>"PJ^JaJmHnHu#hBh[PJ^JaJmHnHu&hBh5}5PJ^JaJmHnHu&hBh[5PJ^JaJmHnHu9_V_f_t_u___@`B`C`\`z``````aa a9aUasaaaaaaagdbE$gd1&$gd1_______``'`)`0`1`>`@`A`u`v````````````aa aaaaaaaaa򸦒򸦒zodhBho|mH sH hBh[;mH sH hBh1&mHnHuhBh mHnHu&hBh1PJ\^JaJmHnHu#hBh1PJ^JaJmHnHu&hBh15PJ^JaJmHnHuhBh 5mHnHuhBh-mHnHuhBh1mHnHuhBh15mHnHu'aaaaaaab bbb;bybbbbbbbbbbbbc(cTc`cwc|cccddd0d"mHnHuhBh6"mHnHuhBh WmH sH hBh 6mH sH hBh1&mH sH hBhA5mH sH hBhA56mH sH hBhs_2mH sH hBh mH sH hBhOmH sH hBh76mH sH hBh7mH sH #hBh75OJQJ^JmH sH CkLkSkTkWkXkzk}kkkkkkkkkkkkkkkkkkkkk穝󝩝éucQ#hBh>"PJ^JaJmHnHu#hBh[PJ^JaJmHnHu&hBh0s5PJ^JaJmHnHu&hBh[5PJ^JaJmHnHuhBh[mHnHuhBh[5mHnHuhBhZ%mHnHuhBh mHnHuhBhimHnHuhBh>"mHnHuhBh6"mHnHuhBh(SmHnHukkkkkkkkll%l*l/l0l1llllllllGmVmڴzlzlz`lR>&hBh 5PJ^JaJmHnHuhBh 5mHnHuhBh mHnHuhBh 5mHnHuhBh mHnHuhBh WmH sH hBh 6mH sH hBh mH sH hBhA5mHnHu&hBh[5PJ^JaJmHnHu#hBh>"PJ^JaJmHnHu#hBh[PJ^JaJmHnHu&hBh[PJ\^JaJmHnHullllrmsmmmmmmmnPnQnjnnnnnnnooop)p$gdWe.gdLv`gdBgdbEgd $gd VmWmXmYm`mamnmpmqmnnnnnn!n#n%n4n5n6n7n>n?nLnNnOnnnnnnnnnnoٹٹ{p{ephBhUMmH sH hBhA5mH sH hBho|mH sH hBh[;mH sH  hBh W hBh hBh mHnHuhBh 5mHnHuhBh mHnHu&hBh PJ\^JaJmHnHu&hBh 5PJ^JaJmHnHu#hBh PJ^JaJmHnHu$oZoboooooooooopppp&p'p>p?p@pApcphpvpwpxp|pppppppȼȰȼȼȼȼȤȘȊ~~jV&hBh[P 5PJ^JaJmHnHu&hBh[5PJ^JaJmHnHuhBh[mHnHuhBh[5mHnHuhBhZ%mHnHuhBhimHnHuhBh_mHnHuhBh>"mHnHuhBhA5mHnHuhBhZ%mH sH hBhLv`mH sH hBhA56 hBh4 hBhA5!)pDpTpbpcpxppppqr't0tUtstttttttGuIuJu$$$gd$gd"gdgd$$gdf=hgdf=h$$$gd A$gdB$gdWepppppppppppppppeqfqqqrqsqtquqrr r(r-rTrYrrȴڴڨyqjyj^SSShBhOJQJhBh5OJQJ hBhNIhBh\ hBh+ hBhhBhrmH sH hBh+mH sH hBhmH sH hBh^{mHnHu&hBh[PJ\^JaJmHnHu#hBh>"PJ^JaJmHnHu#hBh[PJ^JaJmHnHu&hBh[5PJ^JaJmHnHurrrrr s&svs}s~sssssssssssssssss't0tMtOttttέznbnTnhBh5mHnHuhBhUmHnHuhBhmHnHu#juhBh+UmH sH hBh6kmH sH hBhAmH sH hBhw:[mH sH #jhBh+UmH sH jhBh+UmH sH hBh+mH sH hBh5\mH sH hBhmH sH  hBh hBhU tttttttuuuuu!u6uDuEuGuHuuuuuu v/v0v1v2v9v:vGvJvKvRvtvuvwv{vvvvӊtmf hBhi hBhA5hBhA5mH sH hBh[;mH sH )hBh5PJ\^JaJmHnHuhBh5mHnHu&hBhPJ\^JaJmHnHu#hBhPJ^JaJmHnHu&hBh5PJ^JaJmHnHuhBhmHnHuhBhUmHnHu(Ju`uuuuuuuuu vtvvvwvvwxxxy(yJyoyyyygdB$$gds'gdW$gdB$$$gd$gdvvvvvvvvvv!wYw^w_w`wuwvwwwwwwwwwwwwwxx$x%x&x»vmvdv[vhBhA 0J#hBhL=0J#hBh#0J#hBh[0J# hBh6 hBhJ hBhA hBh-sjhBh_'MU hBh_'MjhBh_'MU hBhA hBh hBh#o,hBh#o,6hBhA56hBh[6hBh[6] hBhi hBhA5!&xFxoxpxsxyx{x|xxxxxxxxxxxxxxxxxxyy(y*y5y7yEyGyJyLyoyqyzllll^^llhBh#o,5mHnHuhBh#5mHnHuhBh[mHnHuhBh[5mHnHu hBh%hBh #0J# hBhAhBh-s0J#jhBhKl0J#UhBhKl0J#hBh'0J#hBhn0J#hBhN0J#hBh#0J#hBh[0J#hBh A0J#$qyyyyyyyyyyzz7z9zdznzozzzzzzzzzzzz{{ { {{{!{:{i{s{t{u{y{z{{{mhBhA55mHnHu hBh,; hBh[ hBh4 hBhA56 hBhA5hmDhA5mHsHhmDh|mHsHhmDh[;mHsHhBhA5mHnHuhBh#mHnHuhBh[mHnHuhBh#5mHnHuhBh[5mHnHu*yyyyyz7z[z^z_zzzzzzzz {u{{{{{^|||||gdBgdbE$$$gdO^$gdB{{{{{{{{{{{{{{{{{{{{{{{{|Q|[|\|ɽ匁vkvd\dUdNdG hBh,; hBh[ hBh4 hBh{S6 hBh{ShBhUMmH sH hBh{SmH sH hBh3mH sH hBh[;mH sH hBh#>5mHnHuhBhA5mHnHuhBh>"mHnHuhBh[mHnHuhBh[5mHnHuhBhV5mHnHuhBhA55mHnHuhBh[P mHnHu\|^|b|c|g|}||||||||||||||||||||||| }ӹ뫝ӑߑ߆{piaiZiSLS hBh# hBh[ hBh4 hBhNK6 hBhNKhBhNKmH sH hBh3mH sH hBh[;mH sH hBh>"mHnHuhBh[5mHnHuhBh#>5mHnHuhBhDrMmHnHuhBh[\mHnHuhBh[mHnHuhBh{SmHnHuhBh{S5mHnHu hBh{S||"}B}^}`}a}l}}~~/~1~2~@~~~~ n$$gds'$gds'$gdBgdBgdbE } }} }"}'}A}B}J}Q}R}S}\}]}^}`}a}g}l}p}t}u}z}}}}}}}}}~~ʾְʤ֘{s{l{{{^RRhBhL mHnHuhBhL 5mHnHu hBh4 hBh[6 hBhL hBhL mH sH hBh[;mH sH hBhNKmHnHuhBh>"mHnHuhBh[5mHnHuhBh=mHnHuhBh[mHnHuhBhNK5mHnHu hBhNK hBh,; hBh[ hBh? ~~~#~$~%~-~.~/~1~2~8~@~D~L~Q~Y~~~~~~~~~~~~˿姜{tm_SSG_hBh@mHnHuhBhImHnHuhBhI5mHnHu hBh,; hBh[ hBh4 hBhI6 hBhIhBhImH sH hBh[;mH sH hBhBmHnHuhBhL mHnHuhBh>"mHnHuhBh[mHnHuhBh[5mHnHuhBhL 5mHnHuhBhQ}mHnHu~~~~    &',4Tabklnrsx|yryk]QCQhBh[\mHnHuhBh[mHnHuhBh[5mHnHu hBh,; hBhUM hBh[ hBh4 hBh7U6hBh[6 hBh[hBh[mH sH hBh[;mH sH hBhL mHnHuhBhI5mHnHuhBhImHnHuhBh>"mHnHuhBh[mHnHuhBh[5mHnHu  &'(*+1˿峨yrk˳˿峨 hBh,; hBhUM hBh. hBh[ hBh4 hBh[6 hBh[hBh[mH sH hBh[;mH sH hBh[mHnHuhBh>"mHnHuhBh[mHnHuhBh[5mHnHuhBh[5mHnHuhBh_JmHnHu'(*+7̀ 7>TWXrځgd#gdBgdbE$gdB17;AFNjmo{|ŀsg[[PhBh[;mH sH hBh>"mHnHuhBh[mHnHuhBh_JmHnHuhBh[5mHnHuhBh}{6\mHnHuhBh[\mHnHuhBhuomHnHuhBhuo5mHnHu hBh,; hBhU hBhl! hBh[ hBh4 hBhuo6 hBhuohBhuomH sH ŀ̀Ѐ׀܀ %/07?GHRSWX_`bklrwlalVahBhwGmH sH hBhA5mH sH hBh|mH sH hBh[;mH sH hBhA5mHnHuhBh>"mHnHuhBh|.KmHnHuhBh#mHnHuhBh[mHnHuhBhImHnHu hBh,; hBhU hBh[ hBh4 hBhI6 hBhIhBhImH sH rvЁځ(078;<>?@FMZ`hw !׿׳ק{tmmf hBh# hBh[ hBhE~hBhwGmH sH hBhA5mH sH hBh|mH sH hBh[;mH sH hBh>"mHnHuhBh[mHnHuhBhVmHnHuhBh|.KmHnHuhBhA5mHnHu hBh7U hBh4 hBhA56 hBhA5(0FDƒÃ̃,-I^ӄԄW}$gdWe.gdugdbEgdB$gdB!CZcmqx|ƒÃʃ̃݃ރ-1ILP\_gkl߻߻Ӱ߻߻߻߻ߙߋߙߙߋsߙhBhwmHnHuhBh#mHnHuhBh[5mHnHuhBhmHnHuhBh[mH sH hBhumH sH hBh>"mHnHuhBhfM'mHnHuhBhmHnHuhBh[mHnHu hBhE~ hBhA5 hBh[-ӄԄۄ܄ބ߄JTUW[\uv|}ƿz甆nnchBh]mH sH hBh>"mHnHuhBh21WmHnHuhBh[5mHnHuhBhA55mHnHu hBh,; hBh[ hBhE~hBhA56 hBhA5hBhA5mH sH hBhzCmH sH hBh[;mH sH hBhA5mHnHuhBh[mHnHu$},3KMN^Ç*?F]_`wψ'$gd #gdbEgdBgdE~gdbE$gdBDžօڅ   )*+,24;<=IJKMNU^fɽɱɱɥ՗ɱ}rg` hBhA5hBhA5mH sH hBh[;mH sH hBhMmHnHuhBh[5mHnHuhBh21W5mHnHuhBh#mHnHuhBh>"mHnHuhBh[mHnHuhBh]mHnHuhBh]5mHnHu hBh,; hBhE~hBh]6 hBh]"fntz~ˆΆ<ABCXYijklnt|ÇLJ· '(*7ž~wkhBhA5mHnHu hBh,;hBhtumH sH  hBh+ hBhA hBh-sjmhBh_'MU hBh_'MjhBh_'MU hBh} hBhhBhA5mH sH hBh[;mH sH  hBh hBhr hBhA5hBhA56'7>?EGOP[\]_`fgnopw{ƈ͈Έψ݈"#(øzznbhBh#>mHnHuhBhn#mHnHu hBhRF hBhrhBhA56 hBhA5hBh0nmH sH hBhA5mH sH hBhtumH sH hBh[;mH sH hBhMmHnHuhBh>"mHnHuhBhA5mHnHuhBh21WmHnHuhBh[mHnHu&'(Cω։jĊŊ;krTgn$$gdO^gdO^gdd@?gdRFgdbE$gdB(./123:;<CGY_gȉΉωՉ׉މ߉;ͷŷͩwi]]hBh>"mHnHuhBh[5mHnHuhBho5mHnHuhBhn#mHnHuhBh[mHnHuhBhA5mHnHuhBhA55mHnHu hBhRF hBhrhBhA56 hBhA5hBh0nmH sH hBhA5mH sH hBhtumH sH hBh[;mH sH !   %+3LPahijxŊˊ̊ΊϊЊ׊؊يøíلxlløaahBhPgmH sH hBh>"mHnHuhBh#>mHnHuhBh[mHnHu hBhd@? hBhrhBhA56 hBhA5hBh,"mH sH hBhA5mH sH hBhtumH sH hBh[;mH sH hBhA5mHnHuhBhA55mHnHuhBhomHnHu&!29:;GH[aijkqsz{|̚ti^ShBhA5mH sH hBhtumH sH hBh[;mH sH hBhl~mHnHuhBh>"mHnHuhBh[5mHnHuhBhl~5mHnHuhBhn#mHnHuhBh[mHnHuhBhA5mHnHuhBhA55mHnHuhBhd@?] hBhd@? hBhr hBhA5hBhA56 ƋʋӋ ()*+=MNOPQRTXbfgmovwzn`RzhBh[5mHnHuhBhg5mHnHuhBhn#mHnHuhBh[mHnHuhBhA5mHnHuhBhA55mHnHu hBh,; hBhA hBh-sjhBhKlU hBhKl hBh' hBhN hBh[ hBhhBhA56 hBhr hBhA5 hBhd@?wxŌɌҌ#/12D·|ungn`YNYjhBhKlU hBhKl hBh' hBhN hBh[ hBhhBhQ06 hBhr hBh'GUhBhA56 hBhA5hBhArmH sH hBhA5mH sH hBhtumH sH hBh[;mH sH hBhA55mHnHuhBhgmHnHuhBhA5mHnHuhBh>"mHnHun[~[ipWu|$gd U$$gd #gd'GUgdbE$gdBDTUVWXY[_p}~ĸĒxxlĸaVKChBhA56hBhA5mH sH hBhtumH sH hBh[;mH sH hBh!/mHnHuhBh>"mHnHuhBh[5mHnHuhBh!/5mHnHuhBhn#mHnHuhBh[mHnHuhBhA5mHnHuhBhA55mHnHu hBhA5 hBh,; hBhKl hBhAjhBhKlU hBh-sʍэՍލ#/012DTUVWXYZ[_ehinqͿ͸͘~rfXhBh?]5mHnHuhBhn#mHnHuhBh[mHnHuhBhA5mHnHuhBhA55mHnHu hBh,; hBhA hBh-sjhBhKlU hBhKl hBh' hBhN hBh[ hBhhBhQ06hBhA56 hBhr hBh'GU hBhA5qxyzŎɎҎ ´Ω}vnvgv`vnvYRKR hBhN hBh[ hBh hBhq hBh'GUhBhA56 hBhA5hBhKlmH sH hBhb]/mH sH hBhA5mH sH hBhtumH sH hBh[;mH sH hBhA55mHnHuhBh?]mHnHuhBhA5mHnHuhBh>"mHnHuhBh[mHnHuhBh[5mHnHu+,-.@PQRSTUW[htuz}Ķvjj^SHhBhtumH sH hBh[;mH sH hBh?]mHnHuhBh>"mHnHuhBh[5mHnHuhBh?]5mHnHuhBhn#mHnHuhBh[mHnHuhBhA5mHnHuhBhA55mHnHu hBhA5 hBh,; hBhA hBh-sjhBhKlU hBhKl hBh[ hBh'ŏ̏Џُ +,-.@PQRSTUW[bghnüʵʮth\hBhn#mHnHuhBh[mHnHuhBhA5mHnHuhBhA55mHnHu hBh,; hBhA hBh-sjhBhKlU hBhKl hBh' hBhB hBhN hBh[ hBh hBhq hBh'GUhBhA56 hBhA5hBhA5mH sH  Who]~^mt]|gd[$gdD<gdD<gdbE$gdBgdnpwxyÐʐΐא%̴~v~o~h~v~aZSZL hBh&M< hBhN hBh[ hBh hBhq hBh'GUhBhA56 hBhA5hBhA5mH sH hBhtumH sH hBh[;mH sH hBhA55mHnHuhBh?]mHnHuhBhA5mHnHuhBh>"mHnHuhBh[mHnHuhBh[5mHnHuhBh?]5mHnHu%1234FVWXYZ[]ao}~Ķvjj^SHhBhtumH sH hBh[;mH sH hBhimHnHuhBh>"mHnHuhBh[5mHnHuhBhi5mHnHuhBhn#mHnHuhBh[mHnHuhBhA5mHnHuhBhA55mHnHu hBhA5 hBh,; hBhA hBh-sjhBhKlU hBhKl hBh&M< hBh'͑ԑבؑ &2345GWXYZ[\^bhl»xl`hBh[mHnHuhBhA5mHnHuhBhA55mHnHu hBh,; hBhA hBh-sjhBhKlU hBhKl hBh' hBhN hBh[ hBh>2hBh>26 hBh ~ hBhq hBhj)hBhA56 hBhA5hBhA5mH sH  lmru|}~Ē˒ϒؒɽ奎xmxbm[S[L[E[ hBhq hBhj)hBhA56 hBhA5hBhW mH sH hBhA5mH sH hBhtumH sH hBhTmH sH hBh[;mH sH hBhimHnHuhBhA5mHnHuhBh>"mHnHuhBh[mHnHuhBh[5mHnHuhBhi5mHnHuhBhA55mHnHuhBhn#mHnHu%1234FVWXYZ[]ao{|̺̬seWKKhBh>"mHnHuhBh[5mHnHuhBhi5mHnHuhBhn#mHnHuhBh[mHnHuhBhA5mHnHuhBhA55mHnHu hBhA5 hBh,; hBhA hBh-sjhBhKlU hBhKl hBh' hBhN hBh[ hBh>2hBh f6hBhA56)./0EFVWXY]cdeݔüxqfXfxfQ hBhj)jchBh.UjhBh>2U hBhb hBhA hBh-sjhBh_'MU hBh_'MjhBh_'MU hBh>2 hBhhBhA56 hBhA5hBhA5mH sH hBh[;mH sH hBhI9mHnHuhBhA55mHnHuhBhimHnHuݔ,Y`wyz5UVc356E $dgd U $$dgdqdgdqgdbEgdj)gdbE$gdB%*+,0167>XY^ahijuvw㳧ugYMMAhBhimHnHuhBh>"mHnHuhBh[5mHnHuhBhi5mHnHuhBhn#mHnHuhBhw>xmHnHuhBh[mHnHuhBhA5mHnHtHuhBhA5mHnHuhBhA55mHnHu hBh,;hBhA56nHtH hBhqhBhA56 hBhA5hBhA5mH sH hBhtumH sH wyzŕƕɕԕڕ"./žunugu`RhBhA5mHnHtHu hBh,; hBhA hBh-sjhBhKlU hBhKl hBh' hBhN hBh[ hBh>2hBhA56nHtH hBhqhBhA56 hBhA5hBhA5mH sH hBhtumH sH hBh[;mH sH hBhA5mHnHuhBhA55mHnHu/467=>FGPQV\]cgms{ŖіҖӖԖ۸yrkrdr]R]jhBhKlU hBhKl hBh' hBhN hBh[ hBh>2hBhA56nHtH hBhqhBhA56 hBhA5hBhA5mH sH hBhtumH sH hBh[;mH sH hBh>"mHnHuhBh#>mHnHuhBhA5mHnHuhBhn#mHnHuhBh[mHnHu%&'12356:ETĸĄvjj^ĸSHhBhA5mH sH hBh[;mH sH hBh^mHnHuhBh>"mHnHuhBh[5mHnHuhBh^5mHnHuhBhn#mHnHuhBh[mHnHuhBhA5mHnHtHuhBhA5mHnHuhBhA55mHnHu hBhA5 hBh,; hBhKl hBhAjhBhKlU hBh-sTZdgؗݗޗߗ 9GJTVhۘ $ʼѮ򧠧򧙠yihBhWPJmHnHtHu hBhw:[jmhBh\)kUjhBh )U hBhW hBh. hBh ) hBhA hBh-sjhBh_'MU hBh_'MjhBh_'MU hBh>2 hBhhBhA56 hBhA5 hBhj)#EV"1@ߚ +Gc˛1˜ޜ5[jΟgd ,)gdbE"gdB$gdBgdB$(,/36;>BFJÚȚ̚ݚ  )-37EIOSaenrɛ͛ۛߛ!/>ɜ؜ܜƱ(hBhl3B* PJmHnHph@tHu(hBhWB* PJmHnHph@tHuhBhWPJmHnHtHu(hBhWB* PJmHnHph"RtHuAJLM\lmpqrz9:Ǟ̞GP[abjnw|˟Ҹívkd\dUd hBhqhBhA56 hBhA5hBhA5mH sH hBhtumH sH hBh[;mH sH hBh )mH sH hBh.mH sH hBh AmH sH hBhAmH sH hBhmH sH jhBhX(UmH sH hBhX(mH sH hBhl!mH sH hBhWmH sH hBhWmHnHu!˟̟ΟJKLMNQȠʠˠ̠ҠӠ֠נ۠ܠABƶ枓}rg}_XQ hBh,; hBhqhBhA56hBh:mH sH hBhSmH sH hBhA5mH sH hBhtumH sH hBh[;mH sH hBhA5mHnHuhBhK,mHnHuhBhl3PJmHnHtHuhBhEAPJmHnHtHuhBhR#PJmHnHtHuhBhR#mHnHu hBhA5 hBh7UΟɠˠ̠Cf#gd{gd ,)gdbE$gdBBCf¡áơ#',19#(-ͽ|un| hBh,; hBhqhBhA56hBhA5mH sH hBhtumH sH hBh[;mH sH hBhA5mHnHuhBhK,mHnHuhBh PJmHnHtHuhBhEAPJmHnHtHuhBhR#PJmHnHtHuhBhR#mHnHu hBhA5+-5|} "#(,6<D ߵ~~vfߵhBhR#PJmHnHtHuhBhA56hBhA5mH sH hBh:mH sH hBhSmH sH hBhtumH sH hBh[;mH sH hBhA5mHnHuhBhK,mHnHu#hBhR#PJ^JmHnHtHuhBhR#mHnHu hBh,; hBhA5 hBhq( (&ѥեܥvgd ,)gdbE$gdB!"&*/5=Хѥե٥ݥ %-tuvӦצئަض|qض|hBh[;mH sH hBhA5mHnHuhBhK,mHnHu#hBhR#PJ^JmHnHtHuhBhR#PJmHnHtHuhBhR#mHnHu hBh,; hBhqhBhA56 hBhA5hBhA5mH sH hBh:mH sH hBhSmH sH ,Ԧئߦnħ˧ߧZ{ĨƨǨڨgdbEgdBgdbE$gdB  %lmnçħʧ̧ާWXZ~èŨƨǨ˨ڨ;ͷͫ;ͷͫs#hBhR#PJ^JmHnHtHuhBhA5mHnHuhBhK,mHnHuhBhR#PJmHnHuhBhR#mHnHu hBh,; hBhqhBhA56 hBhA5hBhA5mH sH hBh:mH sH hBhSmH sH hBh[;mH sH - "ouv ,35HOPRVW^`ɻЭ{m_{hBh[5mHnHuhBhxZ5mHnHuhBhyJ5mHnHu hBh,; hBhqhBhA5mH sH hBh[;mH sH  hBhA hBh-sjhBh_'MU hBh_'MjhBh_'MU hBh8hBhA56hBh[6 hBhA5 hBhE%Rv}>?NʫѫH\gdBgdbE$gdB$$gdD<$gdD<gdD<`aeuv{~۪Ϳtib[bSbLbDSbShBh[6 hBhqhBhA56 hBhE hBhA5hBhA5mH sH hBh[;mH sH hBhA55mHnHuhBhK,mHnHuhBhA5mHnHuhBh>"mHnHuhBh[5mHnHuhBhK,5mHnHuhBhyJ5mHnHuhBhn#mHnHuhBh[mHnHuhBhyJmHnHu $%-.89?ENQUV^dl߻߯ǣzrkc[Tr hBh[hBhE6hBh[6 hBhqhBhA56 hBhEhBhA5mH sH hBh[;mH sH hBhA5mHnHuhBh>"mHnHuhBh#>mHnHuhBhn#mHnHuhBh[mHnHuhBhxZmHnHuhBhyJmHnHu hBhA5 hBh# hBh,; ɫʫϫҫ٫ګ۫ "ʾ֤rg\UNUFU?U hBhqhBh[z6 hBhE hBh[zhBh[zmH sH hBhwmH sH hBhA55mHnHuhBh:fmHnHuhBhA5mHnHuhBh>"mHnHuhBh[mHnHuhBh:f5mHnHuhBhn#mHnHuhBhyJmHnHuhBh[5mHnHuhBhxZ5mHnHuhBhyJ5mHnHu"&-8:;AGHST\]cdrsyz>?W]ѹѹѹѹѡѡѕo!jhBhG>*B*Uph hBhq hBh# hBh[hBhz:mHnHuhBh>"mHnHuhBhfM'mHnHuhBh:fmHnHuhBh#mHnHuhBh[mHnHu hBhN hBh( hBhz: hBh[z hBh[0)­íĭƭέϭ()*Tξ}}qZH#hBh!j>*B*mHnHphu,jhBh!j>*B*UmHnHphuhBh>"mHnHuhBh#mHnHuhBh:fmHnHuhBh[mHnHuhBhz:mH sH hBhmH sH  hBh hBh3[hBhG0JP!jhBhG>*B*Uph'jkhBhM2>*B*UphhBhM2>*B*phƭϭ#v!"gdB$$gdD<$gdD<gdD<$gdB.gd AgdqTUVrst|}ʮˮ̮   ϵtZLhBhG0JPmHnHu2jhBh\V>*B*UmHnHphu#hBhG>*B*mHnHphu,jhBhG>*B*UmHnHphuhBhz:mHnHuhBh[mHnHuhBh>"mHnHuhBh!j0JPmHnHu,jhBh!j>*B*UmHnHphu2j$hBh\V>*B*UmHnHphuIJKghiƯѯկܯʰܢtib[bSbLb[bS[Eb hBh# hBhqhBhA56 hBhE hBhA5hBhA5mH sH hBh[;mH sH hBhNmH sH hBhNmHnHuhBh[mHnHuhBhG0JPmHnHu2jhBh\V>*B*UmHnHphu#hBhG>*B*mHnHphu,jhBhG>*B*UmHnHphuhBh>"mHnHu "<CmnxͰаڰ۰߰󼴼} hBhE hBhqhBhA5CJOJQJ hBh>" hBhl/ hBh[ hBhl!hBhA56 hBhA5hBh>"mHnHuhBh#>mHnHuhBh:fmHnHuhBh[mHnHuhBhA5mHnHu+&'(,-.2346789:;>?@GHIMNOTUVXYZ[\]^`d̾䲤䘌䘲~䲤䘲~shBh[;mH sH hBh[5mHnHuhBh#mHnHuhBh4mHnHuhBh[\mHnHuhBh>"mHnHuhBhfM'5mHnHuhBhfM'mHnHuhBhHmHnHuhBh[mHnHuhBh[5\mHnHu*^`3Ҳٲ=>b{Kx~gd gdbE$$gd?v.gdgdBgdbE$gd?v$gdBdeko}~ұӱ߱27DEMòIJҲٲڲǹDzǫǤǙsgYhBh!h5mHnHuhBh!hmHnHuhBh#mHnHuhBh[mHnHuhBh[5mHnHuhBh*% mH sH  hBh*% hBhq hBh# hBhsp hBhB. hBh[hBh[6] hBhThBh#mH sH hBh[mH sH hBhSmH sH ڲ=>IQRTU\suvz̚vhhBhz15mHnHuhBhomHnHuhBh#mHnHuhBh|mHnHuhBho5mHnHuhBh!hmHnHuhBh&M<mHnHuhBhspmHnHuhBh[5mHnHuhBh>"mHnHuhBh[mHnHuhBhfM'5mHnHu%³óijϳгҳӳڳ '(JK[{tibTM hBhw:[jc hBh^U hBhL0jhBhL0U hBhfM' hBh[hBhs'mHnHuhBh\mHnHuhBh5/MmHnHuhBh[5mHnHuhBh!hmHnHuhBh[mHnHuhBh>"mHnHuhBh#mHnHuhBhfM'5mHnHuhBh!h5mHnHu[\_`bdݴ"Kxĵŵ$4:;<BQRƿ{mjH hBh'U hBh hBh< hBhI[j hBh'UhBhA\j hBh'UjhBhXU hBhXhBhXmH sH  hBh hBhA5 hBh[; hBh[ hBhAjhBhL0U*ŶƶǶʷ2;<=>bcdfghijklmnopqrstu{pddddddd j hBhiuaJhBhiu0JPaJ+jhBh6k>*B*UaJphhBh6k>*B*aJph%jhBhiu>*B*UaJph hBhiu hBh(\hBhiuaJ hBhAhBhA\j hBh'UjhBhXU hBhX hBh'~ʷշַ ,2<=hjlnprtv ,$1$Ifgdw1#Ff  +$IfgdB +$1$Ifgdw1# +$$1$Ifa$gdw1# +$$1$Ifa$gdw1#9gds_2uvwxy-./89DZ֦DŽ֦n֦+jhBhiu>*B*UaJph+jhBhiu>*B*UaJph j hBhiuaJhBhiu0JPaJ+jhBhiu>*B*UaJphhBhiu>*B*aJph%jhBhiu>*B*UaJph hBh(\ hBhiuhBhiuaJ+vwxFfrFf ,$1$Ifgdw1# +$1$Ifgdw1#Ff$$5$7$8$9DH$Ifa$gdw>_:IJKLMNPQRݹ߹FfN!Ff`$$5$7$8$9DH$Ifa$gdw>_ ,$1$Ifgdw1# +$1$Ifgdw1#9:;NOPQRSֹ׹ع۹ܹݹ޹߹ !"#ʻʚʻʚʻnʚ+j9'hBhiu>*B*UaJph+ji#hBhiu>*B*UaJphhBhiu0JPaJ+j{hBhiu>*B*UaJphhBhiu>*B*aJph%jhBhiu>*B*UaJph hBh(\ hBhiu j hBhiuaJhBhiuaJ+"$%&()*+,-`bcdfgFf( +$1$Ifgdw1#Ff%$$5$7$8$9DH$Ifa$gdw>_ ,$1$Ifgdw1##&'+,-.WXY^_`adeijklʻʚʻʚʻnʚ+j2hBhiu>*B*UaJph+j.hBhiu>*B*UaJphhBhiu0JPaJ+j+hBhiu>*B*UaJphhBhiu>*B*aJph%jhBhiu>*B*UaJph hBh(\ hBhiu j hBhiuaJhBhiuaJ+ghijkFf0 +$1$Ifgdw1#Ff,$$5$7$8$9DH$Ifa$gdw>_ ,$1$Ifgdw1#.023456789jlnopqrstuFf@<Ffn8$$5$7$8$9DH$Ifa$gdw>_ ,$1$Ifgdw1# +$1$Ifgdw1#Ff4&'(,-./01789:bcdhijklmstuv歡ׄ歡n歡+j[>hBhiu>*B*UaJph+j:hBhiu>*B*UaJph hBhiu j hBhiuaJhBhiuaJhBhiu0JPaJ+j6hBhiu>*B*UaJphhBhiu>*B*aJph%jhBhiu>*B*UaJph hBh(\*%&()FfC +$1$Ifgdw1#Ff@$$5$7$8$9DH$Ifa$gdw>_ ,$1$Ifgdw1# #$&'-./0efgxyz{¶¯֙¶¯֙m¶¯Z%jhBhc5J>*B*UaJph+jIhBhiu>*B*UaJph+j FhBhiu>*B*UaJphhBhiu>*B*aJph hBh(\ hBhiu j hBhiuaJhBhiuaJhBhiu0JPaJ%jhBhiu>*B*UaJph+j/BhBhiu>*B*UaJph )*+,-./zؼټڼۼܼݼ޼FfK +$1$Ifgdw1#FfG$$5$7$8$9DH$Ifa$gdw>_ ,$1$Ifgdw1#żƼǼּ׼߼RSU[\qrst 5ȽȴxxqxhWJhBhY>*B*ph!jhBhY>*B*UphhBhXCJ hBhAjhBhXU hBhXhBhBaJ hBhB hBh(\ hBhiu j hBhA? aJhBhiuaJhBhiu0JPaJ%jhBhc5J>*B*UaJph+jMhBh>*B*UaJphhBhc5J>*B*aJph޼߼STUZUP9gd7UgdBvkdQ$$IfTF4 t06444laf4ytBT ?$IfgdBFfO$$5$7$8$9DH$Ifa$gdw>_ ,$1$Ifgdw1#ýĽͽν޽߽ ;=?ACE ,$Ifgd6FfS +$$Ifa$gdw1# +$Ifgd6 +$$Ifa$gdw1#5679:;<=>?@ABCDEFGHIJKLMNOwxy}~¾þ̾;ξϾоѾҾӾʾڠʵڠxʾ'jl^hBh>*B*Uph'jLZhBh>*B*UphhBhY>*B*phhBhX5hBhXCJ j hBhXCJ hBhXhBhX0JP!jhBhY>*B*Uph'j0VhBh>*B*Uph/EGIKMNξоҾԾվ־׾ؾپھFf6\ +$Ifgd6FfX ,$Ifgd6Ӿھ۾ܾ !"#$+,-TUVYZ[^_e2;IK CGҾߵҕߵzzlhBhX5mHnHuhBhX5hBhXmH sH hBhX6'jfhBh>*B*Uph j hBhXCJhBhX0JP'jbhBh>*B*UphhBhY>*B*ph!jhBhY>*B*Uph hBhXhBhXCJ*ھ۾!#%&'()*+,[\]^`abcdefggdZ%FfhFfd ,$Ifgd6 +$Ifgd6Ffr`g2;CWXbep$BFREƀZ Ggd~Igd4gdB$gdBgd BgdbEgdP GIRXbfi >QZdep!"@AQRWX$ӽӫĝӄ}ojkhBhHU hBhRjhBhRU hBhA hBhw:[jkhBh^UjhBh= VU hBhX( hBhB hBh= VhBhX6 hBhXhBhXmH sH hBhX\mHnHuhBhXmHnHu+$BFOT]'(HIYZ]^`a ,5:CghͿԱͣԱ͕Ա͇ԱjnhBh^UjlmhBh^UjlhBh^U hBhA hBhw:[j@lhBh^U hBh= VjhBh= VU hBh.hBhX6 hBhXhBhXmH sH 4'05> -6)2(112bcstyz1:V\ hBh6k hBhA hBhw:[jnhBhAUjhBh~IUhBh~I5OJQJ^JhBhX5OJQJ^JhBhX6 hBhXhBh~I6 hBh~I<s-FTEƀZ G -gd6kFREƀZ Ggd~IFREƀZ Ggd~I)k%FTEƀZ G -gd6kFSEƀZ Ggd~INS & F*$8$EƀZ GH$gd~IMTYbs|"+ 4=^g"%ix&οογοοᚎhBhX5mH sH hBhXmH sH hBhX5OJQJ^JhBhR5OJQJhBhR6 hBh6k hBhRhBh~I5OJQJ hBhXhBhX6 hBh~IhBh~I64)kNS & F*$8$EƀZ GH$gd~INS & F*$8$EƀZ GH$gd~IFTEƀZ G -gd6k%JNXbfmu +$Ifgd A9gd\V"gdBFTEƀZ G -gd~I Ntuvw46@KYZabcefĽĽĽĽĄi4 jhBhr$+h[25cHdhdhdh ghBhr$+56hBhr$+6OJQJ^JhBhr$+5OJQJ^JhBhr$+^JaJhr$+^JaJ hBhr$+hBhr$+5hBh5hBhOJQJ hBh hBhA hBhXjhBhXU"uvwxyG9(('$$Ifa$gd\VoS&+$Ifgd\VoS&kdeo$$IfTlrtJ 0f# 6 `0#644laytTy(kdip$$IfTlrtJ 0f# 6 `0#644laytT,$Ifgd AoS&'$$Ifa$gd\VoS&234FfyFf[vFfr,$Ifgd AoS& '$$Ifa$gd\V +$Ifgd\V46@AZ`,$Ifgd AoS& '$$Ifa$gd\V +$Ifgd\V`ajrsF=111 '$$Ifa$gd\V +$Ifgd\Vkd{$$IfTl4rtJ 0f#  6 `0#644laytT)Tfgjmnor׾澰׾׾澰m"Hh gh[26OJQJ^JhBhr$+OJQJ^JHh ghBh[25 jhBhr$+5hBhr$+56hBhr$+6OJQJ^JhBhr$+5OJQJ^J jhBhr$+5 hBhr$+hBhr$+6hBhr$+5"Hh g jhBh[25#=4( '$$Ifa$gd\V +$Ifgd\Vkd|$$IfTl4rtJ 0f#  6 `0#644laytT)T ,$Ifgd A)/ ,$Ifgd AX'$$C$Eƀ gIfa$gd[2o gd&$a$ '$$Ifa$gd\V$'(0GX#$2?@ABCVjyſűűſűűŝ|p|hBhX6mH sH hBhXmH sH hBhBmH sH hBhsHmH sH  hBhXhBhmDOJQJ^JhBhmD5OJQJ^J hmD^JhBhmD^J hBhr$+Hh gh[2Hh gh&Ch[2%Hh gh&Ch[2OJQJ^J)/02CXsF::::: '$$Ifa$gd% kd}$$IfTl4rtJ 0f#  6 `0#644laytT)Tkd~$$IfTl4rtJ 0f#` 6 `0#644lap2ytmDT '$$Ifa$gd%  '$$Ifa$gd% + '$$Ifa$gd% kd!$$IfTl4rtJ 0f#  6 `0#644lap2yt)T$2V\ '$$Ifa$gd s '$$Ifa$gd% \]_i+ '$$Ifa$gd% kd$$IfTl4rtJ 0f#` 6 `0#644lap2yt)Tij '$$Ifa$gd% +& .$gds'gd\Vkd$$IfTl4rtJ 0f#  6 `0#644lap2ytT)T&KXgh<\w/Bsu|.gdB$gdB$gdWe$$$gds' :;<ȹ䫟֋uj^jjhBhX6mH sH hBhXmH sH hBhBmH sH hBhsHmH sH &hBhXPJ\^JaJmHnHuhBh!jmHnHuhBhX5mHnHuhBh!j5\mHnHuhBhgT\mHnHuhBhX\mHnHuhBhX5\mHnHuhBhXmHnHu!<AW[/:?@BCLMcds|} ʼؼʼ؟ʋ}n}n}bhBhgTmHnHuhBhL5\mHnHuhBhL\mHnHu&hBhXPJ\^JaJmHnHuhBh!j5\mHnHuhBhX5mHnHuhBh!j\mHnHuhBhX\mHnHuhBhX5\mHnHuhBhXmHnHuhBh0K`mHnHu&| &2v(*10Xfop$gdw+.$gd?v$gdB#(129CPTUV]rst{ƺƺzzncXhBhw+mH sH hBhsHmH sH hBh!jmHnHuhBhL5\mHnHuhBhL\mHnHu&hBhXPJ\^JaJmHnHuhBh!j5\mHnHuhBhXmHnHuhBhX5mHnHuhBh!j\mHnHuhBhX\mHnHuhBhX5\mHnHu @DHO $1346@RY_f|}~23lw}ѷѷѷѨѷzѨњhBhgTmHnHu&hBhw+PJ\^JaJmHnHuhBhw+\mHnHuhBhw+5\mHnHuhBhw+5mHnHuhBh:mHnHuhBhw+mHnHuhBhsHmH sH hBhw+mH sH hBhw+6mH sH 0.>@G[  36~0=Ml.gdw+$gdw+* !DOw?@c%^q~.gd:<$gd:<$gdw++23:WXY`al}~ !BCDOU\]bcklm㷬t`t`&hBh:<6B*]mHnHph*u hBh:<B*mHnHphu hBh:<B* mHnHphuhmDh:<mHsHhBhmH sH hBh:<mH sH hBh:<mHnHuhBhw+mHnHu&hBhw+PJ\^JaJmHnHuhBhw+5\mHnHuhBhw+\mHnHu%mpsuvx=BOPTUacefmnvwпЮНЌЌЮНпЮНЮЮНпЮпЮН hBh:B* mHnHphu hBh:<B* mHnHphu hBh:<B*mHnHph?u hBh:<B*mHnHphuhBh:<mHnHu&hBh:<6B*]mHnHph*uhBh:<6]mHnHu7  #%'(459:FGKL[aos|  #%&ʾʾʾ޾޾ʾʾ޾޾ޙ޾ޙ޾ޙޙ޾޾޾޾&hBh:<5B*\mHnHphu hBh:<B*mHnHph?uhBh:<mHnHu&hBh:<6B*]mHnHph*u hBh:<B*mHnHphu hBh:<B* mHnHphu<&IZ]^sx{"#%,;$gdw+$gd:<&/0GHIRSY\^cdjkqrsuxz{ !#$%)+,۾۾۾۾۾۾۾۾۾۾۾۾۾۾۾۾۾۾۾۾۾۾hBh:<mHnHu hBh:<B* mHnHphdu hBh:<B*mHnHphu&hBh:<5B*\mHnHphuK,34589:;CD35<=ʾ۾۾۾}jWIhBhK^JmHnHu$hBhKB*^JmHnHph?u$hBhKB* ^JmHnHphuhBhKmHnHuhBhn mH sH hBhKmH sH hBhw+mHnHu$hBh:<B*^JmHnHphuhBh:<mHnHu hBh:<B* mHnHphdu hBh:<B*mHnHphu&hBh:<5B*\mHnHphu4Wgq#oz My%[$5$9DgdK$gdK.gdK=ABUWYZeghioqst{|ƳڳڳڳƒƒƒƳڳƒƒƒڳƒhBhK^JmHnHu$hBhKB*^JmHnHph?u$hBhKB* ^JmHnHphu'hBhKB*]^JmHnHph*u$hBhKB*^JmHnHphu$hBhKB* ^JmHnHphu9  #%&-.23:;?@HIRSVW`aloprxz|~   ƸƸڥƸƸƸƥڥڥƥڥ$hBhgTB* ^JmHnHphu$hBhKB*^JmHnHph?u$hBhKB* ^JmHnHphuhBhK^JmHnHu'hBhKB*]^JmHnHph*u$hBhKB*^JmHnHphu$hBhKB* ^JmHnHphu2 '(1256?@KMPQT[\_`vx{}ǒǒǒs]*hBhK5B*\^JmHnHphuhBhKmHnHu$hBhgTB* ^JmHnHphu'hBhKB*]^JmHnHph*u$hBhKB* ^JmHnHphuhBhK^JmHnHu$hBhKB*^JmHnHphu$hBhKB* ^JmHnHphu$hBhKB*^JmHnHph?u$  #]cdjsuvyz *\bciowy{|hBhKmHnHuhBhK^JmHnHu$hBhKB* ^JmHnHph"Ru*hBhK5B*\^JmHnHphu$hBhKB*^JmHnHphuA[,Z*\8jmn!$gdK$5$9DgdK  (*139:DIZ\ceklvx *,68?AGHRWڱڱڱڱڱڱڱڱڱڱڱڱڱڱڱڱڱ$hBhKB* ^JmHnHph"Ru*hBhK5B*\^JmHnHphu$hBhKB*^JmHnHphu$hBhKB* ^JmHnHphduFWhm!%(/0GIPQZ\cepr|~ '(FN̶ڶڣڶڶڶڣڣڣڶڶڶڶڣڶڣڶڣڣ̗ڣڣhBhKmHnHu$hBhKB* ^JmHnHph"Ru*hBhK5B*\^JmHnHphuhBhK^JmHnHu$hBhKB*^JmHnHphu$hBhKB* ^JmHnHphdu;!(I\~L_2X *dhib $gdK$5$9DgdKNYa !'+4W[lrx~)->DJPZgiڴڴڴڴڴڴڴڦڦhBhK^JmHnHu$hBhKB* ^JmHnHphdu$hBhKB*^JmHnHph333u$hBhKB*^JmHnHphu$hBhKB* ^JmHnHph"Ru<,56b| -23IK̹̹̹̹̹o\o$hBhKB*^JmHnHph333u$hBhKB*^JmHnHph?_u$hBhKB*^JmHnHph?uhBhK]^JmHnHu'hBhKB*]^JmHnHph*u$hBhKB*^JmHnHphu$hBhKB* ^JmHnHphuhBhK^JmHnHu$hBhKB* ^JmHnHphu$ 2!de.bd $$gd A.$$gd AgdYDgdB$gd*gd*$gdw+$gdK$5$9DgdKKPQTV[]bcfhmp!"8:?@BDILbdejڹڹڹ$hBhKB*^JmHnHph333u$hBhKB*^JmHnHph?_uhBhK^JmHnHu$hBhKB*^JmHnHphu$hBhKB* ^JmHnHphu$hBhKB*^JmHnHph?u:$.0\bdh{yng_gW_ghBhX]hBhX6 hBhXhBhXmH sH hBhKmHnHuhBhK@imHnHu$hBhKB*^JmHnHph333u$hBhKB*^JmHnHph?_uhBhK^JmHnHu$hBhKB*^JmHnHph?u$hBhKB*^JmHnHphu$hBhKB* ^JmHnHphu!{  7:MNPcx}/012Eϼϼϳϼ~v~o~ghBhp\ hBh.hBhp6 hBhphBhpPJhBh6PJhBhPJhBh-6PJhBh-\hBh.PJhBh-PJhBhX6PJhBhXPJ hBhXhBh xB*ph hBh xhBh6 hBh& ,8OY_w| 3:;BNOPWz{|+.=ۿۿۿ۱۱۱۱ hBh_ hBh.hBh_h6hBh_h hBhZqhBh/5mHnHuhBh$5mHnHuhBhXPJmHnHuhBhX5mHnHuhBhXmHnHuhBhXmH sH 3^_VIU & F EƀZ G)gd+IU & F EƀZ G)gd+gdBgdbE$gdB$$gd A =AIN_cq|09IRVZpSf,7;@V/0<Q&hBh_mH sH  hBhsHhBh_5OJQJ^JhBh_0Jf6B*phhBh_0JfB*ph hBh_hBh_6G* +$Ifgd A$$$5$7$8$9DH$Ifa$gd A9gdsHgdsH"gdBIU & F EƀZ G)gd+ &'ABRSVW>PQkl|}嶫~n~[~nn~ShBh_6$jhBh_B*UphjhBh_B*UphhBh_B*phhBh_6B*ph hBhAjhBh_UjhBh_U hBh_hBhAmH sH hBhdHmH sH #jhBh_UmH sH hBh_mH sH jhBh_UmH sH !+,]^_cij  CDOS]^q|(Sߵ߫߫ߤߤ߫߫߫߫߫߫ߤ߫ߤ߫ߤߛhBh_aJ hBhwhBh_6]hBh_B*phhBh_5\hBh_OJQJ^JhBh_6 hBh_ hBhA hBh6'jhBh6'U=kd#$$IfTUֈ w'%nf 0%444Uap<ytoT ,@GYijk +$Ifgd\0;Ff، ,$Ifgd AFf  +$Ifgd A$$$5$7$8$9DH$Ifa$gd A   1CDEO^em}FfFf2 +$Ifgd\0;Ff ,$Ifgd\0;} ?$IfgdpAFfFf +$Ifgd\0;Ff ,$Ifgd\0;S^_yz % ' 2 H L         " . 2 7 Q Z    yĕrgjhBhXU hBh. hBhdHj?hBh^U hBh= VjhBh= VUhBhX6hBhXmH sH  hBhXhBh_5\ hBhA$jhBh_B*UphhBh_B*phjhBh_B*Uph hBh_&" .    Qv}}}x}r}$gdgdw>_gdbEgdBxkd$$IfTU4%%0%444Uaf4p ytoT         % J Q t            Z a  + 1 2 5 7 > I Z ^ g r s   ƿxjhBhvU hBhvhBhM6 hBhMhBh fk6hBhGJ6 hBh fk hBh`DhBhL6 hBhLhBhXmH sH  hBhX hBhAjhBhXU hBhdHj̧hBh\VU/,/Wahx&-KN\cjrûôííí}o}}jhBh UjhBh U hBh  hBh9 hBhGJhBhGJ6hBh fk6 hBh fk hBh<hBhL6 hBhL hBh hBhM hBhAjhBhvU hBhdHjohBh gU+  *+EF (-8@KRVabjƾն{ hBhBhBh<6 hBh<hBhr^o6 hBhr^ohBh6 hBh hBh@hBh@6hBhN$6 hBhN$hBh 6 hBh hBht94mH sH hBhXmH sH  hBhX hBh /;KLMNOPQUjqtu1/0LMž̗t̗fj˪hBh]FUj&hBh]FU hBht94jhBh UjhBh]FU hBhv hBh]F hBhRp hBhW hBh hBh< hBhAhBhdHB*phhBh B*phjhBh B*Uph hBh (M]^_`g|$%().;?@EFOPuv03Hhഩj-hBhX0JhB*CJOJQJ^JaJph0hBhX0Jh6B*CJOJQJ^JaJphhBhX6 hBhXhBhXmH sH  hBhWhBh]F6hBhRp6jThBh]FU hBhRp hBh]F hBhAjhBh]FU hBht94)hirVWem©ʛʐ{tmʛʛʛbWhBhBmH sH hBh%mH sH  hBhA hBhdHjhBh^U hBh= VjhBh= VUhBhX5OJQJ^J0hBhX0Jh6B*CJOJQJ^JaJphhBhX6 hBhX-hBhX0JhB*CJOJQJ^JaJph-hBh%0JhB*CJOJQJ^JaJphEFam$ACl01^$$$gd+$gdB$gdWe$$gd?v.$gd?vgdB"#8@ACIJKR\ilmtĵvvҦvhBh'f\mHnHu&hBhXPJ\^JaJmHnHuhBhX\mHnHuhBhX5\mHnHuhBh'f5\mHnHuhBhX5mHnHuhBhXmHnHuhBh%mH sH hBhX6mH sH hBhXmH sH .$-1^fsx  $&/4=HIJ   !8@CDQWXYṮ~~~~~~~~~~hBhX5mHnHuhBhX6mH sH hBhXmH sH hBhBmH sH hBh%mH sH hBhXmHnHuhBh'f\mHnHuhBhX\mHnHuhBhX5\mHnHuhBh'f5\mHnHu1Jw "AOZy$gdWe$$gd).$gd)$gdB$$$gd+Ypx{|      ' ( ) * 2 3 : F G H O Z [ \ c l z                !!!!ֹֹֹֹ󹫹֜hBh+5\mHnHuhBh'f\mHnHuhBhX\mHnHuhBh'f5\mHnHuhBhX5\mHnHuhBhX5mHnHuhBhXmHnHu9  ( * !!!!%%% &&_&&&"'5'6'T'g'''$$$gd+$gd+$gdWe.gd\VgdBgdbE$gdB!!g!j!p!"""""" #<#L#^#d###S$[$q$t$$$$$%%%)%g%h%%%%%%%%%%%%%T'X'Y'_'ƸͪyyhBhX5mHnHuhBhXmHnHuhBhGmH sH hBhX6mH sH  hBhA hBhdHjhBh^U hBh= VjhBh= VUhBhX5OJQJ^JhBhX6 hBhXhBhXmH sH /_'e'f'~''''''''''''''( (#(=(>(@(A(E(V(a({(((((((((( ))ǹǹǮ}vvvnvahBh26B*phhBhR6 hBh2hBhy6 hBhyhBhX6B*ph hBh. hBhX hBhRhBhXmH sH hBhX\mHnHuhBhX5\mHnHuhBh'f5\mHnHuhBhX5mHnHuhBhXmHnHu&'''' ("(#(=(S))0*=*#++,-/N0c0114 5$gd?vgd\VgdA5gdbEgd`9"gdPYgdw>_gdbE"gdB$gdgd$gdB)?)R)S)V)W)h)i)s)))))))))**+*,*-*.*/*0*=*A*F*f*p****Ƚ{piaiZiZS hBhPY hBhchBh#*6 hBh#*hBhYmH sH hBhAmH sH hBhmH sH #jMhBh gUmH sH jhBhyUmH sH hBhymH sH hBhXmH sH  hBhbvhBhX6hBh26B*ph hBhX hBhH hBhR hBh2 ** + ++++ +!+"+#+'+,+K+N+]+_+g+y+++++++++++++++,}k`U}hBhAmH sH hBhdHmH sH #j_hBh gUmH sH hBh5PmH sH jhBh5PUmH sH hBhBmH sH hBhPYmH sH  hBhW hBh.QhBhPY6 hBhY hBhc hBhA hBhdHj֭hBh gU hBhPYjhBhPYU!, ,\,x,y,~,,,,,,,- --Z-s------------------.Ƚtmf_X hBh 7 hBhH hBhA hBhdHjhBh gUjhBh[kUhBh[k6 hBh.Q hBh[khBh7lz6 hBh7lzhBhYmH sH hBhO%mH sH hBh -mH sH hBh5P6mH sH hBhN;\mH sH hBh5PmH sH hBhPYmH sH ".. .......".(.).*.../.>.A... / /"/1/X/^/////////0 000M0N0R0S0c0g0m01;xhBh?26 hBh?2hBhA5mH sH hBhSmH sH hBhvmH sH  hBhWhBh`96 hBh`9 hBh0rhBh$c6 hBh$c hBh 7hBh.Q6hBh[k6 hBh.Q hBh[k hBhH,11111111111122222333333333344i4q4 5 5X5_5u5|555555552696O6Z6q6w6y666I7ʿhBh}{5OJQJ^JhBhc6 hBhc hBhwhBh}{6 hBh}{hBh}{mH sH  hBhA5 hBhA hBhdHjhBh?2U hBh?2jhBh?2U5 556y6k!IU & FEƀZ G)gdcIU & FEƀZ G)gdcIU & FEƀZ G)gdcy67[789L::::l;kfa[SSSS$$$gd).$gd)gd\V"gdcIU & FEƀZ G)gdcIU & FEƀZ G)gdc I7J7[7_77777888888V8W88888888888888888ѽ܍{mf_WWWP hBh.hBh}{6 hBhA hBhdHjhBh= VU hBh= VjhBh= VU hBh}{hBhAmH sH hBhdHB*mH phsH hBh B*mH phsH &jhBh B*UmH phsH hBh mH sH hBhcmH sH hBh,mH sH  hBhc hBh:b8 9!9192989999999:H:J:L:::::::: ;$;&;(;˸yk]ykOhBh'f0JimHnHuhBh'f5mHnHuhBh}{5mHnHuhBh}{\mHnHuhBh}{5\mHnHuhBh}{mHnHuhBh}{mH sH hBhBmH sH hBhGmH sH hBh}{6 hBh}{ hBhAjhBh= VU hBhdHjŰhBh^U hBh= V(;4;6;8;@;B;F;H;b;f;j;n;;;=<F<K<T<<<N=U=V=n=u=======>>>>.>5>ʼykd] hBhA hBhdHj\hBh= VU hBh= VjhBh= VU hBhwhBhc6 hBhchBh}{6 hBh}{hBh}{mHnHuhBh}{5mHnHuhBh}{^JaJmHnHu"hBh}{\^JaJmHnHu%hBh}{5\^JaJmHnHu$l;n;7>A@AACCCDZD[D\DrDDDDDE'EqH I$gd4$gdGgdbEgdbE$gdWe.gd\Vgd\V$$gd+gdXj$gdB5>7>i>l>>>>>d?k?????A@Q@Z@b@k@@@@@@@@@@@ AA-A7ABACAfAgAwAxA~AAAAAB¦¦whBh}{mH sH hBhBmH sH hBhGmH sH jhBh\VU hBhA hBhdHj hBh}{UjhBh}{U hBh.hBh}{6 hBh} hBhuhBh 6 hBh hBh}{,B>B~BBBBBBC CCC\C^C~CCCCCCCrD}DDDDDDDDɾ۳꡾۳{m{m{^{mhBh'f5\mHnHuhBh}{\mHnHuhBh}{5\mHnHuhBh}{mHnHuhBhGmH sH #jhBh}{UmH sH hBhAmH sH hBhdHmH sH #jOhBh}{UmH sH jhBh}{UmH sH hBh}{mH sH hBhJ4mH sH DDDDD'EFFFF2G>GFGTGGHHHHH!H/HHHUI^I|IIIIIIJJJJzohBh mH sH hBh4mH sH hBh:bmH sH hBh46 hBh4 hBh&hBh:6 hBh:hBh:mH sH hBh'f5\mHnHuhBh}{5\mHnHuhBh}{\mHnHu&hBh}{PJ\^JaJmHnHu# II6JcNU & F*$8$EƀZ G)H$gd4NU & F*$8$EƀZ G)H$gd46JJ7KL&MxMzMMMM@NDNFN\OORgdbEgdB$gdB$gdWe.gdBgd4"gd4NU & F*$8$EƀZ G)H$gd4JJ!K1K2K3K4K5K7KKKKKKKKKKKKKLLL"M$M&M츭wwpeZOZhBhGmH sH hBh:mH sH hBhwmH sH  hBh:hBh46 hBhA hBhdHjhBhAUjhBh4U hBh4hBh4mH sH hBh mH sH hBhAmH sH hBhdHB*mH phsH hBh B*mH phsH &jhBh B*UmH phsH &MMMMMMMMMMMMMMMNNNNN N:N>NFNNNNN(O*OJOLOʼʩyngYRn hBhdHjBhBh^U hBh:~jhBh:~U hBhJ4 hBh:"hBh:\^JaJmHnHuhBh:^JaJmHnHu%hBh:5\^JaJmHnHuhBh:5mHnHuhBh(mHnHuhBh:\mHnHuhBh:5\mHnHuhBh:mHnHuLOVOXO\OOOOPPPPPPQQQQRRRCRDRmRnR~RRRRRRRRRRRRRRRRRͺͬͺ͎xmhBhA5mH sH hBhSmH sH hBhvmH sH jhBhmxUhBhAPJ hBhdHjhBhmxUjhBh'TUhBh'T6 hBh'ThBh:6hBh:mH sH  hBh:jhBh:~U hBhA(RRVkV{ViFREƀZ G gd-FFREƀZ G gd-FgdA5gdbERR>TJTxTTTTTTT UUUU(UvUU V!VOVPVjVyVzVW W W WpWvWwWxWWWWWWWWWWW:X>X?XJXLXRXXXYXZXX򷰢 hBhA hBhdHj3hBh\VU hBh\VjhBh\VU hBhb hBh6 hBh# hBh[ hBhyhBhA5CJOJQJ hBhA5 hBhs4{VVXXYZk[[[[[[[E\\\\$gd%67$gdWe$$gd?v.$gd?vgd<8gdgdbEgdxfFREƀZ G gd-FXXXXXXXXXXYYYY"Y#Y3Y4Y5Y6YYYYYZZZZZZZZZƻѴэة~wpiibWhBhLwPmH sH  hBh<8 hBh hBhz hBheyhBhA56 hBh-sj}hBhwU hBhw hBh4jhBhA5U hBhhBhA5mH sH hBhvmH sH  hBhA5 hBhAjhBh\VU hBhdHjhBh\VU ZZ[([^[h[k[|[}[~[[[[[[[[[[[[E\I\Z\a\b\c\\\\\\\ƺƮƺƺƺƖƇ{m{a{{{hBhlmHnHuhBh[5mHnHuhBh[mHnHuhBh[5\mHnHuhBheymHnHuhBht]CmHnHuhBh_mHnHuhBh>"mHnHuhBhA5mHnHuhBhA55mH sH hBhA56mH sH hBhA5mH sH hBh-FmH sH  \\\\\\\\\\\\\\\\\\\\]]+]4]Q]Y]{]ʸʜvkd]dUMd]dMdhBhA56hBh[6 hBhve hBhA5hBhA5mH sH hBhvmH sH hBhA5mHnHuhBh[5\mHnHuhBh[mHnHuhBh[^JaJmHnHu"hBh[\^JaJmHnHuhBh>"^JaJmHnHu"hBh#\^JaJmHnHu%hBh[5\^JaJmHnHu\\\{]]]]]]]^2^4^5^"_D_\_k_z_______$$$gd+.$gd+$$gdW;$gdWe.gd^gd%67gdbE$gd%67{]]]]]]]]]]]]]]]]]]]]]]]^^^ ^жުޛubP"hBh#\^JaJmHnHu%hBh[5\^JaJmHnHuhBh(mHnHuhBh[5mHnHuhBh[mHnHuhBh[5\mHnHuhBhvemHnHuhBhA55mHnHuhBh_mHnHuhBh>"5mHnHuhBhA5mHnHuhBh6mH sH hBh^mH sH  ^ ^^^^^^^^^^ ^"^#^0^1^2^3^4^5^T^X^^^^^!_ui]VOVOVHV hBh hBhkZ hBhA5hBh3mHnHuhBhA5mHnHuhBh[5\mHnHuhBh[mHnHu"hBh#\^JaJmHnHu%hBh[5\^JaJmHnHuhBh(mHnHuhBhmHnHuhBh[^JaJmHnHu"hBh[\^JaJmHnHuhBh>"^JaJmHnHu!_"_)_+_,_-_D_U_V_W_Y_Z_____________________```¶wk]k]k]k]khBh[5mHnHuhBh[mHnHuhBh[5\mHnHuhBh?QmHnHuhBhkZmHnHuhBh_mHnHuhBh>"mHnHuhBhA5mHnHuhBhA5mH sH hBh-FmH sH hBh9mH sH hBh6mH sH hBh$;mH sH  hBh$;"__*`K`M`N`k`l`````````b6b$eg2hiNiuii$gdw>_.gd "gd+8gdZ%"gd\$$gd?vgdbEgdo2$gd%67```````!`"`#`'`(`)`*`+`2`3`4`8`9`;`<`I`J`K`L`M`N`P`]`a`̹u̹uui]Q]hBhkZmHnHuhBhj:mHnHuhBhA5mHnHuhBh[^JaJmHnHu"hBh[\^JaJmHnHuhBh>"^JaJmHnHu"hBh#\^JaJmHnHu%hBh[5\^JaJmHnHuhBh>mHnHuhBh[mHnHuhBh[5\mHnHuhBh`dmHnHua`i`j`k`l`t`u`~``````````````````````````````a a2a۩۝۝۝ϑۅۅۅۅyrkrkr hBhkZ hBhA5hBh3mHnHuhBh>"mHnHuhBhkZmHnHuhBh>O9mHnHuhBh&M<mHnHuhBh#mHnHuhBh[5mHnHuhBh= mHnHuhBh[mHnHuhBh{omHnHuhBh5ymHnHu'2a3aRaSacadagahaiaoayaaaaaaaabbbbbbbbb"b6b7bcHcIccccccc)d*dZd[dkdldqdrdvdddddde"e#e$e(e*eZe乫ȹ}ȹȹrgrhBhGmH sH hBh\mH sH  hBhG hBhA hBhdHjDhBhmxUjhBh+8UhBh+85OJQJ^J hBh+8hBh !H6 hBhnhBh !H5OJQJ^J hBh\ hBh !H hBhcx hBhA5 hBhf&Ze\e]eeeeeeeeef)f,f-fNf\f`frfffffufufRf;,jhBhCGB*UmH phsH &jhBhB*UmH phsH hBhB*mH phsH hBhMEB*mH phsH hBhPB*mH phsH hBh\B*mH phsH hBhPmH sH hBh\mH sH hBhAmH sH hBhdHB*mH phsH hBh B*mH phsH &jhBh B*UmH phsH hBh mH sH ffffffff g gggggCgDgagfgggh1h2h6h8hPhhhhh³{tmbWbLbLbhBh$?AmH sH hBhGmH sH hBh+8mH sH  hBhiV hBh.hBh+85OJQJ^J hBhn hBh+8 hBh\6B*mH phsH hBh\mH sH hBh\B*mH phsH hBhMEB*mH phsH hBhAmH sH &jhBhB*UmH phsH hBhdHB*mH phsH hhhiiii$i%i;i_ 5$9Dgd$:$$gdZIU 5$9DgdZIU$$gd+$gda$gdw>_jjjjjjjjkkkkk"k%k'k(k,kKkOkRkYkskzkkkͿͮo^o^o^o^NhBh$:5aJmHnHu hBh$:CJOJQJ^JaJ&hBh$:5CJOJQJ\^JaJhBhZIUmHnHuhBhZIU^JmHnHu!hBhZIU5\^JmHnHu hBhZIUCJOJQJ^JaJhBhw0J%mH nH uhBhZIU0J%mH nH uhBhi`mHnHuhBhg:OmHnHuhBhA5mHnHukkkkkkkkkkkkkkkkkkkkkl llll#lƺ|iWGWGWGWG|hBh" ^JaJmHnHu"hBh" \^JaJmHnHu%hBh" 5\^JaJmHnHuhBh" mHnHuhBhNP5mHnHuhBhNPmHnHuhBhpmHnHuhBhXmHnHuhBh &mHnHuhBhpaJmHnHuhBh;$aJmHnHuhBhNPaJmHnHuhBhNP5aJmHnHukkkkkkkl%lNlvlxlyl{llllmmm>m|m}m$gdZIU5$9D`gdw>_ 5$9DgdZIU 5$9Dgdw>_ $ gdw>_$gd%67$$gdA#l$l%l&l-lNlOlVlvlxlylzl{llllllllmmmm̻̻篞}l}l}l}lYJ>hBh+mHnHuhBhp5\mHnHu$hBhZIUB*^JmHnHphu hBhZIUCJOJQJ^JaJ&hBhZIU5CJOJQJ\^JaJhBhZIUOJQJ^J!hBhZIUB*OJQJ^JphhBhZIUmHnHu hBhACJOJQJ^JaJ&hBhA5CJOJQJ\^JaJ hBhahBhNPmHnHuhBhAmHnHumm'm(mmGm|m}mmmmmmmmmmmmmmnn(nòrbTB"hBhof]^JaJmHnHuhBh&S^JmHnHuhBhof^JaJmHnHuhBh$:^JmHnHuhBh>"mHnHuhBhmHnHuhBhamHnHuhBh^JmHnHu!hBh5\^JmHnHuhBh&M<mHnHuhBhhmHnHuhBh#mHnHuhBh[mHnHuhBhg:OmHnHu}mmnnnn.o[ooooooop)p8p[pkpzppppppqq$gdP$gdx1$gdw>_.gd &$gd%67$$gd*(n)n*ninjnknvnwnnnnnnnnnnnŹӹtZB6hBh5!mHnHu/hBh &0JnCJOJQJ^JmH nH sH u2hBh &0Jn5OJQJ^JaJmH nH sH u(hBh &CJOJQJ^JaJmH sH hBhymH sH hBh &mH sH hBh]mHnHuhBh$:^JmHnHuhBhd$mHnHuhBhd$^JmHnHuhBhYmHnHu"hBhof]^JaJmHnHuhBh&S^JmHnHunnnnooo-o8oZokolosooooooo ppNpRpkpppppqqq8q>q?qȼȰȤȤȘȌl[ hBh4DCJOJQJ^JaJ&hBh4D5CJOJQJ\^JaJhBh]mHnHuhBh3mHnHuhBhPmHnHuhBh]dsmHnHuhBhWmHnHuhBhmHnHuhBh &mHnHu"hBhw]^JaJmHnHuhBh5!mHnHuhBh5!]mHnHu!qqqq8q\q]qrqsqqqqqqrrr,r>rQrSr|rr$gd E$gd & 5$9Dgdw>_ 5$9Dgdh$$gd4D 5$9Dgd4D$gdx1$gdw>_?qDq]qcqdqhqmqpqrqsqqqqqqqqqqqrr rrrrQrWrXrYr[rbrcrdrhrirkrlryr{r|rrrrrrrrrrrųų瓁qeZhmDh &mHsHhmDh &\mHsHhmDh E0J%mHnH sHu"hmDh &0J%5mHnH sHuhmDh &0J%mHnH sHuhBh &^JaJmHnHu"hBh &\^JaJmHnHu%hBh &5\^JaJmHnHuhBh &5\mHnHuhBh &mHnHuhBh EmHnHurrrrrrrrrrrss s[s\sssٽzbzbzbOC2!hBhP5\^JmHnHuhBh &mHnHu$hBh>B*^JmHnHphu.hmDh>5CJOJQJ\^JaJmHsH(hmDhL CJOJQJ^JaJmHsH(hmDh>CJOJQJ^JaJmHsH1hmDh>B*CJOJQJ^JaJmHphsH7hmDh>5B*CJOJQJ\^JaJmHphsH hmDh>OJQJ^JmHsH)hmDh>B*OJQJ^JmHphsHrrrrs[s]ssssssttuCuuuuuuuvv$gdWe.gd3 5$9Dgdof$gdP$gd &$gd> 5$9Dgd> 5$9Dgdw>_sssssssstt!t?tItktltttttttttȹudRdAAu hBhx1CJOJQJ^JaJ#hBhofCJOJQJ]^JaJ hBhofCJOJQJ^JaJ#hBhbCJOJQJ]^JaJ hBh4DCJOJQJ^JaJ hBh &CJOJQJ^JaJhBh &^JaJmHnHuhBh4D5\mHnHuhBh &5\mHnHuhBhhg^JmHnHuhBhP^JmHnHuhBhPmHnHuttttttuuu>u@uCuOuZu\ueuhuruuu"v,v;vAvGvQvSv]v^vbvcvevfvivjvlvmvtvuvwvxvǼughBh+5mHnHuhBhOmHnHuhBhI7hmHnHuhBhgmHnHuhBh+mHnHuhBh3mHnHuhBh3mH sH hBhGmH sH hBh+mH sH hBh%67mH sH hBh &mH sH hBhqXmH sH hBh &mHnHu(v"v#vSvvvvvvvvvwwwmwwww xxFxoxxxxx$$gd+.$gd+gd%67$gd%67$gdWexvvvvvvvvvvvvvvvvvvvvvvvvvvvwwww/w:wlwmwuwvwwwxwͿͥ͞ynchBh%67mH sH hBhGmH sH hBh &mH sH hBh/`mH sH  hBhhhBhA56 hBhA5hBhFmHnHuhBhF5mHnHuhBhqX5mHnHuhBhqXmHnHuhBh35mHnHuhBh+mHnHuhBh3mHnHu&xwwwwxxyy3y4y>y?y@yIyJyKyNyOySybydyhyiykylyyy}yyyyyyyyӹӭӭӍ}}}k}k}k}[hBh%67^JaJmHnHu"hBh/`5^JaJmHnHuhBh/`^JaJmHnHu"hBh/`\^JaJmHnHuhBhxA5mHnHuhBhxAmHnHuhBh2SmHnHuhBh/`5mHnHuhBh/`mHnHuhBh/`mH sH hBhGmH sH hBhmH sH !xxxxy3yQySyZy|yyyyyyz8zYzuzzzzzzzS{U{V{.gd%67$gd%67$gdWeyyyyyyyyyyzzz0z1z2z4z5zKzLzMzOzVzWznzozqzrzzzzzzzzzzɾznzznbzzzzzzzhBh mHnHuhBh_mHnHuhBh>"mHnHuhBhA5mHnHuhBhA5mH sH hBhGmH sH hBh/`mH sH hBh mH sH hBhX(mH sH hBh{omH sH hBhaqmH sH hBh &mH sH hBh6mH sH hBhhmH sH $zzzzzzzzzzzz!{"{'{({*{+{/{0{1{2{3{:{;{<{稴q_OhBh>"^JaJmHnHu"hBh#\^JaJmHnHu%hBh[5\^JaJmHnHuhBh*~mHnHuhBhmmHnHuhBh>"mHnHuhBh#mHnHuhBh[mHnHuhBh[5\mHnHuhBh~amHnHuhBhA5mHnHuhBh mHnHuhBhg:OmHnHu<{@{A{C{D{Q{R{S{T{U{V{q{y{{{{|J|V|^|n|||||<}J}f}n}}} ~~~"~k~n~{~~~³zzlle hBhX(hBhrU5OJQJ^J hBh.hBhrU6 hBhrUhBhrUmH sH hBh mHnHuhBhrUmHnHuhBh[5\mHnHuhBh[mHnHuhBh>"^JaJmHnHuhBh[^JaJmHnHu"hBh[\^JaJmHnHu'V{q{}vځׂ3 Wpņ 7HJ$gd%67$gdWe.gd`q$gd+gdbEgd+gdbE"gd\Vgd%67gdbE~~$%56;<HL^i  -.>?BC56eʴʟʔzohBh:~mH sH jhBh:~UmH sH hBhwmH sH hBhrUmH sH  hBhX(j7hBh^UhBhrU5OJQJ^JhBhrU6 hBhrU hBhA hBhdHjhBh:~U hBh:~jhBh:~U%efvwz{сҁׁ؁ځ kxׂQ^grӽӲӽyrdhBhrU5OJQJ^J hBhGhBhrUB*phhBhrU6 hBhrUhBhrUPJmH sH #jwhBh^UmH sH hBh:~mH sH hBhrUmH sH hBhAmH sH jhBh:~UmH sH hBhdHmH sH #jȼhBh^UmH sH "%&)*Ąńʄ˄̄()9:=>KSTlrȅ̅ ~vkhBhGmH sH hBhrU5$hBhrU5B*OJQJ^JphhBh.B*phjdhBhrUUhBhrU5OJQJ^JhBhrUB*phjhBhrUU hBhA hBhdHj"hBhrUU hBhrUjhBhrUU%UVW7B[et~‡ȇɇԇՇև݇ ĶӨӜygyӜĶ[MhBh5mHnHuhBhmHnHu"hBhrU\^JaJmHnHuhBhrU^JaJmHnHu%hBhrU5\^JaJmHnHuhBhEzmHnHuhBhrU5mHnHuhBhrU\mHnHuhBhrU5\mHnHuhBhrUmHnHuhBhGmH sH hBhrUmH sH hBh%67mH sH JՇ #/=SUVn܈u|ƌ׌$gdWe.gd%67gdgd%67gdbE$gdG$gd$gd%67܈~ĉщ҉   56~ҊӊMkxպլՓեպ{ՓpՓեեhBhB*phjhBhrUUhBh#RhKhBh#RB*ph hBhA hBh#RjhBhrUUjhBhrUUhBhrU5hBhrU6 hBhrUhBhrUmH sH hBhGmHnHuhBhmHnHu+DEefvwxy|T_fgtvwƍ빮{mmmmZ%hBhrU5\^JaJmHnHuhBhrU5mHnHuhBhmHnHuhBhd&pmHnHuhBhrU5\mHnHuhBhrUmHnHuhBhGmH sH hBhrUmH sH  hBhA hBhdHjAhBhUjhBhU hBh hBhrU hBh%67# />?Tfٍ1IUctvwԎՎgdA5gdbE$gdL$$gd+$gd%67$gdWeƍ͍؍ٍڍ19Վ .Ʒҩƈzn`nUNFNFNUhBhrU6 hBhrUhBhrUmH sH hBhL5mHnHuhBhLmHnHuhBhrU5mHnHu%hBhrU5\^JaJmHnHuhBh\mHnHuhBhrU\mHnHuhBhrU5\mHnHuhBhd&pmHnHuhBhrUmHnHuhBhrU^JaJmHnHu"hBhrU\^JaJmHnHu%.5Cɐ.1Ǒӑԑ  Œƒ @FVlrv~דޓߓ­㟘­͑ hBh. hBhw hBhdHjmhBhrUU hBhAjhBhrUUjhBhrUUhBhrU5OJQJ^JhBhrU6 hBhrUhBhrUmH sH hBh kmH sH 0J3haIU & FEƀZ G)gdGIU & FEƀZ G)gdGgd\VgdbE!"IJZ[`aɔϔӔ۔ !"9:_`pqvw{| ZbѵѭѭѭѦјъѵshBhrU6mH sH hBhrUmH sH jhBhrUUjNhBhrUU hBhcJhBhrU6hBhrU5OJQJ^JjhBhrUU hBhrU hBhAjhBhrUU hBhdHjhBhrUU,deݖBO͗ٗUb$gdWe$gd%67.gd-dIU & FEƀZ G)gdGbcdej|ٙݙNRSZad՛֛)*89CNOcdnۜܜ޵޵ީީީީީީީީީީީީީީ޵޵ޛhBhrU\mHnHuhBhd&pmHnHuhBhrU5mHnHuhBhrU5\mHnHuhBh0K`mHnHuhBhrUmHnHuhBhrUmH sH hBh(mH sH =blmŘ0h{|ޙ +9iĚ N$gd%67$$gd+$gdWeNdʛCnМ&tɝAJ_ɞ˞̞@de$gdWe.gd%67$gd%67ŝɝʝѝ!&>?JNOUɞ̞'236>?@ãģˣۣȺȺ溯ufhBhrU5\mHnHuhBhOmHnHuhBhwmHnHuhBh(mH sH hBh.mH sH hBhrU6mH sH hBhrUmH sH hBhrU5mHnHuhBhd&pmHnHu"hBhrU\^JaJmHnHuhBhrUmHnHuhBhrU\mHnHu(eP]ĠŠ'Fxšԡ%45as΢$gdWe*Yh{ޣDj\ͥ$H$gd%67$gdWeۣܣޣPQ_`juv,-JKťƥڥۥ   !$%,HIPپٰٰٞپ"hBhrU\^JaJmHnHuhBhrU\mHnHuhBhrU5\mHnHuhBhVzmHnHuhBhrUmHnHuhBhrU5mHnHuhBhd&pmHnHu>)*89CNOcdnyz.234efvw~ѨҨJOPͨs jhBhhdUmHnHuhBhhdmHnHuhBhAmHnHuhBhdHmHnHu&jhBh^UmHnHu jhBh:~UmHnHuhBh:~mHnHuhBhrU5mHnHuhBhVzmHnHuhBhrUmHnHu,Cn/Kũթ .c!Q$$gd+.$gd+$gd%67©éĩͩΩ    +./6cdkϷttb"hBhrU\^JaJmHnHuhBhrU\mHnHuhBhrU5\mHnHuhBhVzmHnHuhBhrU5mHnHuhBhhdmHnHuhBhrUmHnHuhBhAmHnHu jhBhhdUmHnHuhBhdHmHnHu&j;hBhhdUmHnHu&k Zemnz{˭̭#()*89NO`ajtu|·ّhBh>`5mHnHuhBh0K`mHnHuhBh2mHnHuhBh(mH sH hBhrU6mH sH hBhrUmH sH hBhrU5mHnHuhBhVzmHnHuhBhrUmHnHu6,>]iˬج +:;Zoۭ"+$gd%67$gdWe+D_kmtʮ9Ug¯2ATcde$gdWe.gds$gd%67ʮˮҮ %+789˰̰   34QRη٨}娚ooٚooohBh>`\mHnHuhBh>`5mHnHuhBh>`5\mHnHuhBhrU\mHnHuhBhrU5\mHnHuhBh(mH sH hBhrU6mH sH hBhrUmH sH hBhrUmHnHuhBhrU5mHnHuhBh>`mHnHu+ clֱ=>ò /`oƳ -$gdWe.gd\V$gd%67RdlmnyzƱӱֱױޱ߱ ';<>gmóijų "˽׭˽˽׽ע׽˽˽˽׽׽hBh(mH sH hBhrU6mH sH hBhrUmH sH hBhrU^JaJmHnHuhBhrU5mHnHuhBh>`mHnHuhBhrUmHnHuhBhrU5\mHnHuhBhrU\mHnHu6"#9:XYjk  *D!,/0AGHIVW_`bj硖v(hBhrUB*OJ QJ mHnHphuhBh(mH sH hBh.mH sH hBhrUmH sH hBhrU\mHnHuhBhrU^JaJmHnHuhBhrU5\mHnHuhBhrU5mHnHuhBhrUmHnHuhBh>`mHnHu.-Lit  Y!^ $$gd+.$gd+gd%67gdbE$$$gd?v$$$gdw.$gdw$gdWe$$gd)$gd%67jxy|}ʷȸɸ^u| wwl]hBhrU5\mHnHuhBh(mH sH hBhrU6mH sH  hBhAjhBhrUUjhBhrUUhBhrU5OJQJ^JhBhrU6 hBhrUhBhrUmH sH hBh>`5mHnHuhBhrU5mHnHuhBh>`mHnHuhBhrUmHnHu=Kʺݺ2DFMqr@A\D.gd\V$gd%67$gdWe$$gd+ DMOV`mnqr|}ܻݻ޻ 㶫zo]RzGzhBhAmH sH hBhdHmH sH #jhBh^UmH sH hBhx}}mH sH jhBhx}}UmH sH hBhrU6mH sH hBhrUmH sH hBh%67mH sH hBh(mH sH hBhrUmHnHu"hBhrU\^JaJmHnHuhBhyg5\mHnHuhBhrU5\mHnHuhBhrU\mHnHuAFW[ӽ׽ %,79JUhist}~)+CNklvwGHNVX_xz{·hBhvmH sH hBhrUmH sH hBh>?mHnHuhBhrU5mHnHuhBh0K`mHnHuhBhrUmHnHuHDQ{ؽ GUپQÿĿ$7$$$gd?v$gd%67$gdWe79:Jj)+,CmANPWxz{$gd%67{[CiFREƀZ G gdvFREƀZ G gdvgd%67gdbEEM[dir':EYZ[ot)*:;@AB05ɶɨɶɶɓ hBhvjhBh\U hBhAjhBhUjhBhUhBh6 hBh hBh(hBhC6hBhrU6 hBhC hBhrUhBhrUmH sH 7  Lu,-w<=MNQRʻʻʴʻܨܨܜwk_hBhAmHnHuhBhdHmHnHu&jZhBhUmHnHu jhBhUmHnHuhBhmHnHuhBh6mH sH  hBh} hBhuhBh 6 hBh hBh(mH sH hBhmH sH  hBhjhBhU hBhA#CwX$gd$$$gdv.$gdvgd "gdIR$$EƀZ Ggd)stBM!$,OY թ敵թsshBh6mH sH hBhmH sH hBh(mH sH &jxhBhUmHnHuhBhAmHnHuhBhdHmHnHu&jhBhUmHnHu jhBhUmHnHuhBhmHnHuhBh5mHnHu(#$Bg R$LNO&Nt.gd$$gd+$gd    #+ >IV^_`ϷϷϷssϷhBh6mH sH hBhmH sH hBh(mH sH &jhBhUmHnHuhBh5mHnHuhBhmHnHuhBhAmHnHu jhBhUmHnHuhBhdHmHnHu&jhBhUmHnHu*#79:,?@^   `.gd$gdep#$'(%.MQT\34STdehiϷϷϷϷkϷ&jChBhUmHnHuhBhmH sH hBh(mH sH &jhBhUmHnHuhBh5mHnHuhBhmHnHuhBhAmHnHu jhBhUmHnHuhBhdHmHnHu&j%hBhUmHnHu*3FGe.^2$KMT$gdT|~ o2duWy$$gd+.$gd+$gd}~$(, '*Ԩ󝖎ugu` hBhAjahBhrUUjhBhrUUhBhrU5OJQJ^JhBhrU6 hBhrUhBhrUmH sH hBhAmHnHuhBhdHmHnHu&jhBhUmHnHu jhBhUmHnHuhBh5mHnHuhBhmHnHu%yPcdFYcel   ^$$gd?vgdbE$gdDGEKsV\bg=Bjkl#휋|hBhrUOJQJmH sH  hBhrUOJQJ^JmH sH hBhrUmH sH  hBhA hBhdHjhBhrUU hBhwhBhrUOJQJ^JhBhrU5OJQJ^JhBhrU6 hBhrUjhBhrUU,^ 2YapqXY@.gdQr$gd%67$gdWe$$gdW;.$gdW;"gd%67gdX( bc&1>ABCKUWĹꡓugUgug"hBhrU\^JaJmHnHuhBhrU\mHnHuhBh@j5\mHnHuhBhrU5\mHnHuhBhrU5mHnHuhBhrUmHnHuhBhrU6mH sH hBh%67mH sH hBh(mH sH hBhA\mH sH jhBhrUUmH sH hBhrUmH sH hBh.mH sH !WXYdeil !(2?BCDKVZefjmٷ٫mٷ٫"hBhrU\^JaJmHnHuhBh\5\mHnHuhBhrU5\mHnHuhBhrU5mHnHuhBhrUmHnHuhBh(mH sH hBhrU6mH sH hBh%67mH sH hBhrUmH sH hBhrU\mHnHuhBh@j\mHnHu*@HWX YZAIXY$$gd?v.$gd?v$$gd)$gd%67$gdWe -012:DGHSTy|ʻʭʻʭʌvj_hBh(mH sH hBhrU6mH sH hBh%67mH sH hBhrUmH sH hBhcJ5\mHnHu"hBhrU\^JaJmHnHuhBhrU\mHnHuhBh\5\mHnHuhBhrU5\mHnHuhBhrU5mHnHuhBh\mHnHuhBhrUmHnHu%GH 9KLt{$Fl{| .Oo$gdWe.gd\V$gd%67 $,EMem-BIO  /4(ȹȫȠ}ȫ hBhA hBh?vjhBh^U hBhx}}jhBhx}}UhBhrU5OJQJ^J hBhV hBhrU6 hBhrUhBhrUmH sH hBh\mHnHuhBhrUmHnHuhBhrU5mHnHu0o*,-B|IU & FEƀZ G)gd$gd?vgd%67$gdV gdV $gd%67|j-Q :Dfa\aWRR$gdWe.gd.gdbEgd%67IU & FEƀZ G)gd"gdIU & FEƀZ G)gd ()VWghmn01ABGH W]𲠲yrk`R`k`JhBhrU6jhBhrUUjhBhrUU hBhA hBhdHjhBh^U hBhx}}jhBhx}}U hBhrU#hBhrU5OJQJ^JmH sH hBhrUmH sH hBhAmH sH hBhdHmH sH #jJhBh^UmH sH hBhx}}mH sH jhBhx}}UmH sH ]-Q  ƪ析rhBh\5\mHnHuhBhrU5\mHnHuhBhrU5mHnHuhBhrUmHnHu hBhA hBhdHjAhBhrUUjhBhrUU hBhwhBhrU5OJQJ^JhBhrUmH sH hBhrU6 hBhrU)DkWYz^r~ !H.gdn~gd%67gdbE$$gd$gd%67$gdWe )689:ATVYz  /0@AFG?GU\]^Ѷ}voccXhBh(mH sH hBhrU6mH sH  hBhA hBhdHjhBhrUUjhBhrUUhBhrU5OJQJ^J hBhrUhBhrUmH sH hBhrUmHnHuhBh\5\mHnHuhBhrU5\mHnHu"hBhrU\^JaJmHnHuhBhrU\mHnHuHSbc %.oq%>HSz.xgd #xgd #gdbE$$gd?v$gd%67$gdWe%./7PQRYlnq% ! hBh( hBhA hBhdHjwhBhrUUjhBhrUUhBhrU6 hBhrUhBhrUmH sH hBh\mHnHuhBh\5mHnHuhBhrUmHnHuhBhrU5mHnHu4 $,<KVhqszB\fs.xgd #gd%67gdbE$gd%67$gdWe!",KLhjprsz{ -3RW[j}~}ojhBhrUU hBhA hBhdHjhBhrUUjhBhrUUhBhrU5OJQJ^JhBhrU6 hBhrUhBhrUmH sH hBh\mHnHuhBhrUmHnHuhBhrU5mHnHuhBh\5mHnHu+   '/:@AB&178:?@ADJKLtu#)*+վվէվվէhBhF5mHnHuhBhrU5mHnHuhBhrUmHnHuhBh(mH sH hBhrU6mH sH hBh%67mH sH hBhrUmH sH  hBhrU hBhAjhBhrUU hBhdH6&9BM`r+EO\j.xgd\V$$gd?v$$gd)$gd%67$gdWe?Mt !4FUgqsz.$gd}$gd}gdbE$gd%67HIhiqwxyz{ $+TUwx-12ǿǿǴhBhrU5\mHnHu hBhA hBh}jLhBh^U hBhx}}jhBhx}}UhBhrU6 hBhrUhBhrUmH sH hBhFmHnHuhBhrU5mHnHuhBhrUmHnHu3-?lwz 9 h    .gdKgdbEgd%67gdbE$$$gd)$gd%67$gdWe$$gd}29<=Hlouyz~ x˽˽敎{jhBhrUUhBhrU6 hBhrUhBhrUmH sH hBhF\mHnHuhBhF5\mHnHuhBhrU\mHnHuhBhrU5\mHnHuhBhFmHnHuhBhrUmHnHuhBhrU5mHnHu001ABIJPQabijDLdo  ѻѻѻѭѻѻѢѻѻєѻjhBhrUU hBhhBhrU5OJQJ^JhBhrUmH sH j9hBhrUUhBhrU6jhBhrUU hBhrU hBhAjhBhrUU hBhdHjhBhrUU2 9 @ V ^ f g h        = ? @ D E G H O P Q U V X Y f h j k      }oh hBhwhBhrU5OJQJ^JhBh%67mHnHuhBhrU\mHnHuhBhFmHnHuhBhrU5mHnHuhBhrU5\mHnHuhBhrUmHnHuhBh(mH sH hBhrU6mH sH hBhrUmH sH hBhmH sH  hBhrU%       = @ G j k  [      ) 2 3 M ] u  $$gd.$gd$gdW;gdbE$gd%67$gdWe  7 8 H I L M     . / 4 5 = A [            *+,3>MRTXƿ힒xxxjxxjxxxhBh!@5mHnHuhBhrU5mHnHuhBhrUmHnHuhBhrU6mH sH hBhrUmH sH hBhrU6j"hBhx}}U hBhx}}jhBhx}}U hBhA hBhW;jhBhrUU hBhrUjhBhrUU(        ABT^oqx!-.gd%67gd%67gdbE$$gd?v$gd%67$gdWeXYopqxy+,QRbcfgijun`njhBhrUU hBhdHjnhBhrUU hBhAjhBhrUUjhBhrUUhBhrU5OJQJ^JhBhrU6 hBhrUhBhrUmH sH hBh!@5mHnHuhBhrU5mHnHuhBhrUmHnHuhBh!@mHnHu%?@PQVWbj   '*+Ypx=Cd澲zhBhrU5OJQJ^JjghBhrUUhBhVU5mHnHuhBhrU5mHnHuhBhrUmHnHuhBhrUmH sH hBhrU6 hBhdHjhBhrUU hBhrU hBhAjhBhrUU0-Tapq*+Y$>JW~$$gd.$gdgd%67gdbE$gd%67$gdWede"#$MVW_v{qqqcqqhBhE5mHnHuhBhrU5mHnHuhBhrUmHnHuhBh(mH sH hBhrU6mH sH hBh%67mH sH hBhwmH sH hBhrUmH sH jhBhrUU hBhA hBhdHjhBhrUU hBhrUjhBhrUU&+<MOVz{&M[f'8$gdWe.gd%67$gd%67%'JOPQvw #+TUwx"޶yjhBhrU5\mHnHu hBhA hBhdHjNhBh^U hBhx}}jhBhx}}UhBhrU6 hBhrUhBhEmHnHuhBhE5mHnHuhBhrU5mHnHuhBhrUmHnHuhBh(mH sH hBhrUmH sH )8IRdu 0RU\$gdWe.gd%67gd%67gdbE$gd%67"#*-.0RTUYZ\]defjkmn{~.6ʼٱzhBhrU5OJQJ^J hBh. hBh:bhBhrU6 hBhrUhBhrU6mH sH hBhrUmH sH hBhrU\mHnHuhBhrU5\mHnHuhBhEmHnHuhBhrU5mHnHuhBhrUmHnHu0\N9* &@g   ; $gdWe.gd%67"gd%673gd:bgd%67gdbE$gd%67'NQ  +19`a޻𢓈vk`N#hBhrU5OJQJ^JmH sH hBhAmH sH hBhdHmH sH #jhBh^UmH sH hBhx}}mH sH jhBhx}}UmH sH hBhrUmH sH hBhrU5OJQJ^J hBhA hBhdHjhBh^U hBhx}}jhBhx}}U hBh:b hBhrUhBhrU6*-=>no)*:;>?DElm}~ܹ禹|nj$hBhrUUhBhrU5OJQJ^JjhBhrUUjhBhrUUjhBhrUUhBhrU5 hBhA hBhdHj9hBhx}}U hBhx}}jhBhx}}U hBhrU hBh:bhBhrUmH sH (            ! " # ' ( * + 8 ; < C Z [ \ ] h i    M!ѴѨѴѴѴѴѴѴњњњѨь݁hBh%67mH sH hBhE5mHnHuhBhrU\mHnHuhBhEmHnHuhBhrU5mHnHuhBhrU5\mHnHuhBhrUmHnHuhBhrUmH sH hBh(mH sH hBhrU6mH sH .; \ ]      !-!8!`!!!!!!!!!""(">"G"Z"l"w""$gdWe.gd%67$gd%67M!N!u!v!!!!!!""")"*"4"<"?"D"E"F"W"X"j"k"m"n""""""""""""""####$.$4$6$7$=$>$G$H$I$n$o$$$$$$$$$$紩hBh(mH sH hBh%67mH sH hBhrUmH sH hBh mHnHuhBh 5mHnHuhBhrU5mHnHuhBhrUmHnHuhBhTmHnHu>"""""""#6#B#s#####$$$#$6$J$\$m$$$$$$.$gd$$gdW;$gd%67$$$$&%6*9+,P-----...+.R._......./$gdWe.gd%67gd gd%67$$gd?vgdbE$gd%67$$&%6%?%_%h%%%%%R&X&e&f&&&&&&& 'E'F's't'''''''''''੢{tleZjhBhx}}U hBhhBhm6 hBhdHjZhBhYUjhBhmU hBhm hBhA hBh?vjhBhrUUjhBhrUUhBhrU5OJQJ^JhBhrU5hBhrU6 hBhrUhBhrUmH sH hBhrU5mHnHu#''(((8(9(>(?(6)7)P)g)h))))))))********+++/+0+6+7+9+@+F+\+˻ˣ˛ˣˣ˓}voaohBh 5OJQJ^J hBh hBhdHjhBh^UhBhx}}6hBhrU6hBhrU5.hBhrU0Jn5CJOJQJmH nH sH uhBhrU0JnmH nH sH u hBhrU hBhAjhBhx}}U hBh?vjhBhx}}U hBhx}}%\+e+q+++++%,o,u,,,,.-/-8-9-P-Z-[-j-x-~----...//////0/1/8/L/O/·}o}oao}oao}ohBh 5mHnHuhBhrU5mHnHuhBhrUmHnHuhBh/ BmHnHuhBh:mH sH hBhrU6mH sH hBhrUmH sH hBh%67mH sH hBhV mH sH  hBh hBhrU hBhl/ hBhcJ hBhu hBh hBh 6&//0/N/P/Q///40k0l0000:1P1Q1o111112)2]222$gdWe$$gd:.$gd:$$gd$gd%67O/Q//// 3$393?3@3A3I3b3e3l3y3{3|333333333333333333344 4!4(4547484<4=4C4I4J4a4i444444444 55(505I5Q5hBhrU\mHnHuhBhrU5\mHnHuhBh 5\mHnHuhBhrU5mHnHuhBh:mH sH hBhrUmH sH hBhrUmHnHu@2233 393@3y3{3|33333333547484K4k44444525S5$gd%67$gdWeQ5g5o555555555556 66/6566667777i7j7777777777777778#8;8D8\8d8z888ǹǹ󹟹󔉔}}}}hBh0K`mHnHuhBh:mH sH hBhrUmH sH hBhJ4\mHnHuhBh mHnHuhBhrU\mHnHuhBhrU5\mHnHuhBh 5\mHnHuhBhrU5mHnHuhBhrUmHnHu1S5q5555+66667777778$8E8f8888888899$$gd.$gd$gd%6788888888899!9#9$9+9,9x9}9999999:|::::;;;;;U;`;a;b;ȺȺ溠敎yoyoehBh+hvhBhrUhvhBhrU5OJQJ^J hBh. hBhrUhBhrUmH sH hBhJ4\mHnHuhBh mHnHuhBhrU\mHnHuhBhrU5\mHnHuhBh 5\mHnHuhBhrUmHnHuhBhrU5mHnHu%999:"?]@@@AAEAsAAAAAAcB$gdWe.gd%67gdX($$gd?vgdbE$gd%67b;c;;;;;;;;;;;;;;;;;<<<=5=A=========>>P>Y>h>t>>>>>>ʧصѵ{ssshBhrU6hBhrU5OJQJ^JhBhrUhW hBhX(hBhrUOJQJ^JjhBh+UjhBh+UhBhrUhv hBh+ hBhA hBh?vjChBhrUU hBhrUjhBhrUU*>>>>>>>>??? ?&?2?|??????????@@ @B@C@S@T@Y@Z@]@h@i@@@ўіііўіясvkv_hBhrU6mH sH hBh%67mH sH hBhrUmH sH jhBhrUU hBh:hBhrU6hBhrUOJQJ^J hBh.hBhX(5OJQJ^J hBhX(hBhrUhv hBhrU hBhAjhBhrUU hBhdHjshBhrUU%@@@@@@@@@@ AAA A7A;AIAMAdAhAwA{AAAAB BBBB%BaBbBcBҧҔqqqaHhZ GhrUmHnHu$HhZ GhBhMmHnHuHhZ GhMmHnHu$HhZ GhMhMmHnHu6hBhrUhMcHdhdhdhZ GmHnHuhBhrUhq'mHnHuhBhrUmHnHuhBh:mH sH hBhrU6mH sH hBhrUmH sH !cBdBBBC C/C>CACHC\CtCCCCCCAD$$gd$gd%67G$C$EƀZ Ggd%67cBdBoBzBBBBBBBCCCCCC+C,C;CC?C@CECFCGCHCICPC\C]CdCtCuC|CCCCCCٽٽٱٱٱٱٱٱٱx&hBhrU5B*\mHnHphu'hMhrUmHnHuZ G*5 hBhrUh9e5mHnHuhBh[Q6mHnHu6hBhrUhMcHdhdhdhZ GmHnHuhBhrUmHnHuhBhrU5mHnHuhBhMmHnHu'CCCCCCCC D DDDDDADBDQDRDcDgD|D~DDDDضئئئؚ}mW>0HhZ GhMhM>*^JaJmHnHsH *HhZ GhM>*^JaJmHnHsH HhZ GhMmHnHu$HhZ Gha&hM>*^JaJHhZ GhMHhZ GhMaJHhZ GhMmHnHu&hBhrU5B*\mHnHphuhBhrU5mHnHuhBhrUmHnHu6hBhrUhMcHdhdhdhZ GmHnHuADRD^DhDjDkDDDDDE E,EJEKELEEEFIF.gd%67$gdWe$gd%67G$C$EƀZ GgdMDDDDDDDDDDDDDDDDDDE EE+E©wUEUwwEEwwHhZ GhMmHnHuBhBhrUhMB*\cHdhdhdhZ GmHnHphu6hBhrUhMcHdhdhdhZ GmHnHu*HhZ GhM>*^JaJmHnHsH 0HhZ GhMhM>*^JaJmHnHsH 6hBhrUhMcHdhdhdhZ GmHnHuhBhrUmHnHu*HhZ GhM>*^JaJmHnHsH +E,E8EHELEWEXEuE}EEEEEEEEEEEFFFMFQFhFlFzF~FFFFFFFGGG๮}n}}}}}}}`hBhrU5mHnHuhBhrUhgmHnHuhBhrUhq'mHnHuhBh:mH sH hBh.mH sH hBhrU6mH sH hBh%67mH sH hBhrUmH sH 6hBhrUhMcHdhdhdhZ GmHnHuhBhrUmHnHu&hBhrU5B*\mHnHphu$IFvFFFFFFG(GLG`GoG~GGGGGGGGGH:HkHHHHHI$gd%67$gdWeGG"G&G'G)G2GMG]GkGlGsGtG{G|GGGGGGGGGGGGGGGGGGGGH HHHH)H-H1H:H;HkHrHHHHH#I'I0I1IQCQPQQQRQvQzQQQQQQQQQQQR RR۸||qbSbbbbbhBhrUhmHnHuhBhrUhq'mHnHuhBh:mH sH hBhrU6mH sH hBh%67mH sH hBh:mH sH hBhrUmH sH hBhcJh]mHnHuhBhrUmHnHu,hBhrUh]5B*\mHnHphuhBhrUh]mHnHu)hBhrUh]B*\mHnHphu RR)R-RuRRRRRRRRRRRRRRRRRRRRRRRSS$S%S&S-S7S8S9S:SASPSRSfSoSxS|SSSSSSSSSTǵǵǵ&hBhrU5B*\mHnHphuhBhi.?mHnHu#hBhrUB*\mHnHphuhBhrUh%imHnHuhBhrU5mHnHuhBhrUmHnHuhBhrUhq'mHnHu4RRRR%S9SPSRSSSfSSSSTT,T*B*PJU]ph6hBhz0Jh6>*B*CJOJQJ]^JaJph?jhBhz0Jh6>*B*CJOJQJU]^JaJph hBhzhBhzPJhBhzmH sH hBhrUh+mHnHu&hBhrU5B*\mHnHphu#hBhrUB*\mHnHphuhBhrUmHnHuhBhrUh2mHnHuU?UGUKUQUUU'V(V)V,V-VVVVVVWWnWWWWWѵцjQцF? hBhhBhmH sH 1jhBh'6>*B*PJU]ph6hBhz0Jh6>*B*CJOJQJ]^JaJphhBhz0JP6]EjhBhv*0Jh6>*B*CJOJQJU]^JaJph6hBhv*0Jh6>*B*CJOJQJ]^JaJph?jhBhz0Jh6>*B*CJOJQJU]^JaJphhBhz6 hBhzWWWWWWW@XFXXX]XqXrXXXXXXXXXXXXXXXXXYêߞߗ~wib~[~~wMb~[~~wjhBh^U hBhA hBhjUhBh^U hBhEjhBhEUhBhz5OJQJ^J hBhzhBh_a0JP6]1j0hBh_a6>*B*PJU]ph6hBh_a0Jh6>*B*CJOJQJ]^JaJph?jhBh_a0Jh6>*B*CJOJQJU]^JaJphYY+Y,Y1Y2YUY_YYYYYYYYYYYZ ZZ$Z6Z7Z8Z=ZIZZZZZZZ[[%[&['[J[K[[[\[a[b[d[߽Ѩꡨꋀr؀jhBhWB_UjhBhU hBhV hBh6 hBhZ hBhM hBhMj*hBhEU hBhEhBhzOJQJ^J hBhz hBhAjhBhEU hBhjhBh^U,d[e[{[~[[[[[[[\\ \\$\*\+\:\?\P\V\\\\\\\\\\\\򸭸}k`UhBhAmH sH hBhmH sH #jhBh^UmH sH hBhEmH sH jhBhEUmH sH hBhmH sH hBhmH sH hBh:mH sH hBhzmH sH  hBhA hBhdHjrhBhUjhBhUhBh6 hBh hBhz$\\]]]^G^~^^^__a_b_{_______``-`G`S`$$gd$gd$5$9Dgd.gd s.gdgd"gd'\]!]]]]]]]^ ^^$^G^[^~^^^^^^_*_D_J_U_````````a#aAaRaZa`ahatavaa־tttttt!hBh6]^JmHnHuhBhPJmHnHuhBh^JmHnHuhBh6]mHnHuhBh]mHnHuhBhmHnHuhBh6mH sH hBhmH sH hBhmH sH hBhOJQJ^J hBh+S```````aCakauavaaaaaaabb2bFbIbJbsb{bb$$gd 5$9Dgd$5$9Dgd$gdaaaaaaaaaaaab b bbb1b;bEbHbJbVb[b_bqbbbbbbbbbcc&cMcNccõõϧϧϧϧϧϧϧϧ~#hBh>*B*mHnHphu,jhBh>*B*UmHnHphuhBh\mHnHuhBh5mHnHuhBhmHnHuhBh5\mHnHuhBh5OJQJ\^J!hBh5\^JmHnHu'bbcc1dmdodvddd%e'e(e;eTeUeeee#f%f&f4f5fifff$gd*gd$5$9Dgd$gdccccccccccccdd&d0d:dJdidldodsdud}ddddd%e&e'e:e;eAeUe[eϵykkdZhBh5\ hBhhBh5mHnHu!hBh5\^JmHnHuhBh^JmHnHuhBh5\mHnHuhBh\mHnHuhBhmHnHuhBh0JPmHnHu,jhBh>*B*UmHnHphu2jhBh>*B*UmHnHphu#[e\e`eeeee#f$f&f'f5fifwf|fffMgggh(h*h:h?hIhPhii3i7i󮚮zoh hBhzhBhmH sH hBh mHnHu&hBhCJOJQJ]mHnHu&hBh6CJOJQJmHnHu#hBhCJOJQJmHnHuhBh6]mHnHu hBhhBh5mHnHuhBh5\mHnHuhBhmHnHuf+gLgMg+h,hShhhii3io\q ssvwx>xIxpxxx$5$9Dgd{T.gd%67"gd"gd sgd"gd{'gd%67gdU$5$9Dgd$gd7i8iiiiiijj j%j9j:j_j`jpjqjtjujwjxjjjjjjjjjjêߞߗ~wib~[~~wMb~[~~wjahBh^U hBhA hBhMjhBh^U hBhEjhBhEUhBhz5OJQJ^J hBhzhBh_a0JP6]1j}hBh_a6>*B*PJU]ph6hBh_a0Jh6>*B*CJOJQJ]^JaJph?jhBh_a0Jh6>*B*CJOJQJU]^JaJphjjjjjjk$k*k/k7k9k;k*B*PJU]ph6hBhZ 0Jh6>*B*CJOJQJ]^JaJph?jhBhZ 0Jh6>*B*CJOJQJU]^JaJphhBhZ 6 hBhZ yqqqqqqqqqrrrrr'r*rHrIrrrr赪ǟ{[>{9j hBh{'6>*B*PJU]mH phsH >hBh{'0Jh6>*B*CJOJQJ]^JaJmH phsH GjhBh{'0Jh6>*B*CJOJQJU]^JaJmH phsH hBhAmH sH hBhdHmH sH #jhBhr6UmH sH jhBh{'UmH sH #hBh{'5OJQJ^JmH sH hBh{'mH sH hBh{'6mH sH rrrrr s s,sBsQsxsyssssssssss ttvvvvyly^ySShBhmH sH hBh5OJQJ^JhBhOJQJ^J hBh hBhA hBhdHjVhBhUjhBhUhBh6 hBhhBhD<mH sH hBh{'mH sH GjhBh{'0Jh6>*B*CJOJQJU]^JaJmH phsH hBh{'0JP6]mH sH vvwwwwwwwwwwx!x#x$x0xxIxWx\xfxmxxxxxxyʭ䢗uj^O^O^O^O^OhBh{T6]mHnHuhBh{TmHnHuhBh{TmH sH hBh_amH sH hBhz6mH sH hBh%67mH sH hBhzmH sH hBhmH sH hBhAmH sH #jhBhYUmH sH jhBhUmH sH hBh{'mH sH hBhmH sH  hBhOJQJ^JmH sH xyyNyOyyyyy!zEzVzqzzzzzz{ {g{x{{{{{||$gdWe$gdb$gd{T$5$9Dgd{Ty&y;yAyKy^ytyzyyyyy!z"zEzFzVzWzqzrzzzzzzzzz{{ {!{g{h{x{y{{{{{{{{{||||'|0|1|2|4|7|?|K|Q|b|d|ȺȞhBhzmHnHuhBhz5mHnHtHuhBhbmHnHtHuhBhzmHnHtHuhBh{TmHnHtHuhBh{T6]mHnHuhBh{TmHnHu:|1|2|d||||||||}}}}'}/}R}g}j}k}}} ~~$$$gda$^gdC;u$^gdb$gd{T$5$9Dgd{T$gd%67d|j|k|||||||||||||||||||||||} }&},}.}8}Q}[}f}j}k}l}w}{}|}~}}xhBhb\mHnHuhBhS\mHnHuhBhz\mHnHuhBhz5\mHnHuhBhC;u5\mHnHuhBh{T5\mHnHuhBh{TmHnHu hBh{TB*mHnHphu&hBh{T5B*\mHnHphu)}}}}}}}}}}}}}}}}}}}}}~~ ~ ~ ~~~~~5~6~Ʒ|n`QƷƷ|nhBh{'5\mHnHuhBh{'\mHnHuhBhC2\mHnHuhBhz\mHnHuhBh{'^JmHnHuhBh{'5^JmHnHuhBhz5\mHnHuhBhC;u5\mHnHuhBhS5\mHnHuhBhb5\mHnHuhBhb\mHnHuhBhG\mHnHu~6~~~zȀˀӀLM}BDE_gdC;u$gdP[f$5$9DgdP[f$$$gdYk$^gdC;u$gd%67 $$$^gdC;u6~8~?~@~B~C~L~X~Z~[~\~]~d~i~k~l~n~}~~~~~~~~~~~~~⹪qaSaShBh{'^JmHnHuhBh{'5^JmHnHuhBhS\mHnHuhBhb\mHnHuhBhz\mHnHuhBhC;u5\mHnHuhBhS5\mHnHuhBhz5\mHnHuhBhC2\mHnHuhBhC2mHnHuhBhC25mHnHuhBhC25\mHnHu~~~~~~~~~~~~~~+,-Z[\{|ŶŶԨŶԨqWIhBh{T0JPmHnHu2jhBh{T>*B*UmHnHphu#hBh{T>*B*mHnHphu,jhBh{T>*B*UmHnHphuhBh{T^JmHnHuhBhz\mHnHuhBhC;u5\mHnHuhBhS5\mHnHuhBhz5\mHnHuhBh{'5\mHnHuhBh{'\mHnHu|}~#ػɬɍqbɬɬɬhBh{'5\mHnHuhBh{'\mHnHuhBh{'^JmHnHuhBh{'5^JmHnHuhBhC;u5\mHnHuhBhS5\mHnHuhBhS\mHnHuhBhz5\mHnHuhBhz\mHnHuhBhzmHnHuhBhz>*mHnHu#$QRSrstuvz{׽顕xix[xLi<hBhC;u5^JmHnHuhBhS5\mHnHuhBhS\mHnHuhBhC;u5\mHnHuhBhz5\mHnHuhBhz\mHnHuhBhzmHnHuhBhz>*mHnHuhBh;o/0JPmHnHu2jhBh;o/>*B*UmHnHphu#hBh;o/>*B*mHnHphu,jhBh;o/>*B*UmHnHphuǀȀ̀ӀԀՀ݀'HIKLZ^_abcjpu}ҵҦҦҦ~~pҦҦҦҦhBhS\mHnHuhBhzmHnHuhBhz>*mHnHuhBhz\mHnHuhBhz5\mHnHuhBhS5\mHnHuhBhC;u\mHnHuhBhC;u5\mHnHuhBhC;u5^JmHnHuhBhC;u^JmHnHu,ǁȁɁʁс %&'>ETU򷧷vdPd62jhBhP[f>*B*UmHnHphu'hBhP[f>*B*mHnHphtHu#hBhP[f>*B*mHnHphu,jhBhP[f>*B*UmHnHphuhBhC;u\mHnHuhBhzmHnHuhBhz>*mHnHtHuhBhz>*mHnHuhBhC;u5\mHnHuhBhS5\mHnHuhBhz5\mHnHuhBhz\mHnHuUVahuvwxz{|}~BDE_齱wwi]i]i]i]i]iV hBhC;uhBhP[fmHnHuhBhP[f5mHnHuhBhz5\mHnHuhBhP[f5\mHnHuhBhP[f\mHnHuhBhz\mHnHuhBhzmHnHuhBhz>*mHnHuhBhP[f0JPmHnHtHuhBhP[f0JPmHnHu,jhBhP[f>*B*UmHnHphu_hi}~ abuv۽۶ϧϧϙzfUzUzUzU hBhP[fB*mHnHphu&hBhP[f5B*\mHnHphuhBhP[fmHnHu hBhP[fhBh*mHnHuhBhC;u^JmHnHuhBhC;u6]mHnHu hBhC;u#hBhC;u5B*mHnHphuhBhC;umHnHu hBhC;uB*mHnHphu&hBhC;u5B*\mHnHphu_abuv589:wmnqr$^gdC;u$gdP[f$5$9DgdP[fgdP[f$gdC;ugdC;u$5$9DgdC;u389:wxlnprs ҟҟґqҟҟҮҟbҟҟqhBhC;u6]mHnHu#hBhP[fCJOJQJmHnHuhBhC;u^JmHnHuhBhP[f^JmHnHuhBhP[f6]mHnHuhBhC;umHnHu hBhP[f hBhP[fB*mHnHph333uhBhP[fmHnHu hBhP[fB*mHnHphu hBhP[fB* mHnHphdu%͇̇@n+4AZɊ gd'$gdWe$$$gdYk.$gdYk$gd_agdbE$gd%67$5$9DgdP[f$gdP[fɇˇ͇·܇>@ABNfknop|ˆ΅zohahYhBhA56 hBh$]} hBhA5hBhA5mH sH hBhSmH sH hBhmH sH !hBhC;u6]^JmHnHu!hBhP[f6]^JmHnHuhBhP[f^JmHnHuhBhC;u^JmHnHuhBhP[fmHnHu#hBhP[fCJOJQJmHnHu&hBhP[fCJOJQJ]mHnHu"ˆ,2ns҉  +234KOstvwx}ÊĊȊʊˊ˴ttth\hBhZmHnHuhBh{omHnHuhBhimHnHuhBh$]}mHnHuhBhjS5mHnHuhBh>"mHnHuhBhA55mHnHuhBhA5mHnHuhBhLimH sH hBhimH sH  hBhZ1 hBh) hBh~[ hBhF hBh$]} hBhA5# )؋ۋ݋-<lmxˌՌ܌ %&'CN[\{hBhumHnHuhBhz5mHnHuhBhzmHnHuhBh%67mH sH hBh_amH sH hBh:mH sH  hBhL hBh8hBh8B*phhBhzB*phhBhz6 hBhzhBhzmH sH , 'EUȍԍՍ1bq}~ێ $%C]q$gd%67$$gd$gdWe.gd%67Џ Pdwy:'"gd ECgd ECgdbE$$gd?v$gd%67$$gd}!5wđ:6>CH}ڵ| hBh EC6B*mH phsH hBh EC6mH sH hBh EC6hBh EC6B*ph hBh EChBh ECmH sH hBhumHnHuhBhz5mHnHuhBhzmHnHuhBh@HmHnHuhBh@H5mHnHu0Ô'ѕؕ+8=ASW^{}ŖƖ<=җ֗חؗ۾žžžžۊ| hBh F hBht hBh e hBhnghBhSu6 hBhk< hBhSuhBhc!6hBhI6 hBhI hBhc!hBh7v6 hBhi hBh7v hBh:oQhBh EC6mH sH hBh ECmH sH 0Nidgdw>_FREƀZ Ggdw>_FREƀZ Ggdw>_gd:oQgdbEMNҘӘ-.PQabef™ÙFGHlm}~򡖏zĖs hBh hBh5jhBhfdU hBhD>jhBhD>U hBhm j hBh eUjxhBhfdU hBhAjhBhfdUjhBh eU hBhI hBhi hBh e hBh F*Niƚ&s-FREƀZ Ggd_NFREƀZ Ggd eFREƀZ Ggd ešÚƚ!"#$DEUVYZ_` "#lڜʸظؑxjxxcc hBhC!jhBh_NUjhBh_NUjmhBhfdUjhBh\U hBh\jhBhfdU hBhpjhBhpU hBh$T hBh_N hBh e hBhAjhBh eU hBh5jAhBhfdU$ڜۜܜ IPǝܝru˞̞͞Ξў  -2_ʻʴʩʛʆqjcUchBhH{5OJQJ^J hBhH{ hBhmX hBho5OJQJ^J hBh9 hBh` 4 hBhA hBhdHjhBhfdUjhBhqU hBh> hBh^KmhBhq6 hBhqhBhmH sH hBh%mH sH hBh:oQmH sH  hBhI hBh!&ܜ ў\FREƀZ Ggd$T$$gdxtgd$TgdbEgdbEFREƀZ Ggdw>__`ӟԟ)0c#789ijz{Ȣɢ ʼюy؎qʠѠj hBhkhBh36 hBhjhBhfdUjhBh3U hBhasQ hBh3 hBh#jhBho5OJQJ^J hBho hBhb hBhZ hBh$T hBhAj6hBhH{U hBhH{jhBhH{U'=>NORSTi6  @AEF_~ʿʱؿѿʪ퐅zzzzzzzzss hBh]hBhZmH sH hBhWB_mH sH hBhUmH sH  hBh$ThBhfd6 hBhfdj)hBhfdUjhBhkU hBhk hBhA hBhjhBhfdU hBhasQjhBhasQU-GAk٪`٫B]$gdw>_.gd:oQgd$T"gdw>_FREƀZ Ggd$TåEGKMoprz'(89>?@ATVW`gmyz޼ޭ~w~wpiw^wjhBhpzU hBhm hBhh] hBhpz hBhhBh]mH sH hBhAmH sH #jhBhVCUmH sH jhBhPUmH sH hBhPmH sH hBhs .6mH sH hBh$TmH sH hBhs .mH sH  hBhs . hBh]hBh]6çϧЧѧݧާ$ijkrĨŨը֨ܨݨߨ»껭괘qihBhpz6jhBhKDUjhBhKDU hBhKD hBhWB_ hBhrr}hBhU5OJQJ^J hBhuf hBh* hBhU hBhh]hBhm6 hBhm hBhAjhBhpzU hBhpzjkhBhpzU)?@AOTU\cdlpqrxɩک  ת٪ #俴{tm hBh. hBhv hBh3hBho5OJQJ^J hBh:oQ hBhohBhX>dmH sH hBh$TmH sH hBhmmH sH  hBhWhBhpz6 hBhpz hBhrr}hBhX>d6 hBhX>d hBhVO hBh* hBhm&#()8DQW_`hijk}~׫٫ګ@BC]^lrxʿʴʨssesehBhg8]mHnHuhBhg8mHnHuhBh2]mHnHuhBh]BCҮڮܮݮ$-01@ASTdes|hBh2]mHnHuhBhg8]mHnHuhBh]_̯ׯ.7BEP[ٿٿٿٿٱ}qYE&hBh*<>*B*]mHnHphu/jhBh*<>*B*U]mHnHphuhBh*<mHnHuhBh*<5mHnHuhBhZmHnHuhBh9=mHnHuhBhC^JmHnHuhBh2^JmHnHuhBh]_  HL`dgn  "@DX\_f۲߲̼̮{{m{hBh2]mHnHuhBh2mHnHuhBhC5\mHnHuhBhCmHnHuhBh*<mHnHuhBh*<]mHnHuhBh*<0JP]mHnHu/jhBh*<>*B*U]mHnHphu5jhBh*<>*B*U]mHnHphu*):<Cdҳٳ (@Sfy$gdC$gdw>_'<@CJdkҳֳٳ'(2?@LMU\]hop{ذؤؘؘ||n|ؼhBhba]mHnHuhBhZ]mHnHuhBh/]mHnHuhBhXYmHnHuhBh/mHnHuhBhg8mHnHuhBhZ5mHnHuhBhC^JmHnHuhBhZmHnHuhBhCmHnHuhBhC5\mHnHu+ôϴߴprv{õյܵ*,-@HILORTUVٿqeeeWehBhG^JmHnHuhBhGmHnHuhBhG5mHnHuhBhg8mHnHuhBh*<]mHnHuhBh*<5mHnHuhBh*<mHnHuhBh]_VZemptʶͶѶ۶ܶ   *1Gjw  !=祕ϥϥhBhH^JmHnHuhBh8]^JmHnHuhBh8^JmHnHuhBhW5mHnHuhBh2]mHnHuhBhG\omHnHuhBh2mHnHuhBhGmHnHuhBh]_=F!(9[n̹",2U亮uguguguguguXuXuXuXuhBh,6]mHnHuhBh,]mHnHuhBh,mHnHuhBhmH sH hBhmH sH hBhmH sH hBhj'mHnHuhBh8mHnHuhBhG^JmHnHuhBhG\omHnHuhBh8]^JmHnHuhBh8^JmHnHuhBhG\o]mHnHu"U|}Ϻкٺںۺ'(02=>?FNO̻ۦn&hBh=>*B*]mHnHphu/jhBh=>*B*U]mHnHphuhBh=mHnHuhBh=5mHnHuhBh:.mHnHuhBhj'mHnHuhBh%6]mHnHuhBh%mHnHuhBh,mHnHuhBhg mHnHu ۺO&9L_qszƼȼ^gwǽ !"5Mg$gd=$gd,̻ͻλUahpsz{̼̮zznbTHbTbhBh_mHnHuhBh:.5mHnHuhBh:.mHnHuhBh%mHnHuhBhj']mHnHuhBhj'5mHnHuhBhj'mHnHuhBh=mHnHuhBh=]mHnHuhBh=0JP]mHnHu/jhBh=>*B*U]mHnHphu5j hBh=>*B*U]mHnHphuƼȼ^defioyɽн !"5=¾ƾ '=UefgtͿ̰̰̰̰̰̰̾̾ؤؤ{mhBh. ]mHnHuhBh. 6]mHnHuhBhj']mHnHuhBhg mHnHuhBhj'mHnHuhBh=5mHnHuhBh=]mHnHuhBh=mHnHuhBhj'5mHnHuhBh:.mHnHuhBh:.]mHnHu*g*2hyyHRS$gda$gd8~$$$gdxt$gd,Ϳݿ޿HPVWuy08KRlsy(+STȼȼȼȼvvjhBhmHnHuhBh#P}^JmHnHuhBh^@^JmHnHuhBha^JmHnHuhBhD^JmHnHuhBh8~^JmHnHuhBhKImHnHuhBhj'mHnHuhBhj']mHnHuhBh. ]mHnHuhBh. 6]mHnHu%STv01L9:q *+I$gd>5$gdq$gd.gd$gd,T^_tuv .[ms{!6:T` IвަhBh>5]mHnHuhBh>5mHnHuhBhqmHnHuhBhq]mHnHuhBh]^JmHnHuhBh]mHnHuhBhmHnHuhBhmH sH hBhmH sH 3IOPQ~κΏ΁ufuXJufufufuhBhq]mHnHuhBh-]mHnHuhBh5\mHnHuhBhmHnHuhBh-y]mHnHuhBh-y0JP]mHnHu5j hBh-y>*B*U]mHnHphu&hBh-y>*B*]mHnHphu/jhBh-y>*B*U]mHnHphuhBh-ymHnHuhBh-y5mHnHuI"CVYp 8:;o$gdv$gd>5$gdq$gd$gd-y")CJYpz{ .08:;S_oʼְְ䰼֢||hBhvmHnHuhBh-]mHnHuhBh#cmHnHuhBh]mHnHuhBhmHnHuhBh5mHnHuhBh>5mHnHuhBhq]mHnHuhBhqmHnHuhBhq5\mHnHu-oz)0@Anop澲k[OhBhmHnHuhBh5L 0JP]mHnHu5j hBh5L >*B*U]mHnHphu&hBh5L >*B*]mHnHphu/jhBh5L >*B*U]mHnHphuhBh5L mHnHuhBh5L 5mHnHuhBhqmHnHuhBhv]mHnHuhBhvmHnHuhBhv5mHnHu '(NqI$gd$gd5L $gdv!",=R_uH^v~F汣棔棔xjhBh^JmHnHuhBhq^JmHnHuhBh. ]mHnHuhBh. 6]mHnHuhBh]mHnHuhBh. mHnHuhBhq6]mHnHuhBht ]mHnHuhBhqmHnHuhBhmHnHuhBh5mHnHu(Il"Q[\}&\ 0$$gdxtgdxt"gdw>_gd$TgdbEgdw>_gdbE$gd,$gdt $gdq$gdFflr~"(45>CO[\`a}#$'(-.׽ׯף~wl^lWll hBhAj hBhUjhBhU hBh$ThBh6 hBhhBhmH sH hBhmH sH hBhj'mHnHuhBht ^JmHnHuhBh. mHnHuhBh. ]mHnHuhBhmHnHuhBh^JmHnHuhBh. ^JmHnHu".Z[klrs&@HRVadw{24ovƻƴyynjhBhyJU hBhOhBhg6 hBhg hBhhBhx6 hBhxhBh#6 hBh# hBhyJhBh\G%mH sH hBh:oQmH sH hBh6 hBhAjhBhUjz hBhU hBh*HCL[\`b  %DIQüôʭѓ}rkdVdhBh;5OJQJ^J hBh; hBh\ddhBhLmH sH hBhM ^mH sH hBhwMmH sH hBh?HmH sH hBh{E\6 hBh hBh{E\hBhg6 hBh$T hBhg hBh; hBhyJ hBhAjhBhyJU hBhdHj#hBhyJUQaf9:uv;TU\m,9˫zzlzzhBh;5OJQJ^J hBh#j hBh; hBh'K hBh (& hBhdHj]hBhHUjhBhwMU hBhwM hBht hBh$T hBhAjhBhb UjhBhb UhBhb 5OJQJ^J hBhb *9uHI{|-.[\]^Mkoxyz hBh4 hBh j8hBhHU hBh hBh1zjhBh$zU hBh$zjhBh$zU hBhh hBhAjhBh;UjhBh;U hBh#j hBh;20Oz%sninnindn"gdw>_"gda gdk!FREƀZ Ggd;FREƀZ Ggd; z}Lfg~&<=`aqrֵ}n\n#jhBha UmH sH jhBha UmH sH hBha 6mH sH hBh$TmH sH hBhdmH sH hBhuRmH sH hBhwMmH sH hBha mH sH hBha 6 hBh$T hBhd hBha hBh}} hBh$z hBh#j hBh; hBh $rwxzNS#$*+1<BK%*+Դ­ԥԗԐԉ{­ԥԥԉԉԥԥphBhuRmH sH jhBha U hBh( hBhw.hBha 5OJQJ^JhBha 6 hBhAjjhBha UjhBha U hBhd hBha hBha mH sH jhBha UmH sH hBhAmH sH ,+druz5LQøέ΢έέΗΗΐ{tmib[ hBh[ hBhOhV/ hBhA5 hBhk!hBh4t5OJQJ^J hBhi\ hBh4thBhA|mH sH hBhk!mH sH hBhhmH sH hBhuRmH sH hBhwMmH sH hBhS+mH sH  hBhS+hBh5OJQJ^J hBhhBha mH sH #TabSqE]\o$gdYK"gdWWgdWWgdk!;@FZabct9MNSTUVgwxyz{࿰ʏʿuj[jhBhKlUmH sH hBhKlmH sH hBh'mH sH hBhWWB*mH phsH hBh_amH sH hBhAmH sH hBh-smH sH jhBhLiUmH sH hBhLimH sH hBhEmH sH hBh{omH sH hBhWWmH sH  hBh{o hBhWW hBhA5#T[_abscK6c(hBh6KB*PJmHnHph**tHu.hBh6K5B*PJ\mHnHph**tHuhBh6KPJmHnHtHu%hBh6K5PJ\mHnHtHuhBh6KmHnHuhBhmHnHuhBh[mHnHuhBhA5mHnHuhBhWWmH sH hBhWWB*mH phsH hBhAmH sH jhBhKlUmH sH hBh-smH sH hBhKlmH sH  -1QUZ^os}'+CGKO[_mq(Zim|ۺhBh7mHnHuhBhA5mHnHu(hBh6KB* PJmHnHph@tHuhBh6KPJmHnHtHu(hBh6KB* PJmHnHph"RtHuB&.09:>?Gcdfgnoxyz󝑝yyhBhA mHnHuhBhCeYmHnHuhBhomHnHuhBho5mHnHuhBh+XZmHnHuhBh>"mHnHuhBhfM'mHnHuhBhvmHnHuhBh#mHnHuhBh7mHnHuhBh[mHnHu/no $)`E^bc$$gd$gdYK"#)*1WXbckl  5èۨېϐτhBh<mHnHuhBhG^&mHnHuhBhPmHnHuhBh#>mHnHuhBh[hmHnHuhBh}mHnHuhBh#mHnHuhBhA5mHnHuhBh>"mHnHuhBh[mHnHu45GHPQ\]bcdkp&'/0:;?AT^ghpq~÷ëß۟ϟϟÓۓϓϓhBhA5mHnHuhBhXumHnHuhBhbJmHnHuhBh#mHnHuhBhHGmHnHuhBh>"mHnHuhBh[mHnHuhBh#>mHnHuhBh<mHnHu7$<@Aeg$gdYK,5>?]^ijrsȺznzbbzbbnzbbhBh>"mHnHuhBh#>mHnHuhBh[mHnHuhBhWWmHnHuhBhA5mHnHuhBh;\mHnHuhBh>"\mHnHuhBhfM'\mHnHuhBh9\mHnHuhBh#\mHnHuhBh[\mHnHuhBhA5\mHnHu%167q2V[\x$gdYK/0FYst|}45=>TUlqz{ )5>?GHW۷۷۷۷۷۷۷۷hBh#>mHnHuhBh>"mHnHuhBhbJmHnHuhBhA5mHnHuhBh[mHnHuhBh#mHnHuH<Y^_y@\ab$$gd$gdYKWXlr{| ,9@AIJZ[_"+,45?@hqz{۷۫hBhw>xmHnHuhBhPmHnHuhBh#mHnHuhBh#>mHnHuhBh[mHnHuhBhA5mHnHuhBh>"mHnHuCbrt)AEFUW{U`z$gdYK !"#&z"%&)S6zOtIwϿϿϿvύϿϿϿhύhBhtxPJmHnHu,hBhtxB* PJ^JmHnHph@tHu#hBhtxPJ^JmHnHtHuhBhPJmHnHtHuhBh )PJmHnHtHuhBhtxPJmHnHtHuhBhtxmHnHuhBhA5mHnHuhBh>"mHnHuhBh[mHnHu%z~3| &*+Lv$gdYK!%&Fy %'Pkpq$gdYK$$gd*-.5RS[\hiwx   12@IJKTUYZ}ϷϷϷ竟ϟϟϟϟϓϷϷϫϷhBhfM'mHnHuhBh#mHnHuhBhDmHnHuhBh>"mHnHuhBh#>mHnHuhBh[mHnHuhBhGmHnHuhBhA5mHnHuhBhL$mHnHu9@V[ln(+L),Qw$gdYK()+-wy )*,.QSwy9=KLM_be緰hBh ;5OJQJ^J hBh.hV/ hBh ; hBh+hBh ;mHnHuhBh0hmHnHuhBhz9mHnHuhBh#mHnHuhBh[mHnHuhBh2umHnHu5w79:;<=KLxe*gdd&pgdbE"gdd&pgdWWgdbE$gdYKe ,7^_de;ͿͿͷͯͯͯͨͨ͡Ϳͨ͡Ϳ͚ͨ͊͡͡~hBh ;mHnHuhBhHPJ hBhk hBhH hBh: hBhYKhBh ;6hBh ;5 hBh. hBhk! hBh ;hBh.mH sH hBhmH sH hBhX(mH sH hBh ;mH sH /`s-FREƀZ Ggdd&pFREƀZ Ggdd&pFREƀZ Ggdd&p`iFREƀZ GgdUgdd&pgd FREƀZ Ggdd&p  ;<VyAX   gdYKgdd&p3$gd}$$gd}gdbEgdbE$gdYKFREƀZ GgdU;<VZ[yAX      1 4 9 = H I d g l p          ; C J R ] t    쪝쪝 hBh.hBh ;OJQJ^JhBh ;5B*phhBh ;B*phhBh ;6 hBh:hBh ;5hBh ;56hBh+mH sH hBh ;mH sH  hBh ;hBhYKmHnHu4 ] t  jv,2345:_ +$Ifgdd&p9gdd&p"gdqOgdd&p             n x       -1;<ź}rfZfKf?hBh\mH sH hBhqOmH nHsH tHhBhk!\mH sH hBhqO\mH sH hBhD<mH sH #hBhqOOJQJ\^JmH sH &hBhqO5OJQJ\^JmH sH hBhqO6mH sH hBh}}mH sH hBhqOmH sH  hBh ; hBhAhBhdH\jhBh.TrU\hBh.Tr\jhBh.TrU\<=PQabghijv&<?MVz{ﬡzshZSh hBhdHjzhBh ;UjhBh ;U hBh(_2 hBhNihBh ;6 hBh~Z hBh ;hBh ;56hBhqOmH sH hBhqO\mH sH hBhAmH sH hBhdH\mH sH &jhBhAU\mH sH hBh\mH sH  jhBhU\mH sH  ,_`afgklpqOP 'stuvOŷ hBh';hBhnB*^JphhBhn5 hBhxfwhBhnCJOJQJhBhn6hBhn5CJOJQJhBhn^JhBhNi^JhBh'K^J hBhn hBh ;jhBh ;U hBhA2KBB9- ,$$Ifa$gdd&p ,$Ifgdd&p +$Ifgdd&pkd $$IfTF4\|Zy%`[d0644F / af4ytnTKBB9- ,$$Ifa$gdd&p ,$Ifgdd&p +$Ifgdd&pkd&$$IfTF4\|Zy% [d0644F / af4ytnTPKB9- +$$Ifa$gdd&p ,$Ifgd: +$Ifgdd&pkd?$$IfTF4\|Zy% [d0644F / af4ytnTjaXL +$$Ifa$gdd&p ,$Ifgdd&p +$Ifgdd&pkdX$$IfTF4F|Zy%06    44Faf4ytnT!tujaXL +$$Ifa$gdd&p ,$Ifgd: +$Ifgdd&pkd0$$IfTF4F|Zy%06    44Faf4ytnTuvjaXL +$$Ifa$gdd&p ,$Ifgd: +$Ifgdd&pkd$$IfTF4F|Zy%06    44Faf4ytnTD*[pjee`[VQL3gd:gdd&pgdbE"gdw>_gdQ gd:kd$$IfTF4F|Zy%06    44Faf4ytnTOTsC[iopx2'789:;<CDHJLVW]^򸭸ͭhBhz'6 hBht hBhu~ hBhk! hBhAjhBh U hBh hBhxfw hBhr hBhU hBhz' hBh6QhBhNi6hBhNi5 hBh'; hBhNi3^abc)*.048_eil{~ 7;Z[_`pкЮЮкЮУУУЁvle]ehBh ;5 hBh ;hBh ;56hBh+mH sH hBh ;mH sH hBhwfA6mH sH hBhTPmH sH hBhwfAmH sH hBh"6mH sH hBhk!mH sH hBh}}mH sH hBh"mH sH  hBh hBhr hBh hBhz'hBh %i6$8DYZvwMVlx>Cƿ۸汩𱩱{ hBh*jhBhAUjOhBhYUjhBhvUhBhv6 hBhv hBhA hBhdHjhBhAU hBhxfwjhBhxfwUhBh ;56 hBh ;hBh ;60v $$$$$F%R%%% &4&K&T&`&3$gd}$gd}gdbE3gd:gdc) 5$9Dgdc) 5$9Dgdv$$gd*gdvgdd&p  IZ56RScdij  1#7#H#I#e#f#v#w#|#}#####2$7$@$^$$$$$$$훐 hBh ;hBh ;56hBh+mH sH hBh ;mH sH  hBhdHjhBhAU hBhc) hBhA hBh*jkhBhAU hBh&hBhv6 hBhvjhBhvU/$$$$2%;%F%R%%%%%%% & &&&/&4&K&T&`&O'S'T']'^'v''''''''''''((((^(b(d(g(i(w(ӸӞ旐zzhBh6hBh6OJQJ^J hBh hBh9hBh;)mH sH hBh ;0Jf6B*phhBh ;0Jf6]mH sH hBh+mH sH hBh ;mH sH hBh ;6hBh ;56 hBh ;hBh ;50`&O'v''''''*,*E*t****q+,j-x-----.9..."gd\XK$gd*3gd:gdd&pgdbEgdYKw({((((())) )#)$)))*)P)Q)a)b)g)h)n)w)))))))))))))* ****ۿۨyoyehBh ;>*PJhBh ;PJ\hBh ;PJhBhPJ hBh&hBh ;6 hBh ; hBhk!hBhAPJjhBh#U hBhA hBh0 j}hBh#UjhBhkTFU hBhkTFhBh6>*^J hBh&****+*,*E*F*M*R*e*f*n*t************++ + +p+q+++(,/,A,B,e,f,q,,,,,,ƿƿƿuhBh\XKmH sH  hBhnXhBh\XKB*ph hBh\XK hBhK  hBhhBh ;6hBh ;\hBh ;5 hBh ;hBh ;562hBh ;0Jm5@CJ OJQJmH nH sH uhBh+mH sH hBh ;mH sH ,,-j-n-o-p-w-x--------...#.-.9.........../ /#/,/8/-01030A0Z0[0b0w00ݸݮ݀qݮhBh ;0Jf6B*phhBh ;0Jf6]mH sH  hBh.hBh ;6hBh ;5 hBh ;hBh ;562hBh ;0Jm5@CJ OJQJmH nH sH uhBh+mH sH hBh ;mH sH hBh\XKmH sH hBh\XK\mH sH ,.. /#/,/8/-0A0Z0w0011|4k67778H8_83$gd}$gd}gdbE3gdd&p3gdYK3gd:$gd*gd*gd:$gd:gdd&p$gd1}Z3$gd$gd000000011r2z2X3Y4 5 5A5P5Q555555j6k66677^7_77777888H8_888888889:::::::::; ;(;4;<hBh ;5hBh+mH sH hBh ;mH sH hBh ;CJaJ&hBh ;5CJOJQJ\^JaJhBh ;\ hBh.hBh ;56hBh ;6 hBh ;=_889:::::(;4;==7====>>?@kA2BBDEgdLgdWe3gd:$gd:gdbEgdd&p$gd$gd}<<<<<<====7=8=?=Q=Y===>">>>>>???@@@DDDDDeEmEEEEEEEE࢔{tm hBhA hBhdHjhBhLUjhBhLUhBhL5OJQJ^J hBhL hBh}}hBh ;6hBh ;5hBh ;56hBh+mH sH hBh ;mH sH  hBh ;hBh ;5B*phhBh ;B*ph*EEEFFF8F9F@FSF[FgFoFwFFFFFFFFFF GG(G.GGGGGGGGGDH\HdHHHHHJJJ*JCJDJKJ[JrJJJJJKƾƶƶƯƶƶƶƶƶƶƶƶƦƓƾƶ͌ hBh.hBh ;PJ\hBh.PJhBh ;PJ hBh1}ZhBh ;6hBh ;5 hBh ;hBh ;56hBh+mH sH hBh ;mH sH  hBhLjhBhLU7EF8FwFFFGGJ*JCJd^$gd*FREƀZ G gdd&pFREƀZ Ggd1}Z3gd:gdd&pgdbE CJ[JrJJJ@MQMjMMMNNPPQQQQQLSXSPUVvWXY$gd*gd*"gdd&p3$gd}$gd}gdbEgdd&p3gd:KL?M@MDMFMKMLMQMjMkMrMMMMMMMNNNNOOOOOOOOOPPPPPPPP~wp hBhA hBhdHj4 hBhr6UjhBh1U hBh hBh1 hBht hBh!=hBh ;6hBh ;5hBh ;56hBh;)mH sH hBh+mH sH hBh ;mH sH hBh ;B*ph hBh ;&PPPPPPQ QQQ!Q)Q1QQQUQWQQQQQQQQQQQIRJRKRmRnR߯ߠߎxqf_QjR!hBh.U hBhpjhBhpU hBh>WehBhAmH sH hBhdHmH sH #j hBh ;UmH sH jhBh ;UmH sH hBhYKmH sH hBh ;6hBh ;5hBh ;56hBh+mH sH hBh ;mH sH  hBh ;hBh ;5OJQJ^JnR~RRRRLSXS]SaSSSFTQTTT UUPUTUVUbUcUgUUUUUUUVWWXX YYYYYYYYY༱shBh.5OJQJ^JhBh ;5OJQJ^JhBh"pmH sH hBh ;6mH sH hBhe=mH sH hBhYKmH sH hBh ;mH sH  hBh.hBh ;6hBh ;56 hBh ; hBhAjhBhpU hBh**YYYYYZZ0ZZZZZZZZZZZu\y\{\\\\\\\\] ]]1]=]]]]]^^^^]_a_c_w______/`9`A`ƿƣٛٛٔٛننٛhBh ;5OJQJ^J hBh.hBh ;6 hBhA hBhdHj!hBhpU hBhpjhBhpUhBh ;5 hBh ;hBh ;56hBh ;mH sH hBh+mH sH 4YYYZ0ZZZu\\\\\1]=]]_w____A`M`,a3gd:3$gd*$gd*$gd*gdd&p3$gd}$gd}gdbEA`M`z````````a%a&a'a(a)a+a,a-a4a|aaaaaaaaaaaaaaaabbbbboccccƻѴﬤƻѴﬤﬤz hBhLhBhL56hBhLmH sH  hBh}} hBh.hBh ;6hBh~c 6 hBhAhBhdHB*phhBh B*phjhBh B*Uph hBh hBh~c hBh ;hBh ;56,,aaboccs-(gdbEFREƀZ G#gdd&pFREƀZ G"gdd&pFREƀZ G!gdd&pcccc ddhQihj kk3kMkdkkkdlmngdw>_"gdw>_gdd$$gdgd3$gd*$gd*gd*"gdLgdL$$gd3gdgdcccc ddpdwdxd|ddddd,e3e4e8eAeBeVeWeeeggahih,i4iiiiiiiiiii0j1jPjQjajbjej𣜱~w hBhAj/#hBhLU hBhhBhAPJ hBhdHj|"hBhLUjhBhLU hBhl/hBh;i5OJQJ^J hBh;ihBhL5OJQJ^JhBhL56 hBhLhBhL5.ejfjhjjjjj k kkkk3k4k;kMkdktkvkkkkkblcldlklpl{l|l⺯}vodYdNhBha^mH sH hBhLmH sH hBh% .mH sH  hBh% . hBhb hBhd hBh'QhBh5 hBhhBh56hBhGmH sH hBhmH sH hBhmH sH hBh(MmH sH #hBhL5OJQJ^JmH sH hBhLmH sH  hBhLjhBhLU|llllllmm,m-m\mrmsmmmmmmmmmmmmmnTnYn\njnknunnnnȮȜxxqxjxjxc\jc hBh hBhTo hBh- hBh+ hBh hBhdhBhAmH sH hBhdHmH sH #j#hBhWB_UmH sH jhBh% .UmH sH hBhmH sH hBh% .mH sH hBha^6mH sH hBh/mH sH hBha^mH sH hBhdmH sH "nnnnno:o;oCoMoNoQoRoUorovozooooop)p+p8pQpRpYpgp~pppppppppppqq뿸xqj hBh] hBhGb hBhhBhkL5OJQJ^J hBhkLhBhEN5 hBhENhBhEN56hBhENmH sH  hBh% hBhS|hBhTo6 hBhdhBh6 hBh_FREƀZ G&gdw>_FREƀZ G%gdw>_FREƀZ G$gdw>_+p8pQpgp~pppqq_gd$e"gd5gdw>_$$gdEN3gdENgdENgdbE qqqqrrr*r3r_ !t"t't(t,tEtFtMt^tutvtttt'u.u/u0uVuWuguhumunuoupuquruuuտկ}tltcZhBhPJhBh PJhBh;i\hBhPJhBhAPJ hBh>^;jO$hBh#YUjhBhXMUhBhLPJhBhXMPJ hBhpW< hBhLhBhgA5 hBhgAhBhgA56hBh;)mH sH hBhgAmH sH hBht94mH sH uuuuuuuuvv3v4v5vIvdvevfvlvsvuvvvvvvvvvvvw w'w?wDwIwKwѿ涮|scscshBhV45OJPJQJ^JhBhV4PJhBh1PJhBhyT5OJQJ^J'hBhyT0JmCJ^JmH nH sH u hBhyThBhyT\hBhyTPJhBhJPJhBh xPJhBhnIPJhBh 56PJhBh PJhBh 5OJPJQJ^J$Kwhwmwwwwwwwwwwwwww xxx*x5x6xIxJxRxWxxxxxxxxx˲ˣ˲‰€wjwZj$hBh#YPJUjhBh #PJUhBh #PJhBh6PJhBhnI6PJhBhnI5OJPJQJ^JhBhnIOJPJQJ^JhBhV45OJPJQJ^JhBhnIPJhBhV4PJhBhJPJhBh6PJhBh5OJPJQJ^JhBhPJ!xxxyyy y+y,y_IU & F EƀZ G)gdw>_|||||||||| } }}}H}P}}}}}~~ ~;~=~B~~~~~~~~~ڴڡڑګсѫwne^V^hBh b5 hBh bhBhXMPJhBhS+PJhBh}^ 6PJhBh}^ 5OJPJQJ^JhBh5OJPJQJ^JhBh6PJhBhoVPJjt'hBhHPJUjhBhPJUhBh}^ PJhBhPJhBh <PJjhBh <PJU hBhA!~~~2;<=AY|:B2I˻˲˨˟xqiqxqx`VhBh;)5PJhBh;)PJhBh;)5 hBh;)hBh;)56hBh;)mH sH hBh5hBh5PJhBh#RPJhBh 9b5PJhBhPJhBh 9b5OJPJQJ^JhBh 9bPJ hBh hBh 9b hBh9Z hBhs[ hBh bhBh b5!eň؈2oxN & F*$8$EƀZ GH$gd!=$$gd*3gd*gd*gd*$$gd;)$gd*  ABRSXY^_)1~nvĈň؈ 2_|t|l|l||hBh*6hBh*5 hBh*hBh*56hBh*mH sH  hBh;)hBh;)\hBhtPJj(hBh;)PJU hBhAhBh*PJj (hBh;)PJUjhBh;)PJUhBh;)6PJhBh;)PJ(_bgj?@PQRSmn wx¹ҲߢҲ߹ߘߐ߇tjc hBh!=hBh!=56hBh!=mH sH hBh*\hBh\?$PJhBh*6hBh*6PJj)hBh*PJU hBhAhBhc)PJj=)hBh*PJUjhBh*PJUhBh*PJhBh*56 hBh* hBh\?$$ύh̐6˒̒#$gdWe`gdA5gdbEgdA5gdbE$$gdgA$$gd!=3gd!=gd!=ύL^p#$+,019:O~89@AFGOPfhݾˮݕ hBh hBh;)hBhAPJhBhdHPJjI*hBhr6PJUjhBh"PJUhBh"PJhBhc)PJhBh!=PJhBh!=56 hBh!=hBh!=55ÐĐܑݑ !efjkqr{|͓̓ѓғؓٓ optuǔȔєҔɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽɽhBh>"mHnHuhBhA5mHnHuhmDhA5mHsH hBhV hBhLihV/ hBh ; hBhA5J#9M0GYZxՔTǕȕە2BPQ`gdYK$gdYK$gdWeҔ-.67=>PQlmrsyz  Q_`gr͖ϖ  ʻʬʬʝʝʝʝʝʝhBh#5\mHnHuhBh>"5\mHnHuhBh[45\mHnHuhBh[5\mHnHu hBhB3 hBhA5hBh>"mHnHuhBhA5mHnHu>`vw͖ "6LXbf{Ηؗ3RUV$$gd$gdYK  "%69LNXZbdfi{~ΗЗ1234;DEFOPXhilmqrs𴥴𗉗}hBh[mHnHuhBh>"5mHnHuhBh[5mHnHuhBhf5\mHnHuhBhu:E5\mHnHuhBh>"5\mHnHuhBh#5\mHnHuhBh\5\mHnHuhBh[5\mHnHu0VWrsјҘӘԘ-9=YЙ$gdYKsuvܘݘ !*+-/9;=@FGVWY\jk|}řƙ͙ΙЙәɺغغغغغغغغغغغغغغغغغغhBh#5\mHnHuhBh>"5\mHnHuhBh[5\mHnHuhBhPmHnHuhBh#mHnHuH%&)*45:;Књ*+BCklmpzԛ՛כ؛[\^_xy{|ühBh>"mHnHuhBhA5mHnHuhmDhA5mHsH hBhA5 hBhsE hBh ;hBhNmHnHuhBh#5mHnHuhBh>"5mHnHuhBh[5mHnHu9klzڛ3EFa~Ԝ@`t$$gd$gdWe $$`gdsNgdbE$gdYK9:<=Z[\]Νϝѝҝ%&./}žRSmoԷԝԝԝhBh#mHnHuhBh>"\mHnHuhBh[\mHnHuhBh[45\mHnHuhBh[mHnHu hBhA5hBhA5mHnHuhBh>"mHnHu:ԝ2E[no|}ɞ˞  #$6Eb}gdYK$gdYK$gdWeßǟȟџҟԟןޟ  ?H÷稷۷÷vjhBhA5mHnHuhBhfmHnHuhBh[\mHnHuhBhB{WmHnHuhBhf\mHnHuhBhn3hn3mHnHuhBh>"mHnHuhBh#mHnHuhBhn3mHnHuhBh9mHnHuhBh[mHnHuhBh!mHnHu&ԟ-.Top٠jk$gdWe$$gd: $`gd:gdbE$gdYKHILMz}ĠŠϠРՠ֠ؠ٠شبببب؜tthtZhBh\mHnHuhBh[4mHnHuhBhmHnHu hBh hBhA5 hBh" hBh ;hBhqmHnHuhBh/mHnHuhBhV3>mHnHuhBh>"mHnHuhBh@zmHnHuhBh[mHnHuhBh[\mHnHuhBh>"\mHnHu# 3I\]y΢,dyԣ6Katu$gdYK$gdWeǤȤڤ #Uͥ:{|}Ǧ$gdYK`gd-Ube~;GJci*-FLnors}~ششبب؜؜ؐ؄x_0jhBh[4>*B*PJUmHnHphuhBh$TmHnHuhBh[4mHnHuhBh RmHnHuhBh'KmHnHuhBh'FmHnHuhBhmHnHuhBh_LWmHnHuhBhWtImHnHuhBhmHnHuhBh\mHnHuhBh'K\mHnHu"]#$%ABĨŨܨ*5DHr$gdYK "#R[\_`ϨҨY϶|n|`R`R|F|F|F|hBh@zmHnHuhBh'K\mHnHuhBh\mHnHuhBhPJmHnHuhBhmHnHuhBh[4PJ\mHnHuhBh[4PJmHnHuhBh[40JPPJmHnHu0jhBh[4>*B*PJUmHnHphu6j*hBh[4>*B*PJUmHnHphu'hBh[4>*B*PJmHnHphuYZ]^hinor|}ʩ˩Ωϩ  !%&+,567Pt t t t !t $t %t ٽٽٽٽ綯磡UhBh`8mHnHu hBh hBh ;hBh/\mHnHuhBh'K\mHnHuhBh\mHnHuhBhmHnHuhBh'KmHnHu?r 56DPܪ (>^uƫ٫ګt `gd$gdWe`gdgdbE$gdYKA { import from XSD language "XML" all; import from Example2 language "XML" all; import from Example3 language "XML" all; type Example3.C1 NewC1 with {variant "name as uncapitalized"} type Example2.S1 NewS1 with {variant "name as uncapitalized"} } with { encode "XML"; variant "namespace as nsA' prefix NA'" variant "controlNamespace' HYPERLINK "http://www.w3.org/2001/XMLSchema-instance" http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'" } module Example4Templates { import from XSD language "XML" all; import from Example2 language "XML" all; import from Example3 language "XML" all; import from Example4 all; template NewC1 t_NewC1:= { base :=-1000, a1 :=1, a2 :=2 } template NewS1 NewS1:=1 } -1000 1 Annex D (informative): Deprecated features D.1 Using the anyElement encoding instruction to record of fields The TTCN-3 core language, ES2018731 [REF REF_ES201873_1 \* MERGEFORMAT 1], up to and including V3.4.1, did not allow referencing the type replicated in a TTCN-3 record of or set of type definition. As a consequence, when the any XSD element have had a maxOccurs attribute with the value more then 1 (including "unbounded"), and is converted to a TTCN-3 record of XSD.String field, the anyElement encoding instruction could not be attached to the XSD.String type, as in all other cases, but have had to be attached to the record of. As the above limitation was removed in the core language, using the anyElement encoding instruction with other types than the XSD.String, resulted from the conversion of an XSD any element is deprecated. TTCN-3 tools, however, are encouraged to accept both syntaxes in TTCN-3 modules further on, but, when converting XSD Schemas to TTCN-3, generate only the syntax according to the present document. EXAMPLE 1: The outdated syntax: //Was mapped to the following TTCN-3 code and encoding extensions according to //elder versions of this document: type record E46b { record of XSD.String elem_list } with { variant "name as uncapitalized"; variant(elem_list) "anyElement except unqualified" } EXAMPLE 2: The present syntax: //Is mapped to the following TTCN-3 code and encoding extensions: type record E46b { record of XSD.String elem_list } with { variant "name as uncapitalized"; variant(elem_list[-]) "anyElement except unqualified" // ^ ^ pls. note the dash syntax here } D.2 Using the XML language identifier string When importing from an XSD Schema, previous versions of the present document (up to v4.3.1) required to use the following language identifier strings: "XML" or "XML1.0" for W3C XML 1.0; and "XML1.1" for W3C XML 1.1. These strings are deprecated and have been replaced by another string (see clause  REF clause_MappinfSchemasGeneral \h  \* MERGEFORMAT 5) and may be fully removed in a future edition of the present document. NOTE: Please note, that the encoding attribute values associated with the XSD to TTCN-3 language mapping specified in the present document remain unchanged (see clause  REF clause_EncInstr_XMLEncodeAttribute \h  \* MERGEFORMAT B.2). Annex E (informative): Bibliography ISO/IEC 646: "Information technology - ISO 7-bit coded character set for information interchange". History Document historyV3.3.1July 2008PublicationV4.1.1June 2009PublicationV4.2.1July 2010PublicationV4.3.1June 2011PublicationV4.4.0February 2012Membership Approval Procedure MV 20120401: 2012-02-01 to 2012-04-02V4.4.1April 2012PublicationV4.4.2December 2012Draft for TB MTS approval (to-be-version is V4.5.1). CRs included: 6338(caused no change), 6339, 6379, 6381, 6387      styleref ZA ETSI ES 201 873-9 V4.4.1 2 (2012-1204)ETSI ES 201 873-9 V4.4.1 (2012-04) page 122 styleref ZGSM  ETSI t t ,t Wt t t t t t u u u u u u u v Jv v v v v v v v v w Tw $gd`8$$gd$gdYK%t t t t t t t t t t t t u u u u u %u &u 7u 8u Cu Du Eu Gu au bu u u u rV6j+hBh`8>*B*PJUmHnHphu'hBh`8>*B*PJmHnHphu0jhBh`8>*B*PJUmHnHphuhBh`8mHnHuhBh$TmHnHuhBh'KmHnHuhBhjmHnHuhBhwmHnHuhBhmHnHuhBhemHnHuhBhmHnHuu u u u u u u u u v v v v v v v v v v w w w w w w w w w /w 0w 3w 4w 8w 9w :w ;w ?w ȸȬxxllll^^hBhTGl\mHnHuhBh'KmHnHuhBhLmHnHuhBh'K\mHnHuhBh\mHnHuhBhmHnHuhBh`8mHnHuhBh`8PJ\mHnHuhBh`8PJmHnHu0jhBh`8>*B*PJUmHnHphuhBh`80JPPJmHnHu$?w @w Aw Bw Sw ew fw iw jw tw uw zw {w ~w w w w w w w w w w ;x "hBhAmH sH hBhmH sH #j;-hBhLxUmH sH hBhHmH sH jhBhHUmH sH hBh-mH sH hBhc)mH sH  ‚  ʂ Ԃ qgkdR.$$IfT4F &4#6&    4 af4ytXT0 . 9PP$If^9gdV/09PP$If^9gdpA q0 . 9PP$If^9gdV/09PP$If^9gdpAgkd.$$IfT4F &4#6&    4 af4ytXT    q0 . 9PP$If^9gdV/09PP$If^9gdp"gkd/$$IfT4F &4#6&    4 af4ytXT  $ 2 v q0 . 9PP$If^9gdV/09PP$If^9gdegkdP0$$IfT4F &4#6&    4 af4ytp"T, 2 u w } ~ ˃ ̃ ރ        ! # $ & ' ) * , 俱yrjfjfjfjfh? jh? U hBhpAHhț ghzmHsHHh gh1KmHsHHh ghMqmHsHHh gh>mHsHHh gh>mHsHHh ghlmHsHHh ghlHh ghBhlHh ghl hBhV/hV/ hBh$d$v w ~ q0 . 9PP$If^9gdV/09PP$If^9gdegkd0$$IfT4F &4#6&    4 af4yteT DDR09PP$Eƀ gIf^9gdsgkd1$$IfT4F &4#6&    4 af4yteT   " # % @;999gdpAgkdN2$$IfT4F &4#6&    4 af4ytlTV0 . 9PP$Eƀ gIf^9gds% & ( ) + , . / 0 1 2 gdpAgdV/gdV/ &`1$gdV/ &`1$gdV/ &`1$gdV/, - 2 3 ? @ f ֲ̹ hBhpAh? hV/hz%hzh cHdhdhdh gHhț ghzhQUhzmHnHu jhQUhzUmHnHuhzjhzUH0 @&P 1P/R :pa=Z<0. A!S"S#$*% H0 @&P 1P/R :pV/<0. A!n"n#$n%RT F^O 2GS/RD$/JFIFHH^ExifMM*bj(1 r2~iHHGIMP 2.6.62011:07:05 12:02:36X (<HHJFIFC    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222S" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?!%˟Z n4X}*Ŝ{K<&ϝNGkf8wAiZqMwfMcjQw[&ˈcTVvs^;E"[*vo *ב~O(< ""m{HDo2m8{z/`-IY1O枈*RGum&5H85B}6)ÐFO_֢y !oZ7kҧ;D~ Y6W"T5AoS]8?+з :R'0O V2W:a+qElː9\;[6# qUJF`φLE\FȮ9#.P:QPPQE (():Erjm(<~RG*Y2+譭oF. !־~Zvzg&3R"8BA*[2$F^?29<:lf=h*U1{hJikgm x7BI9^eGTa%' # %5m5bbmf­ KHX#H~Wq?+/t:Ak*%@TPLW Y*p Z) /ebFڹz2S)-$ETG'\Gz:|`Iy񓏺NuKK5m&YJsʢe.0ߞ2>83nn56>G7{GJaEo- !@x?ܬ;V.=NVKA~4G2@Qj{H2 c'88j2xcPU7¦5ioc!8\բ,,mjfh~*_S%0[yqM6,dRmï(jxHqVS.Znw%G\v?~ S34yʕ9#\,ds\f8C2*g])᪾gM昡r~?2+RM[=<ҼmSI#|t).?+{8\КƛrvliZ"NW:{MX;Wuw&t |8ZؽۍG5c(Bodfl)hB9 U(8T{ %̜WWn>gXשgMrlSR b^;Y|W?֯td=7U|MccqSNG)rjW rG˜$͙ϿTNG)r}g8j^_+?g_,Z&eMDss\*OM4$ l++g_,ZC }\)SsY|W?֣g5񎃻/z\`=< NG)r\?iW;8~!x]1A|JuԛkϿNG)r'O l_c=-~)x=&'ZG3\-9FX g;M- 6Ðp2~fg"|JW+r_x5n\|{-|BfwBjj}:/У΋z'* E3΋z'(} >gOQ@(((((((((inn/-Y- CWE?xtQ^\ۃLq)&?Wp?P:(?http://ns.adobe.com/xap/1.0/ image/jpeg Adobe Photoshop CS3 Windows 2011-06-21T11:25:25+03:00 2011-06-27T15:41:07+02:00 2011-06-27T15:41:07+02:00 xmp.iid:B1CF3A01C3A0E01199BEE40AA5A68C92 uuid:7A0B7FE7DF9BE011BF8DD3F6A8EBB5A6 4 U.S. Web Coated (SWOP) v2 False CCX" k  !1A"Qa2q #BUWR$3br %4CSTV&XY'5DGcv68EFHf _ !1AQa"q#2BRT$b3SVdr%&5CE46DUWcest7 ?-˩C$=yA* `9Lc4-8@̸Pg:#R0m@B @ 4%u Rf m"KV)>Z}@%} F7$6y>h&Y sZ.jePe7l'P]mε!! tB*BW^RO4 i[PA*"y9R$/WK,п80P#K~f'IF@h - (~N ,>7 H"1QZ}Xv6c[q#*/ry&GOUnS1 9l`L7ǥX^RyTuyO(yR'NАO.;Kjn٦i-B :y*$ ybILRzM%_7s-Ш+jQOFnH&r\QRmyoX†lXQ*/Jkb!@;R-}TDODaV]}RdA=T'm=eJuµ.8)jIQ@'MKb<>:6_Qm,`HT!ط\-"{^0ΟO6'mMRlB ngD!3qj6 q-I@뷔'TV(&>Go=4'mqv#|D"aͺ8o<*w@304z:I'*0f$F̑)=gn$D%\r|* 0QhAq%D$)LuR iHҥxT{r %\ BؤIs^X$ộiYJ\ +'@Q>2Yq*O0APVR#)JRfTV#ICASuoG*KJZJ R\H- )sT6$A#7k {\[L"*؎Gyg.Be@I2#A9H(;0P Ti 5QG{Nu: 91O)QLp(*>=O"" $RTRO0$x/d'.EG!MO}d/QRB=͡|'|,JPԀG$5(iSin!fQ)<&J mJ t8܂ZSb$!^`a uΕw6s$Zۓ{bu147RAR^CMםއ}4EDe*YHXJ.2*VTz`dL@3Rp$mn('˦HXlolmP8t:hDϬhG0TAk$&e[PJTJBI3 kVH0F fD\f ^W\ t؍Kon0  ``N-14?&Kn*#]4>jFڍ4$НH}4y? |@Xx9c+^P!mKyKg]DŽ%:94WVuJ >I  *Rt""vjH㕷]e:ʋn')0D"4HX$íx,)`+վ}<67]o%II H$ĤuƖBT @`Y<@'+=՚eVvtQS'Йee/s=HNɖ"+:y$ɘ[QU#K[<{ X1rk" ,cI7?5fjiЖm:LdM RZJW u0Z%:b*ZuHu mԨr =H;_jM-jԤhH#9*v߂B7(W.6mrUrtmpb$%$RH>ר$D-wR|)ցПHDi-B\B) IPA6 B{0TLL1:7&DM$̦97&yy{6f XKNI]NHqZo67IHPi]GQI 0di07\x[kIQ!Ct"#Y3=bm\xQ;`OЎ[h\\ް6^lټͮqow|q S!U%iQ[rq$`5N%=dI(|jCb4gysn 4T oS).n|LL 'č# U]elu#(dx. >ý>jZ}> $(RzΠ"&4N-S1& @Ъ.ѸLjO) (t#c14XԄʤꦉ j=S$G.G& ۏfėNZ'[}-5JHLiOQ<:i>`cϮ]вr)A$(FxŠm5c~{'V@UPAߎ7Ө 6{ S'"A5uH ÖuН=$F5Ph5dyz’(%2 ;̏ژ,omᆞk[${[o<0ܧ|N <;tNzHk#H=F)K~8G\{ŅҥT"cTӤo랓 L>S>Mu>%)6PzPw=sRN:I@OLBZ߂|ſ~ؑn2c@G;|1ƛ驏OqۀA=uiiuk\9 1n 0` 0` 0` 0` 0` 0`Ǩ,t \b`tLY$$%ks%gTKTI$U ;ǔ UH0wJh|QJ)J H O|%Я4N mu0jIR qI*)Lc9U9!" wعMu|5rem҉Z"0 QQJHbؕʱφ=iwb![LsTUZj L$BܙZ KbP  @4`y() 'IN^ !gWM%Bu͟fG~d QN[N4RjҭT 1/4؝Qvv y.ZLq y`;6 6bubscVtjZUtZ"E''R=<ʕ?NҖe-KQRIR$Q:&bu+)[-V:8()kR*Q&Iԓ |oזrBu=QX;ӷir&S. ' ?$] %i(߻MTgr,mGfU\e ]olĄ9Ioq=$R~ 3Kt@H&`< 3TF" O@ <ԾFRbp 4 D2t XRRB2PgseQF|lnw'}KAлkYHIw҈ -bps:- U޴G|4(Pi>|j&$mJYS)JqJ*RIRu&I2tcKq8S8TVd-jTVLIF3HBFkfd5ҥ$jsc$&Tot,04iԉIBw[=Ps zhbqV*I >Jc]DA8PA-ziϪH5: Ġ1NI$'>Wb &4mbx_loKi&vuԝt5R4 S( ZAORR@0qy˒m+9_Ck5,YT7HO2P(6ZZI@@ i/u8ښ)JB"d#%*&yFV:ꭠ9E"xPe-򯐷PJjYaKQq6<9m %|ǘeTTfVT\J1pzwȮ-t ņo}?KUyaN*eE34gT]I!d$b ͝H%Pr9D'xԵ"[*RVd!\$%*ʣA*W2#LTtz)O'tW;i##+m-sO ԗIJS% /!Jδn2МXRX[;Tj9c\束jvb#؎o~6r.>*ZRLP<)NHgJĭ Uio|fmhpD)\YyBR$!!Jmu|N )FU#`yI؄r q 4Emo_bv\FeS;w3710Fi_ Ȍ!RT#N@t11[P& 먐:lDHo'Nǖc#QgI 6xm!i AI)AkN飨a_8 hRcÕaiY)(!d5PL9Ӡ$$`;zr+ dfΒ(jRD*4VآPۊ2mޤ@Zz̔:+*uSԧ]T[KʦռT<$- h0N P~6V{jxjJ|!daS ^@`}%*C6~4E5JIS wlqRIZP$дRDtb PTڪ$ -QA=-yOU'N[KREU:ܓ''LuUk*wE[Yʍ#׾|2zww]"FF-N$[u_ nIPl49+&ĪI8ٹ]^%d7P#:C#2eI@Jڤu :o$׮Zg [o2 L i$N&|KnΙи'X:0CIM'>;y6l_LRHm6m{~UEmV q tJqo:(QLRvRLi;0¶W@*2v&Lg>qۇ f`Bu'$s$v&TR ,k[g۝)gY,ѝ/ωv=/}/6]TDr#mtB„/CR# <0AE&%.'MA_CNwvpt fA)fY~dYy6">[-hqn@ç VQ?Ti20롩&`  kkGb[FvFJuj$FNzFĆ^qv ẞK@ۃmo $Wb}LN`|DqPt $zy2(jN" H]ǘ0tBTyvA{ v{{Wujb#&~ٍGL(DhGFHRuN1˾R@~:'l(U$L$3|ϧfT,-6pA.oۮOa` u'C"&5BR d2+c?0`ӤڍO\n~=0`` 0` 0` 0` 0` 0`W9%YBHrcj|MQ![;N146y-M4e!BBPhH BRb? \jR\vUCHS =KBAF J)13i8;ֽmApH2V$;X\]{\pW'gj%B %ToV%opUz3}yhU e@]MJf4P6ՊˍmSspQRQcd2L %-pθpq3w*g9y}ڊ5!3Q)޿]d!dR,T8#0T⒓(iMLK"rۘ2vgXa٬b}䧆Q JEQ:RFT8`[I|5R.D @A KPweʧV:Ғ@BD ^5 jH*TTꉕ-JQ$PT%*RLR0R|:i+25s}]՟eqʲDlҰV wZocѭ@fbrWKA ZRLA]@PFn,{w)I5 k*\KiHm!(B6Rٍj>FT"5WG*y4RBu-:s6\0t KQΠ zlQ7ۅBnٍA'Nm,yO]ŵ9rL#FgN@\ @p<)UN($A뢴ӪNv'HgG"xVBL.rN ϮصE6 qnyEЅw*@ ga#J!$BBFf [m; yG*m+yB_L޶xٕ<!ҮD )X+1@*""fKV*. { $lTM!׷(QǕi{%Jz<76Y6JCjHPJP2 Tݜ}mc462 ]ʵ"]8i+2i*xbV_I6J ·շOrTT.W./[{~h6 䬵L- Z 4]%t4I]]XPOUW7.d\G6E4vϮSNR|JL*^Xa4/Rb ;%xUE8z^"7)2.f*}^ff,ڭlU\jM#UPT^*iCraL͢z٥ݙy J:WrV>Wsvƺ/ZjZh尭T~J{UH8VB )'.|^_9Ŗsm |_ՍWSOje*}ۓ=OҶ©g,vfJK?M5NjyYIRr$!$r0=x8ż͟s-nlYlZ&Q>_h-~+畞-c{;Sn4oy}zio0R\m+hۊGzWx\&l9**j_VČ%f*dec]_A(rweD"AG'h5«WI "JjU)y]e*F]q`Z/9G4ڗn3GpmuԵWFJYZہCfn~譶U+TlD--#ibymS ;m#V\P-]ry>mx\{է<"嚮WۙzJۧ0U:v)\Z8,mp0dǖ%}^YȊ1H)s} 9˕m0bR..S&L*ʼz&Z* $8;RKJ} Đu .Vpxe9gR5W4+L5FX)q.Q3#IvLmlf US63d+Kj("xCj|r!YwLϕ8ϓm9T}+M&]/W8Rۋio*oe%TF`E:R.6KxR3Kq^m}^6lV[ke`\vmٗ6]K>q熹>FF]d}@㉯]^Yy DWPC"ښu^y+2i ;z-fiQȡBƘ(T~}CFlڂZz)V-2TG钀#`NI4l,=#*+l7J~i fW~d8#?YYitWZ$.. 3g[5vj//5B;K-VBi6ӡVٖcR+/ ۅ_UMR^jEPUMNu + %u1eˆS\iڭKӅ(nKZBeETWG2 KP TVb,;ـy (ڈfB { 5+3ZoJ'Y ,6ukzDTFYDeޝ(5_hU=*Y)n !hN/iXZ6HS͋ =r(v!jM8ZyuD%}Atng ۶ݒMU@IQL@жIC|QJ W~TL<2O2 [dGήdʅ}E1: ʕ6% 7UI"ғ5 4Z SFĕm@PW%;d;(d)9P9\r -8AG ' CZy-s `֛RK0RIVAm ΩlWv*H Qn9AW:H'T!iegT2RD+9 (L<^k%vX\7&ۜ$gC@BXܓ~ 6ۋ\qomCh&$'&DI:sQDLNHvs.^$ A3>R 2fzΧ]qbᱷPvu5BwlËl9B|]#~w2RuHވЌc#t:|NjO2L2>^ Q QRPf9AL"ӾS $uW&ԃ'kq<ͼڵ-+IC%>Iķb PVG4BH eFbnD-ч<˓f}y[ ; bJ iWM-$ .IVn $DDlVӈ[k(qbHw8ҙ(MwGN㒪"9;G@ V#NlAn/cy&ۨ &xasnZFol^SVU@K$T~(;{L/5#51Wl5<ۈ2=զO?$ ' E/ӨYRA"FP9H Ns\F{u7͹fUfŰ}e[ 2~UQԔ(HKVTmhNc^iA"#k]wdi$ad8b6I Nj!(7?Ml:u,u$0 om6sa/ (Z `-:NHyu4Oh4bY+ l&AHPf-5 Iɝ7b 4334K(؟mw[a,۟:ysxR[ Y ^Z7"ucA BcՑCR R2Dit^W%2PTBT60uv­D[[H&m A߲ٽ0TROI"A]"0ҹ64ס$z5) :I4g 9g@H=s-Co\x \Bw]:GZQ>`@=?hg4ʁ$t;? hTI]tO2Y4M4 \m }ߏ8Rۦ5 su?NlG?f rhx 1 0` 0` 0` 0` 0` x\L=u:Pv&tǗ宯:XW=Iy& $f1F097: ƧM}" '|NڹV!I/P{ 21./_= e#H[PG_:G+}3G ŬADW #7)I:uNYHş?m}% ϕmM=8PwI $3$Hۉ楥P TFP$ ^ Bd@Mz1 LImЧZY;aK(%o 8>&% dam:Ȑ4Hz᫝Ɔܚ )$)G'Q' hp%<Ā $ $iӈ>sUST ӍJC-PS2n$h1,e@9@܃H-ofƍi*ImTJ\lt)pA񎝄tg"7;"GYuDR:cFc54&bD3Awgoݾ~ߎ5H%My^'ǓEI޺\sse-\S﬩A$ PIѬ$,L\EHۂ=[TZ$(w QS M-:9!+(VXZfQSRt6?^X lrɅ-0 DmRYC\WǪMoM2m7!Zh8 })80 oS`2?]*6QkIҊk*n6nf"3= 0F@JUd! g-.L;%۲EnEŊe%KX]G;˅ZrYP4M0UP[5 Vي sJQEneS%^Z2mťbf/f;fNj۩k] >Dmcҵxi)UU5/W^6;]2p͙({BɹЊLWP3RUٜ̙{U`'1e{N_f==0PR\2TU$t&&6XQ1 `*c R4 Q5ެS3"q`ϫV4PNY%nO%H&^E4S,rdǓKnoZ2-kYk'jK ZSLYurQf_׆ߨw M9k_zՖ+sMsL*TVڔOo[ /8k7 ϶:%peeRkMc<ٯq=|[~1\9Z r)mp<8 +|(g%і.<fيHBCUDPf5a#)3I Xr=MM%RcQ }d'kg<΢i%W$ƕ F/VZ,d8YBI{Jq̷T)~TC+[m"KK+ֻdSGjvw'@@ql+`/>C2X56i3 }cyV]j?ICElg *pꪙuU5d];Qnɹ1]2˚,yj+-~ԫ5֊DZ]]So6GpqPվcgh&QbLjE/fYǪ]^Gr]YT,;L~3&F\\žVu\B ]Ėxa^!形QWa E&E)BȨ{Y-2[кcT) @F|vI'Zݵ |M93ƺkIP4>z=b ?~|OWS[n[6ls/ߴZmW EM*T%hqUO'eڊ[(v)ϡ1e*JsJ@,ެqFIE&ݞ+*ܪ8%1w01BһQR噬a_22خ)\ݫ3Z-6%- [zK+u ʧaUF,У wDpJìØx[jM5&/~njSdZ5]-JCSt[a qg>_]EU/'#p[-Ylzېl)M|7J\8TʻEUxI Mƫ3bmyn}u} T1hvVZ=Dpm)ӶYwy%Je53T "$iUB NҴOQH7vm-7Ktjn:E1v TMȡW?7gݠa3n2بu5)q T.9Өhi}e4:s(h^]{ŮnF-SK:5/UJ.ҺJf>p7>"+tWNTPniD*R˔7ˍы<͝4SRҤcpu><LH5:FJ6b!Y)$2wc$FFYexeh!%tA=tq UQ-({)S5,X}(}ml}%aIY}W3P^WM¡\٪#6Ð@Pjljk$fkoU.|h)uuT%49mWzP[R)-I y*Yc!<Ϭ)zy6&7gBMg$ 9IG$' $4@1v&D`5 $ݰ2XݩeB}`VuE$eNE(&bIT F:P?cS[w{S\ lU{=u#QHR}ZU 5t][Nne7[ xJLKtԩNSfVbJe:c[kUOoFhx5k;Cm\RUEZopThj7%kjH-#tRqK_oP,R WzjF />Zz>7Or@pn:z #i61$EHf%HB],L,*YYxi!KKl:e{Цs։ N)Rd,:Ғi#4*)V! QR;$)+C`#eJkZA Sms h5}U0U:.N)!KQ!IX%E>!ɞ}'S]-3RTpn$F)/} ck⬦&Qa}+ک"ʅH+jYb-sݰW:@d\ swkSj$ĈJm:xoBA"p0NR B T,~73ה<orýa/43>2fn-=:%m#;M ,: ϡ;Γ1~/J_:htȁ#M`t="t˜::It:h`u|,Xx1{ny "gStXT?:yl鹏 qL}|FD*@|eQȐiqŁ}<;~3F*~=|10dKaCӂ,*aDYY-|%g@4 j `yu>GpUKZԒaMR 4#AcSoCPBm[W LyJzpS5 $െdW㨒8oQv`eҠvɒw-`' m?XST#HwC#Qhyf.{yi$)#"G$뤈Iu2yJLnDؔByb-][ԫ:Lʴ=j9xZMWosℏ<J}U p rF7boq. B’$RT9OCO:gP'@˿6:7uuS9bFS:h&1 k%\MΛ>s|r2>F ˍqLo8p`|0`3p 0`80` 0` 0` 0` 0`Uw[m>jW]BFJy@++[8몗qn:k*[ "g1(Odj*WUڀMK2:s+q…m xy-$~~áy±I1 ` ߍEnmn4n ,Mб`8you)0``w (ZǨĔҹ$؄VtRQSR6M3-44"uĩ:>u?1kIQ'};)=Xg,bC[)r\0s=V5JЮWjj xF P" >JDjydu?vxgz*q#=e^B#AV{dǔu|c[wNARXZT{./ ysM5WsnH o 4|33tksuc9gM?luدy(;5@,< X|=dvjKLj#N]Sf_a 7;-bduc{t2FwC_f@9i Q'A>]d ;ꤕLe`U0 R?h/pП)Hɏ*q[Š֠ԥ4ט'H|r{ٽaI ^nM\onJ\nu")>&]4R!<ɰTYmUtSrFm5u_pE-DIT,qSH5ν=+J*S=RDXb+gUt}6 AKe,p;"bjb})4 g1父|ًMY\zBvQJQju`Hm%ԷX+;!okTNElٳ4 z0X,iy^{U]jsUus6\e6WwNׅ⸞{}<:T껦Y&]Ch4UՔ-,ٟp:SUrnM9r]iK5)i/w v{tEE4۞ʙڦоV:_4L#SA[SG`4?A“7h֢Jxxwx*R)TэCUf=i)r8hl)6dz;HЇ3eKiQjkBkDKU! V6B|)%U -JG!# ʦ%EbRFQ,$F4 T5؃)ęNxƙ_Kq ~:!OM# `R`g_- ƚ 5ʮAX#U܀MrN~ŞH;Ǥ_4%Fфυ ^^r.՗ Ե5(zZ©+.*vכmĥ%Q m1QB+KJhf*Tšd;.&_(R(ruyhti}$K V*%Et{+z4#rձjHع os4ZHE!le4]-a'75Ub9%  EocfrvZZor\Plj+sJR[U҂WtA! BAG7,LJ zySp x TL zFǬy[T)2cB `<@ Xaqgi⳱ nokk oow/6|$ 9P`$A?: 66S(*Ilv #L<%m 9c x}m 1"gckN7 R51&w'yuTW6]u{DOb6t@ n>zUˮ~޸Ȧ۟cXН Ǭv7]e4 nx?Xpwyy05~q!ލ)>3 _}ih{9HT?O'Y*'H~=0fHQ hDEJ7 @ bY$:'~7:پjvjR iA,$4 P`P4~MI7'  -Β0XjuejOvCoi&PA0fO&tNbONNDΰdb*yTچAJH#PgY#OM`Ζ/$%^fH t ~vsXo HPumc6bWjO2bκ:ddjUT6Fӛ`"t?Uנ6& ozκ0BR?WI;D $GO1ab|a˪;_uSu7+{n.Om0$NiNi)zP<0{hF7S)HDz_=4'qI|'f%yܲ,:plo..q,Q;$*`Д&uzsS~Pw>4 jy@:3Dw='RXkO Qؓ`; [(;[}ʠDrƐ4?3̪'2zƉ* 6]t-0(WH,}<'oku,rC?pc Nek~F 0`l0` 0` 0` 0` 0`ϋ5| e 2)\yCS;D&UڅjShC wgn y1>sMN؁M]$g[ >Esk3'836EKp}>UTK3zr)8PFՈ|;ď:JTvO,#2[=!:z]r'I)$a{e_n??e؇ IU̔:tyNΕ&OY1|^y}Iu,`|nDh?da$"pxR7&iT-5jڲSpqE=Kpy6L)I%%rw{4eH^S0}fZ[e7ߪObwi.nڟ"&"q_u)ܭ;;{RI$أ_YJ@1Ja6Umty/I8Tat) sTS9uUHcL"4S\cU%=-KY9)=7tȔq*ܪ )bheJ{;A$x^,ƚoZ5UAE iMSmwI+jéէ$26dq 7=`(NdMdOv;kViism6ͮjVil8H8 gs!E7q 2YioB$ >62 j35V|J<rD')4AOP6Y0Nl^t9F!Z2Q3q3ڔZs⢩Zqר- fstS2w4vj{m{u%=8S,3H,8\!bNE;w<םwRFdְEƜ(+tf |L5γ@2E5&YA oF$ Z䑵-D-DڥP=e1zڧQUi#,T#EHT Gܜ+H *!< 'Da#Sqd āϧY(<>8qIT- IRN]7Vp^3Ӿ*.{Sm/CT+6ckt6<[  }ǍN|J$*3կgS3R'xJg_?Msnzu]_YNtVw+*q+T̰Wʃȕ*z=2q)glC3U &oUqGrT9WLPXq",۬T\r[Gg,=y-S iz pZFHa<2NkY[O ydDc4I4aR NdtC" (U%M-Zi*(MRJXW%MrQLC/nڴ5vL &NmĊLQRiV9}l#$p߈E~i-w UKt+v|ԭTj֨hf1 Z`啋ֻ ɦzkMri=M.f ?IyKo8ӪA åVKvv-3If aM0̋)tYHuX+"RARQVIcyGK@5v ?J` AIɁ1W+mg."ir[TuV 1- K]=ESܤTSnfzT,sU!+j2qY:!Q꩹ߌYA}}j%KvUY3Se$r3\ I. *Ju%WB]t8TԍHQ܌l`)ṀO|XݯnUm1pB:T chHٞ@*u$CGY>qs"YKk'9k2Sv=o jy4Td53MzPS~ɘ ʁV$ <$fw:y%OOx.tU 5CnO@<caRR<1NZTY>L/n n[IwDMb`- Hz@ #=5>Ny$JP{hI L'X:㬖W;sƮFxq?}d Ty'RHLDN@wGLq,#yA;Λy1`_?/ oJO3'`u -Qlѭ@Θm Rt$C|`ՕueoaON$#,R'ҎDd2Ȩ?% q7V NuH']qlw-ڱ )]dʚI5@1@ w'G4PpOM/oب4HeVvO7ޟR7. KRvIғϨ(Tt<:끞i\Ԁ!r$y5L 8WV'GuaRz],V;_nakܟ (D26j5, q&Zy4}vpFcER5r J2I@|g/# tC2L gXg s#BqW9 ᎝5=<\H6%)A(VmAk{\ЋxXKxs 6'n{ve҂(%: f c]!%3AƞD 4ҡ"lHQ$I ?2gȁ¾gu*쾛qmm$*oߨQk_צ&sDHJzHΉq#QY A;|"7i'K$τG~'-{yqc#WĨ>-s>/udz|f0VԂd6b~e2'q'} . ˀLR'I8_H"_@vXuDAIԏ GiE@JLH~~" n@ MLbI 7ƒj!pL4Q|t8nmsm5N6:lnhS:6hK[Q BT #VQ,*O710SB;A'}\)튥q~)@.uwHaPu#v tUYޢK*=@$[RXuOーhG#q#xv؃΢=u‹Sa19@k>)2bI?6:}8n; ~Za|/nqϼ} n$:mf790ggua=xHRc$z51֊ hp::ŅRyߠ"ag:4"qD YSOUW+j0 y$G?/[BΣ'Dj']p*UE\Bu.%}ӹ]]y@PW" B.27- DSeaB k{f!D$AedaGW*0[k0o('Q P3D6:N72ʼn !N,yvБ(fkUµT&aXM N$:jtԟ#43ß ?qfH%)Lc5n %U5FIsXA.Ua%T 1e{JXYl.Ҫ K  11&`ԍ΂)q%;ɞ cp_M5CN[wǗԗte.qCogRWleඞE:*Zu il &DQ5V(PMF˨w]$@ϡK(g*_J}+iC wce.p)f*5{).`̖w[obMnbWY[So5qU1so 2c~|%uu]}SVUK\5P(r\K%%= znu7TIzYۣMZ+JKUƮ[FЖCu( )Eړ/> ]8q8KEWj5r XSs)tuItU_- ]i.QϹܧ3{AF*gy䬢-4fja췙}|9Wf Wiܗ{e;wzټUW[ qJii([GmY_¼oWna~oֻ'QYzҼ-Dg[u+يf^JsFef4噶oٸ(IVZeV\_OF%ZJH4-dMjث'r,jrLޘFS^^ֳ̐,Ml-)ВR)㊚X#ԗq_*lYFtch/K-] Ԏ]nlTJpy(["ޜf~p䓐ru%)e˰WfPZUr]٧yV^jXn_.MTK]T q#3r7lwM _3U쟖rM媊z{Bnjf!Urowk@8]x2Yj/ܮajV%>(efҭ i֐augDʎ10$}(1bnvMNc>l\R#%DхҪH^)E:ܺnen[yMS.%Iza{Yxyµ}PZv{M#ell3KoӢZbe"JPA2 3)v|Lg~Y;cvḫmٳ.ruՍR>];(Xq5?Js Gp@A t3~"O7h瞞f3$qTAgWQRb#]y\Fd@u+UYq,Y4M._N#+SANb"kJٵFJ8&+V$$"CAqBFP'eJW@h25-b=w"q RHRE_J(r1*X3t?8{gN7vFǸ7h ݠmuc𓎇n5>*r}#,Yը9u ^ʷ2j\E֝L k RTtBRI Zۥ ]˝ml.j- )iԺpժv!TRVT1[ +fRmqu>s*4.%jBKRJRjRCT!Bp-ꬱ# +AzX"pa#S%*" 1 JY%*$f鳍c MJ̞he)q` 0g#(C$@F7#HKg9r46PӦGAc2' Tk"A$׹ny~X1EORZma7;\-V:PF 55>H2~'ǘ6^hϔut@=AsN9}, `9?`Ʊ5omͱ 5O<9OI$~Y$rX:NR 0Lb$X~I/oq͎֤I2IЀ]t2|“33;jt R O0bLbbNHkߧ~|ǿ>16c\ﲅG[S 0)Hw„S@Ӭ Λ 7?^Pۻ:to;X1jZکn6m6_/S}݇4VRG(aJ ?~s&Pzu4ަI_]oƜ E4A/%$SyyU?8V6ג9 k}Ǐ#0DLH#M )3O)0tDDxI)v:i;"#`DJ PΞf (#N$i}=CnO]x {ܹ#6rǖ痧MoutE]|$BkPӷB|ϳ+)U:&5H^;g{xQm:B uܬmq`-r!$Qש=} zң6WSCY EMEHnśl?N댺y(!\[N& {XqM\'5R).Ygyj CyNrRǙyd"Uˏݘ콜o|NMsKCV[whf:iKvJ*fUc}e SRJ>+N yjH4L$ [g]**5i4HAe!Yca6{`M쩟tͱ喙fo-gE:m JujBR *!"dbKV{dqy%yսmR}e`%K:r4"yc.݊>nIK=8#3&Ytȷ^jUsNk/])C<ӕLZ JTV+{iӱ bqϹQPkPY(57KƱj1KN-!qd{ YÑKYڊ*څT`Y>qn.e%Fm V-d{Q,l*Nӓ,<aUޘ,3,kZA ze}2Fas^A9_=!ԓyRQ; \,ۣNg5 eYC /)mՕV:zT*HnUXm%n8E1d@y#N*X~u|-yv6ٗtړJ-t)?ߛWz[,7\> { gb;fiwvqUe ս90292qEQUBn PDW"dاvo\]d%];A'frg7q>nE,PP$q}ACM-5E$ ;=첼o4mgO!NfWWu<Ҥ#," TL#vf{qfWi/7"-Dž0}鸽 oPqDbn=ըdX1&aG&c'1Cl^*Kw<0(,vjJh5~vQд2u/RݺQ"K%8G_h~&CXEô ͼ;7WmT*|+N]KizڊOկSU%I.G/ynM񢋋q>gfvKܯc.GJ*vY1VOY_Hd= _d%=u\8v}@ʩs,4hQT׻f<3Qe9sQf+˲JrZ$QswWKZ%d3+ѕ֗gݓYo[oRaTVn]{6k*]e)zm.\hcͽ0=X ۶vj˯ZAܭ\MzFE vϊ2p^Qk/vݛ;Kfj\nw76WQm˶.%Jwo[6;M/ iC2 ey"e e=-e|DAL!+8m}EE[OnYIV:F$ 0D,uQC@yna[eJ A,bc#Y35T5&j5=Wg4t,$,ٝt_ݜ01CMep6Yo,]|R@mvrMi9l\uP` fimzzv 2Be mBRBB$rĈi7̳yDٍd%5cm1S+M%$+-$ @cv[)b uPiWETmK,l\ Ŏ4b]}n-^!j*8K2nfV5ShZxdh%^9x扬ȬH|yi+ל:{HV/=/jj{%ݐ(=Y9=-wCT[EϹBfSev(ON;<2x 朿;@!5Vkm}+۱7N+Jjj:v**z)mM?OPSOKSnTۍ@z 3v&7+XmĜq*\]]'EN9{_7k9pP}2W[nkP23y{ch#VjZZaXQRp~SC[=+LyqK9nގfl7a,D LU-C-6aS1H )˻kD {Aw\U$vecP9VdΚ;B'ܬU9vz۟ su)ڝqM]r&Ux3 iX+.ON\oYMOSM^3WCR}īrQiR[4u/:ing*kOǺ__j\+7%ՙ=ǻuhOl˴4WFXh{kw|DWg2di.P!ջ/BPQ/MvKVj YmVE{wi{!ٮAAA3O_G>\G.}MN+\MYeʐe!j_jQՙdQVCAUbՎUTzs#G4]̠ܗy6Z\3ɝeYC#. H)P J)'PRA 5<@fZ.eUĻӷf xC,ܻkYQZ޵SٸQ!ƞQ[mcZzjzGڪajCTS]el2jJq$hPP$ǘV/LaOf(WB]CtpFoSd]R"=}g;OE;._VZy)jD^C*`4?j ĶD7rn-LJi Lk ,%Ήԝߤu:4;Np.t̡A@>=$(<.9ռ`}]U26a6$go\**\uVè$-$;l7 |Q$kt1b;,0RPOB $ "o6뵶ۃ y@AЏCRb$O_aNqCA2qNI tz u#bF8u<}?]_sog[ Z _9"S.󎻃a 6I؍?菉ڽ1-w0w#Cׯ?eE3e;yERVZ J0u>ƛng͟W97RՑ[%ݾڊ{MmKn:];J=zM?ύ-:Dbu ,"E#N sfUԫeaɑ'`uUXxr>Q"=Vdqp~\ =m"j8޳e_owU +>fm(5Vm[լ{Kά8cg nfKwZw]UYGq ֫co z*&.v1oa Sιy[W'\:Onf*)ieԄ8e5MQ\RKZ`o$BEErpR2MCV{-=Hqo?Wz_t-89Ȕ-GGӽČ}MSVTarkى-2ʶ-IJujA 2g͜8 ,;EG{KWm귿yٙzC[s,)q)Z)z *j!le喖)!-~41h1юUXo_.zTDUPG1$L @װZUύigv.K.\g;EevT6j(Җm;#5LQ(Jv?* Y"eJV$LmH%GDネvv9/+,iZS] z5]Z=uޚ ryqWJҰU b^mT|x[+(.e:;Byx?mfUM*%-*m8f5ly1$44EQĴ0ľDzC\^ QJo󜕓IU4-Tg~~C𒄓b6KnMZ\tXjֺ*zE2f"q4U6=IZTVq3q7 {mꞻԩOꦛjtw .Sݷ&b.+UU-/8A7f] DJBi^vCjT( BVt RD2٢5QL)/ubHXT U2!, Bw,RlqWRdXZ)(xb]v}绵-ے]Lκm ChRBV–whO@Thuԁ-{m}*%y >%I:Q N c[R]p!-W$ʔ!JRQ'kd 8т" ܔ:݋3 3R梢i%YfrFt)q&"ϝ !O=d!#N u·LH#a;$k=?Y ˍKQ)re r#AH8; O*f#_-uЊk.7"<<6[갴 Ј+{;5$k뤀6F;uì'&w6:@}#[N`=dal@F(λqmǿ6><}>><W2gA:H4oLr$$O'QNg)P sL5Dz¾ c(hycf&G_#:Iw|z`Zw6nJv$Ƴm40TFMf`]>&A 0d@$ $.zu<EorH-gc#&ўpcPj݃]#}e3?8N~s,RCSI\prd imkTګMogx/BFZܭ (;ubᯛO7|_H7R3<ƾQ\H,U;RNIJI) ncC " z<>bV$hD2w:.ڍՌ~-gb .s#yޝ$u$"g]"LukfMQӬA'NpL$RA>[tSDGN(Z-zחt u[篍ol`'Au>ciH ֵQMzy,p^)yi@%Su:#^L(Z*` )O#} N9f*k':"^y@H}N_u@^94=wMc!D{NXRfKM}*VӑPQ҇c.;k[8{ZrU7 =bbԱ ~-2 P65kJ=PN uO)[.bxxn͖SKTGnSUT (K'3Ya=cʶSm,[A;IvrR(3.de&]giAKQOJ٧d39*eU6'vV,qkx7U0ۨФ)-=7 u5Sm <9hYS7Zfk7EjBe/%pcYCT$ !0xUYG.׺{9xͭe>\-WRW9`%.$-wiR+aUԖ1ٺ:eiI Ce RU-)+;Vf=zX4#:V,<񴡵/꭯7e+'>.s,\qW#Lj^\qr 6R4(&ڄ y62Ѓe*o+ܵ-t6L`ÏElnk2;T445OIKNlhm%),п/yd-gu?f{1!Fh֦w"Ki6X( UB?}KeYD?&]}1Ji'=+H޳3k}M>}^~<bo?Zh_?hxsc~,|j;mpAs>2/3{?2}7G7 {~{C{v[Ú}ŏ=]Wyyg^d 1~16Ǐ֯_ѷ?k{Cq网e9ϴfU8<7qkJTU52{4RRT֝UjRڸNJʲڜ@P8'{ ԐTݡI<)DǐBqG>`Xgi,:J/mJY$FAb.ԚVjmTSu TYQ-k|dyݔ9Qפ$Y`Xb _ Ke}L-C%*r"8dI8/ Ӻ ͇t|,/q~gڮ0RÇN\&{R)@AUB=rKI[ '{>DWf zeUdzMpyEe];S׎:(QM|]B7xX.fw:|OB. RFȦU%Ԫ"LM;]8\ xCTJکj q y(Zvvc]3#I4ԒP˘S<\2 4ɮ 7vƣCو5WَUUqWGQC5,QˢgCt`n~9ǧ1Δt5@jAiF=B%^hlyO*U kŽ+*t@GFOMwzOoSaN5'PTb6% i HAA|>lu5u. ,;@6U 8[.2r[j3D"`|ƀDvVO"3|ɘkEU-PTP54Ta]a]"=5t e #b,9;}nYYUue `En-ѧW" )#Ov {i:DmV @INQ_OT `AqN@նHF$jpLv>e?.溩0j=ܟ!"߮qś m8qXsv N-AzAA:܁6^zjqĎ;ē$b("9]nmooM}}E5:m >uHM_8NtGčC;oр k:`r{\6Lv(7$ЀnW-j;x/] PЍ}gd=gptXP"dhϨ3:bV_ 3`OL"_2E`{)ͤt)!Po>x߭;>hkfEjgk6l(ڹY/eօrө I msd=Ny%csg0 zxg_\2m]Nl(:ZR;5UN6;LҶAj өTo7-cc 2H'D;Tp*e֮5Eɕ)5 HuO*-U R 8!HY#iacgj7 R\SU*ښ%KW tYybjstbr;$` hnۭޒ\CZWw9AFӬxCh}kXBJԵIJV)FTJ $L>_<*ι2_,ݪWCVRbQP[S2)qH8qw1?t5`F^9GUSIFӨ[/\fR2M_[M$*&eV}qZ@ki.ÉzzGҴdw+Qu&$f"SR* \+.^)))+޵Qp%f9[Jp]~fjfTU>UVҁiU52zUJT/NKH[?T5HժPm:jUjnˍHios5hyN- u K"HL*WEL{UߺD"R+XhEYUcRKAvm* و $]USʮvF4eV*JdQ *pJgxH'IӬz HGAM*+P1M>^Mݲց$&H:Ν4LuQ|9`?U^ǙUH}mq}$D GP OXPHR @'}SŧL&"@ N3b @!&1Y#X6 .O۷RARyI>s41HP j@0zDkSi"JTN?.鮄 gQO$&4/@,7skc aCa#o= |}F0 ȍ:ad}D5)Ut$NZ05GUce@o*r~XC< ug` ~F--r嚑CL۩Bxf5ܜlx夘2:jNP%*oʐy bA P 4H#n̙ƳI #wg7kω7xwQGLQG!qG@jDiyi' 2QhBؑ$gfǻ۪Y4 z B4=51G]YpmO("@>z2!0*zNnBQ{Я86|L)Dq$&DS3p$̍D#ؔX77m@$AuΐI)Nχ;u~Nya[,5n?Ԅ!LMzD ;$sl|bFzaLצBqi&tZiDk"'nPR{]mJ.Ll+O:J""OAi (4i?٩Fԡ'Iɀ}`n' jplM@#Q:D5  m>|-$.} LI0obcs?Z)mfjJP~pSLeKK׿ S6zX(Ѡ` OM50}u L1QMY&iA+A]USLJ:YRhVؑZ:k:*ROrX" yl}%^|ت\zK=t^j۸eu 6޳2mhigByÃVsJmO8QBvp¡YOKI>iES8˩DݢdTQĎj)nT$E UReLܾ4}n"'? 7=™d2O%6m"Es(W{,xO8M=zutwZEX-לzSK\n[Xl6M*(h [E])?+U:.9~qvsW~%p-Ͽċ_5*/(B?x7U\E@iƞu&;{WvVRdNۼ7jd˰2ZKI,KVg"UQ)ljKG\Ѩ\v߲kY$UuKR룲}IkIjS$dV ?oS.r*yd-=n]E%,o=sY49d7;is.J@3Qٷ {MeeMU2YndkìP+l9%U:uDQ[mv1jtbƂ<eUeF_G[K!t),n"C"HdX.̨3zl,1-5U]rd^s7EnșBUkd5W|Zʨ2RC;򢎎'[h'_CO}ڣ/(~ۂ W$_y]wΙΗ_\ U%U-krDָĻg2=r3l9ng+De[5@E]y.[V6rN S['W]x@;*-4{͚ֆbϔlR*wԚfۻ_CL.ԚMخ3RѾovѪg )NQ,o&eڜ楃e/s7;{t̳JD~d֖Z >o1X䔪V1c^(D% (p5=~]l4(W OETCU}Tn̡D>%E=MM%^XmŇ <=/Ďח$2uLZM2^EU{]-J3N\y%i}q^8ě^=\yúX2vpߋv7w}/Ce)ΙޥFmfTQJ}{;5C{A*o)(r^QeU=)ٞ?SdLoqw)) 7ԪVԪ9KOF]AGKI[vz|+;?L*MVi w3wycBԔQ릦<]UmuA*L|\p42A2eٔݣHϑ׼Ȳj u:9i꣧eWU{ŋ( gite 5 )w^*)ikГ Cwjm.eDB?i[vuEMm(i-uIbAN-+ RӴ 4Д†<|^y,b_TE:=2Vڌ48[+=c}AHgoH&}$jEBNeK PhcHMuQmڮS"Yx* (L,h]|& ϧyV5ѴzTrKJj'zk(k8}Ou|%Tдȷݹr6'<82%Ŀ@_2W `Na;DKP ԈzO]u$W,a/Zͷr:Hyii'&io٦ڭ\q/דT9 QY|@ՠ*mV9jmr<$,$|&u=J0H:%*bN] (Q5`/?*tB,ˡKZ)k?}p1á"? zMḑi뮳嶞z0Nb& H'x'O(ł㐾{O_m4(6L|#s#|1f5O=5zc,j yo8[R =m<~ˏ߆F`L uGA2P{ 9rzS.uœ9g@3ˮqӮc6Yp*=52z6cÝߧ6>ԕ4eU,m7 Xl/kQ'8[@ V[uJfOJm [#~ Y;UJQv !~FLI/Uh@gٗaTSIq()*AJШ`@q_tÑҦ+\~ɮa  (@RuL.,n󶤒t^\-bm~RmGbuճwe)s+],Z$EɲHf֌{5ޮfzua BUSJr٪a6o6qPR&2a*XQf[Х lS(Ry nUqsBRA[VyRKu +)h= } lwo: 4t*rmhbeEZ i #ibn]2-<;V!d,t_ \j%if4538xe!AzXr^f*p}aT2[u [n9y)- Jg\gYBGsPJjf}vr\rH&:Uk7oVx8ajڛ!kUciҥ3AjӘ9O0&d;Q8{~AcIkS1䱹ƹ?mOUK+wI J,Tf D[o^ˏf6\ӭm,xC-.+RHBTByJT OM:͕+-C,M3C<Ժ!6HvO4\fLHX@qRq;4 ww[4{ϳV@S:UÖQn/5I>"CH+b7Y3Q,cM5 n*߽֡#KR}O:id~ YDizt\@lq"uu5Q#UX,u'+uDnC^bh2Q"FRP y“i I$=*򩻙q)v1$hۋJ ֗ҩ@$,iPne@.MSϷ`yyפ'%T4$BFTuCEAj2X67$sM>Zkƅ zTEnnw8sJS{Ue,g{zXF|WpEò(i^)a'MRZ[ݣSG*.4VWby+XjS@~l2t&q^&sEEs oL4qֲVsVcQSd5KgigUU1wѕhV &Ab0`ߺi=OcK!MSծ*̔)VxӖ`]3]ͱjU)vY'۸_b@ 8_FkGMY&]E")Hh ,MqEuJG֗vur8Uf)k1DFFlNO8WWl:-A!y|y=,7þ$:~`i8)B$#]tlFް#mȏsy`(ǔmIҊVͽ?'1{CcM;b$yz}QHlOY;OIiИ#`*At۬|DhcSr|-A{Œ&]o1`I.ig -2{jK6gtwLX.c҃A 3$3:FZXͫ-"ﵑ40K) AhMʪ~r{@g }ˍnoNIz tWLO)0?ȝP|uΰӈQeK^*iZ^z; #1$6t囟EJF b w$"?hµQ,Q>0J{kq#y2|;iA" jdhMgmOHuO1@y#}:9UjȠ- b9^8yB9#J1q}7vi'Qה( i:$ <N-e(5"I5n0S!$H&&F TgU`GY~loMuQ^NOQf[;ym')s>Z@H XHP%J$1JyS>.=<=0Z=h$ꯁ 2#R5C史ۋ7;8شh]DZW,A|E@qŸ%ŕbO*Ots"f6?n>dΉȑ cStu DИ۔S>Z鬑aF%DtLz6Vg[;ÒN@q`67~{VX ]9~}}pO>wB7y=0XlI'6'}>{ar9SB2I3Dk>޻_w/l<: f2H0eZQ5z0{(k8VbO=>eʥس 5ECԬӭ)Z< XVP&D|uN(DOIf*ܲꊦWT'A(u7WRUՔ-hLQ$.) 20VR{Bez<ʼS׊.vbzZ>8Zk9Sɩٗ.e{Ϙє8oWļQJe_9.TYg[u6WGOdϦv;5/vmޙiROsdH(%0Ac)q)᧧2c=A36\MK% !_)j/X벙h]p}qGOLQ"QeQMPhHks<24Qԗ~۳?Xj3L59a[]!&-֪D[hJXUM"RⓎ٩iib)i)Xjاa i)i(iYmm[Bm BB@g<̦4Tcŀ˲T@P" `ZN?}\)--Veԛ3J'3*$zڙ!X-0`2 +LLn~~jORYH+ɖSJui0PaC̍#nx.p@m e6PZt+aԶZݾ9'ơ(y( ]]U`d=v gaš2DA;#hTOKR,3!D{ht{++Xcsf> B[T_C,mi"2d\.qX:^2}UΙ{ź:DmT0T*i]RBY$w'/\,v [oҳn454{sTwt{tew&=n!TĮZeөU%s( ~4y`8UfTyDJ\OZY*fPѧC(x;lӅ%XmaM: $xifv%ZsJբY\(@ $_[|d}]u3R*=REBC*Ydu63ݴ^Qo ?ie[o_4%huH`BTe{eRϿUdՎ+߄{ku'@S"sS uk0!)+(N , 9ɮCD ݾ$mkEUL]O#oU,"nd9 Y(=ə-4ӝ&\gm/C-$p'i ;ŬLUQS4ͽ=yW0Zvt7uvnUoAMSoͽmrP{ThQEJ 5㖃9qʚaӼ6BALKCN$*:)0¤̠Y/f$*|-#SfyEfL)RR'T2PX}ON5$lkjIT:RXu4-\m 4]l @L;3f 3{&$~5[B@'Xu|\y+Y>eշx2wӽX݋49Jfʆq$%s6w1~ݸϘW[brfGNܫ[<$TUKhi)KD4Ӏt*-+3A /#J.VCa6}i- 9UX A;HU(Av@cn>ٟ5[ve-4tViUT -T VCwTZ|;wLowp=4P[P%KBq"}9Qw-)E8uk*!+KU-8Rb-Mw4|R-۬RӲtNPL4B% R@F1C٦c$9iUZ\e"Y}GT2Si !XpZH=CE48x˚Q[#1Yk7rX I IyX-m6CAR5΂qm=-, NI=B&0ECh jt11G /A0@|1kR,;mɷ&?yyJlTm$ؓEԝMnnuqlKh@f>c =*9dƚiA2$ _PI0Zc$.,>>7{ :~Q_ύZd` As1R&'utYA J@Q5Idϩ +`n$v]=FOkormc4;u؍o ['̓6:k#IqΔR y>vOH$ORGuL%  χQS*7$~C]0 Xueŭoa*hm0ۯ*T!V=B&9y@u Lb-0d2m %N8gEث[|T!l$"A\:kJĜT *:hb5nq3UWݡ&kƤp1^p$l>/IJ.Ғ#Hgግ[tyYPJQm$<($/_*Rյy݇jӑL( yںYe(ń% O1$Lچ&QS{i"*C5[}R0 m/CgJ ] k5H2L$I16QR$:k *indpRk"[臇3= cBz 9{#dۅ/kϐS"E#O,t"ln"F'^ ;!8XՄ#N5NI1))Rui)FU $@Б%'A&D ?3&#R7Pv <66=yeX@ٜ񰶐HHs}1!r)Mt4 H$'iX=#yВ ?<($mi@oUsHtߞ,O@mno:{Ym뷿}3 IcMgxâ0 #QHNTl cTo3P7f7 \>m^_sǸ{:2H3: u4NHi ? c}4JTH:›M$H':ɌUIcߨ_#%@}t$Y 1yRȀII<z~yт<f1 ͤq_ 0c0` 0` 1n*mUj!.6m@-#@ql2@u*8W$y2uJ5u[VR`buGHJwIإ ^_e%S$RӴ$EDD0I3)8再w,!ʧHBk'rE8 mu \f5n犺6$z0'k_:,2Q*!A 41]:F+fz |pԡIu# m:%63. ݦԖV7"n5ΓROv3Ax?X7GNU$ RZKAj`DvhhPF *YՑepEԋmpTGYa-؞q hbI6yiI(]m]ŗ*uC;R9W$F=W. :Ҝ[8ˍ3LK- : OA9=.8X,# Խn4+Qm"Οas} zfiTr,Tlm M$ܪT"cc~v'DvŖv%Tp4(Z|85LRZGך>{7[.Tu)y֭ \zti"[ZUU4Q-ݹ.iZKKR(+i\RT ByTЌvKFzdrV9۽:,\}N B.dAh2ӕ-92Mei[rg&qt-w.O~PrGcQWVB Ni FiKܑ<0R7Wi#Ef]1gr:݂|N*5H*[a}quQQ *1MuńO?p;9[+r{Uj M-]9*{*cVR)V@~Vƥ,H[',inSQ@ѢPԈcVJ{ܲcnUi;ԊQ3\;V;JS]=T(nwԤaU*KM"/TIRUSl?Ϩ)'s 4;Ɠ[ d2 jʯCN=0YlyȷS-QGWMP%ƅyKU?N\B%phhԑӮ)o V1VZhM0/Dxa:ngM5&[AU2DjBLIԃiu;AZDCc%H@pB(\@h׀5?MjHgh*_JuQǬԮĢ@GGغX)]ҬcPon|hhB[+q= V>D' 4mf ($R~ ޴8$l3N+TF]ʕԍ.v |)5tDj%+R_J X܎3gJFR\H{9 r0B_rCk9QȲ"\X/ba<X2!@pPZZ0$4ߨ3峵V%9+ru!R * 2q%2d''Lt*tt}"m)V eKt& 9Ai #NuBA"yӱkj0`;"itQ8mZ-O\je ȔAS9[ (a,,P3IN]Ե鈗I*=z9jWOwn-u^bdi5U7dWŀIǝfa[X.Ҳ9qH ^yu2Leu%)IC 2qCHZByLB@I$4Y3Ρ.u)Y*K-D О&6MebMj.uR3vM˾+o(ACguK al[e*B`h䀝`:I" 9z:|F)s|Fka`Zt6,%7.yKKs#X&n9GzyвyBfI1 ~FqCN Lst ziNcPRH Sdb rON:u<{}t"tc'H41|j0ADTP#M 'rAR hv'Șj'Zz|ۥ~ [Ӗ!Z|Hàl9t@71Ѯ |d<A0g=Ә57]D8HJ4.S ?y>; _ at!!GRI#H=5pL Pצ_4mc^e ԟFm0\%=@#j1O,mmX ~: i;~(=Hg. (@$m殳:gq0 ;i@$iY8Lg$Q Muӯ~$qX_Ǐǟ>j@ vI s0IWM r6%$jCLs|{;\0c 0` 0`OˬoXƸ0` ѹ]tyLIv gSp?f 0`80` 0` 0cLo6JmĔ-)iSjC U5PʏCSj>g:h2usu 6ܮ%78hV4*dr6 ¶lQ'g/c-[nLE=R%LwO,*ݭnT!˩mzJб$h`$OqTkh*JG*g¶ ^$|lQj+0y M$d dfe12TRbkzEu\ni2鉡̃h_" REoܨ؆My=g G3O(/k2;gA>#$WAwMRT&GNfAd*utkXuG#$oFe䥫e6 o{Z-~GP"`M%Ƣ߻bGqbW-$@HC@B$7@4 v-Ԓ[ {  ,θ-OCe\e"NۉHm1-חLk,,BtݩiPRT"yVI={T ߋIku2\jlu ذl<"z|1\lIKALaח0{]K\;'úoEo*-kJ۵",RACn>!$B儶)7mڝf۪mZiC+i)b%ß l:ڪUe+tܬَ %}:!lVe6^yQr( L^{0AJ4Gf#z0X4ơ`a'ub1>UqYL8bU˵JjW}MU_rl[}AS6biFc\G#RsEP2)E Id$s0DPr4W U¾%zvioi(K5hv6DS!Rҡ  @n;϶B)fjI[P=2yíQQH\S$bx̒(akZX1'}* TSKQMmk]A 3U8;8JdȒepǙ)x@7TQu@*>Oyi6;b-(6JfC٪\dR@B I i.-bZTQ< Q+0A k;OD:զpĩ$bp9;X16hS))c^ո6LȝBꞬuAհgnU&.N]M>㡹*붫I\Iv()@ leDh7ì`RϘHaZ<&}t=1P,>x%\FW~瞅~;΁6u 3'v}9kUmQv"㛘 .OR86'sm7uIV O}H:K%<cIκqPˮa9'O{8V9TTSbu=դղ)WD%}e.sy_ 9X݇dVؑhPEK~}BO6@RSXڳb)]XDJcuחY=ByT}\q(RLHvp#G LJMnIA$ԥkJPBRQQ( I29Vg^k^k_ A6'd!?7+ͭ{pO|Xl R NL)%+Ii:@6o)>Po`R9PDsO9a`EHY [T RJqrÊS,#KPQO"u&PJ^־e婼!4OyNUI=ҝ%\*P]xʵY{qHߚv:>}&˅ xwthȵ@ĎnE-~O[HGSSDzgN id\0vV+t,پik&QL[@C SʔJe6,?t:ɒ%ΙZQl*0̽&7XYu5e"@㚜<`PwĞff8i& L&1Lb:XE!%Cs?r.sv5U;MΝT*S .48H]RanojKO;I@A'KC}ڑl1P*jM(e[ 90䴒9q,!yLJCbpTs]3Ҵ zL_vG)-69U/sXxhJ@ERXy2EkZz%6{Pm;A!|F%dOQSU Sf:+(iC+(Us,t8uT:•$㄃SFBԦ+uQ&4Z w¡&oM #rR^jd Rj$YCGqJRQQ%KQcAIIE,rdgAO b2 @iK$z[ DV0aO{ z;szG[ZcbLi_ 5$SKM Ԑܫ@&FrʜR[i%JQDg >Z$SuOzA&$&Iòd5.$*M: P>=Nč6F1UݷܐlKih!)J@'H#@='IpS]z5'zƚ;u!<&G`3㧫Ul t* BtИ3Kn}qs~pI@X\[|KTX`eqNsκLhpࠡɎ@3qn0tzz|Fi'I##\/U;`ՍͶL% v1򐨄s^DjgQ8@?oL 'X`DzLc{\߮򖃮tsFIԉ ΚzcI]Bc%!J RzzN~ݿOی 1 à 0` 0` 0` gONƸm?<߻2` 0` 0`%y̸ˈYiD)'@)DY%[`'uV䴲!iNN Iw\ YPc^8)W|Ó59zT/ehċYKn}$t cmthLMJΗt7S!6eJ^>cc=6PEbYoaTzlֆ_;q[9IЯחOWlkxdGUlm lA,bQH/qy}dmdnFG$catU!HEM%c IBЮt`\bMWBTx[R'] i<^Vewk~Ɵ\?*ܿN.$ϖRHüEKzXoRM6^$$T-gr=%VP7tcZ <6<$y_ ïRD-,!1$(T?tw[lho ViiͅHdڧOǨى0, .ƵE k5lu/RBUjBN= ( eMaM Z@b Bksqac(M $Ya8k ו=T®ULT 34R6Ae'wQ7O?6dmvb<n-P4rZ]@;*o'|{J^}^)OHSd%a3sqLLq̌FnoPZ@Qy3vm=M45m?崳Ց6"Bns:wÄdTP8ڔ|Yqj+_=48R܉=%)xk +9^4JjU$ZoJĐ)tVٙBf~`֫x$O#FuI\ٙS[ABF؉'c@@2x =-l D2@-r Z/cv؂O--m,4BZ4UGpEII`%0㑆mvŚ\ !<\K6RaE.*)D$rswL А DDE^b6n;}fO@@} z1S/Wr,4cW1u4%?BV u`E(_16Bi;j6۪{kǚ uU%r&ؒ*GiˉR@;Io}ƒRh7%FyApsz;Lts Ac_&3l+~k-`Ym9$^m\ZGhI$,n)6E9F7F?9Sn*4fIBҐf$qV].mK-x7N<)z-+Ғ0V>vwoL_tWLhs{;Lus? c%bz}lAoIXmB&H X6оNE?S]@[j^fD$()4*0m$ѤuLPXq-hyj}Jm T8 lWȵ;*,4* [N~G|0ݿxsw"q$AoR R5اB6#M2d䨫]ppwB+;M<ދ ta @Moq}F-d*`<oU8.V)R T(]/;à_/InO'".ZSN%JR֕ < }w\(]ASt 8V!N>#?vuf?r97Vc=5ܶ|RI zxt#QJU^n8Ǯzb#@Ka:ntINLJZ\1y4LΚHCg>]ܧp3˛s*gC۠b2f+ӛN<rIJ_}Ϥsv $RHtvI$s/0)@Bs-By@z@ϯ8fGƧ=sq&6a\Fg>?uv7}zfج6@B ogm,dczuR}<dgI'~ö^`;f~:cV8ıfn|\*O_Sz2y1G+P@3Džm4a"54FN;\Lj`Tzu|6{n0ƣPq#>o\1^ɺ i_ xbl"-~TEkoo>m$=/AG|9w\ $̡C:ytG/N}o0}8Ͽ#XM*o)~H?Fj/yc뒖]NTAzo93=dlG]&L|iŪG٪iC>rHuPBkM*@"F/st*smІYWļHWOUZր[.YM1PX?>}%eUOuWEU#ZQ,R;r/Q̻9BlԵك "I/`6h2ƣazC_H4G" X8Oڳ/>qJ5ɞh.po5ݪW1AUUuuSLQ[w>3 iۈy:n%+m(-!i Bдi!IRIJ$ =h;#9t f%5T@۽r5ܴdQxvwjFafSU]QM)iMQ"31} hOO1>|ܘI!?;!pcBy6@`ƛy5:=Ƙ1R7X݃  jA_t?hƸ0`0` 0` 0c8®)IˈI4Ƈ}mX׈_9^>bM ;3.e*~_. >O '3+׈_9^I"yB%b]ͯRs?z'mxo **~_. >O '3+׈_9VI"cЫ?D~0;mԌ޷ߛn fX="]Y%OK0gN3c#>ߪޯ_>"~X=&=F?ߏqUTDs <~}'>hUW/͟?QGME?E_UTDs <~Hpˈo٧V¾) e_lzM7}t{~S0aLj٣V68/6iSiH=Zቃg6\EF?p}8/6iSҩH= Jag6\EF?p}8/6iSҩH= Jag6\EF?qW\EF?ʰzU7}t{V~S0aLj٣V6qDhxe_lRGzg?Q/z(lqGe_lS~Gzg?Q/z(lqGe_lS~Gzg?Q/z(lqGe_lS~Gzg?Q/z(lqGe_lS~Gzg?Q/z(lqGe_lS~Gzg?Q/z(lqGe_lS~Gzg?Q/z(lqGe_lS~Gzg?Q/|R;pˈ٧V5Oc_lRGz_?Q/ |R$."fXS?͏QGMD]uDw ,~Ho."fXY͗QOMD]uDs L}8/6iS#~|r>h4ߤA?E~0qGgCV5GgO|S* C%aU# ʰ}x/6hUҩIcE~X0Oc_lqH <2(6iUҩOO1=Zd Awz{wc9|a;槫xm ̷ne]@:*ONݎ~g"}!|*披FU?4q3!襧̬S%G};Srkmoe[+Vw |8Ǟdyg3Z̛8zJ)LsDÔ22ZHfK'2,򚔪K `.)RsD2:#kNǦ4OM~r>{zc\Tm` e~,0` ~>Xu?#~~x#ƃoyƸmW819>1 0c. 0` 0` :JgvЩ9'?ߡS vЩ57cXx '}Oin X>K~M,(9߂~?a;{OwT=]*oaG oX S%ۿB?ߡS 80ko 'MxB56:? M?|0Xx `}UkA?}UkA?Aa?|1]ueuv Ֆ?SՖ?S0joot ?V['PO<V['PO~NxS~s|OcBFN.lM ;fɒ\iB;C̨TRG1dzWq%-TQd;]eۄق(SPi-USQWn ǧL j{)SNGhef343GQE)ziT`C}z|(֤-GtVHଌ-DL>?M]I{v?;H*qNmgh}T꒪K ÕԩQeWhЭwХ"bG#.fwXb\B{Ρ ^EUvJVSU40󮭪 VC/g5{vr `ʴum׌Jj/yyoKRf "t挗YRVWWeZnCGZrG8atq#Rf^] iS{RRl–^^KVZ*ÓvƖ.;,LҾfL'K*"UwgLdjddIbzU^ I(PsL1N.2}&]1^| ۪CtZOkO:HR/Pd- P )tg??ΦE}so:BZu#pRSP@Ps^~Q6Q `<  a&P!;\e\hXw 6swJvspSd_?SS">Gڪ9kTs8¯72/_߳Zȿϰtg??ΦE}Tsj?\CdC9?VחCy[ҝ&G'F=IQ~Kڪ9kTs_L*~%YSkcNӝRvjTAJah;Ovj Agpc^x.IܗI?q}gD_߳tҟUݚo?Ovjk |{\;5n_<׽g9ZNZ_>_=٫Xn0tfav Ww5jW/ȃ{yZNZ_>_=٫Xn1ҽ @ 2.w#Qw|k5#j\% ;q;`ZNZQOL}kSN>P/E1SEMIR V rv^f:/Zdw{~}ݍp`ǏL0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` [0` Սp`0` q/q|/7r_`/6?_o˓1gŏ]?\`L) ?M>dfg Ov 0` 0` 0` 0` 0cT>#SDyK yK *http://www.etsi.org/DyK yK Xhttp://portal.etsi.org/tb/status/status.aspDyK yK bhttp://portal.etsi.org/chaircor/ETSI_support.asp}DyK _Toc321904180}DyK _Toc321904181}DyK _Toc321904182}DyK _Toc321904183}DyK _Toc321904184}DyK _Toc321904185}DyK _Toc321904186}DyK _Toc321904187}DyK _Toc321904188}DyK _Toc321904189}DyK _Toc321904190}DyK _Toc321904191}DyK _Toc321904192}DyK _Toc321904193}DyK _Toc321904194}DyK _Toc321904195}DyK _Toc321904196}DyK _Toc321904197}DyK _Toc321904198}DyK _Toc321904199}DyK _Toc321904200}DyK _Toc321904201}DyK _Toc321904202}DyK _Toc321904203}DyK _Toc321904204}DyK _Toc321904205}DyK _Toc321904206}DyK _Toc321904207}DyK _Toc321904208}DyK _Toc321904209}DyK _Toc321904210}DyK _Toc321904211}DyK _Toc321904212}DyK _Toc321904213}DyK _Toc321904214}DyK _Toc321904215}DyK _Toc321904216}DyK _Toc321904217}DyK _Toc321904218}DyK _Toc321904219}DyK _Toc321904220}DyK _Toc321904221}DyK _Toc321904222}DyK _Toc321904223}DyK _Toc321904224}DyK _Toc321904225}DyK _Toc321904226}DyK _Toc321904227}DyK _Toc321904228}DyK _Toc321904229}DyK _Toc321904230}DyK _Toc321904231}DyK _Toc321904232}DyK _Toc321904233}DyK _Toc321904234}DyK _Toc321904235}DyK _Toc321904236}DyK _Toc321904237}DyK _Toc321904238}DyK _Toc321904239}DyK _Toc321904240}DyK _Toc321904241}DyK _Toc321904242}DyK _Toc321904243}DyK _Toc321904244}DyK _Toc321904245}DyK _Toc321904246}DyK _Toc321904247}DyK _Toc321904248}DyK _Toc321904249}DyK _Toc321904250}DyK _Toc321904251}DyK _Toc321904252}DyK _Toc321904253}DyK _Toc321904254}DyK _Toc321904255}DyK _Toc321904256}DyK _Toc321904257}DyK _Toc321904258}DyK _Toc321904259}DyK _Toc321904260}DyK _Toc321904261}DyK _Toc321904262}DyK _Toc321904263}DyK _Toc321904264}DyK _Toc321904265}DyK _Toc321904266}DyK _Toc321904267}DyK _Toc321904268}DyK _Toc321904269}DyK _Toc321904270}DyK _Toc321904271}DyK _Toc321904272}DyK _Toc321904273}DyK _Toc321904274}DyK _Toc321904275}DyK _Toc321904276}DyK _Toc321904277}DyK _Toc321904278}DyK _Toc321904279}DyK _Toc321904280}DyK _Toc321904281}DyK _Toc321904282}DyK _Toc321904283}DyK _Toc321904284}DyK _Toc321904285}DyK _Toc321904286}DyK _Toc321904287}DyK _Toc321904288}DyK _Toc321904289}DyK _Toc321904290}DyK _Toc321904291}DyK _Toc321904292}DyK _Toc321904293}DyK _Toc321904294}DyK _Toc321904295}DyK _Toc321904296}DyK _Toc321904297}DyK _Toc321904298}DyK _Toc321904299}DyK _Toc321904300}DyK _Toc321904301}DyK _Toc321904302}DyK _Toc321904303}DyK _Toc321904304}DyK _Toc321904305}DyK _Toc321904306}DyK _Toc321904307}DyK _Toc321904308}DyK _Toc321904309}DyK _Toc321904310}DyK _Toc321904311}DyK _Toc321904312}DyK _Toc321904313}DyK _Toc321904314}DyK _Toc321904315}DyK _Toc321904316}DyK _Toc321904317}DyK _Toc321904318}DyK _Toc321904319}DyK _Toc321904320}DyK _Toc321904321}DyK _Toc321904322}DyK _Toc321904323}DyK _Toc321904324}DyK _Toc321904325}DyK _Toc321904326}DyK _Toc321904327}DyK _Toc321904328}DyK _Toc321904329}DyK _Toc321904330}DyK _Toc321904331}DyK _Toc321904332}DyK _Toc321904333}DyK _Toc321904334}DyK _Toc321904335}DyK _Toc321904336}DyK _Toc321904337}DyK _Toc321904338}DyK _Toc321904339}DyK _Toc321904340}DyK _Toc321904341}DyK _Toc321904342}DyK _Toc321904343}DyK _Toc321904344}DyK _Toc321904345}DyK _Toc321904346}DyK _Toc321904347}DyK _Toc321904348}DyK _Toc321904349}DyK _Toc321904350}DyK _Toc321904351}DyK _Toc321904352}DyK _Toc321904353}DyK _Toc321904354}DyK _Toc321904355}DyK _Toc321904356}DyK _Toc321904357}DyK _Toc321904358}DyK _Toc321904359}DyK _Toc321904360}DyK _Toc321904361}DyK _Toc321904362}DyK _Toc321904363}DyK _Toc321904364}DyK _Toc321904365}DyK _Toc321904366}DyK _Toc321904367}DyK _Toc321904368}DyK _Toc321904369}DyK _Toc321904370DyK yK Hhttp://webapp.etsi.org/IPR/home.aspDyK yK Bhttp://docbox.etsi.org/ReferenceDyK yK Nhttp://www.w3.org/TR/xml11yX;H,]ą'cDyK yK `http://www.w3.org/TR/REC-xml-names/yX;H,]ą'cDyK yK Zhttp://www.w3.org/TR/xmlschema-0yX;H,]ą'cDyK yK Zhttp://www.w3.org/TR/xmlschema-1yX;H,]ą'cDyK yK Zhttp://www.w3.org/TR/xmlschema-2yX;H,]ą'cDyK yK Phttp://www.w3.org/TR/soap12yX;H,]ą'cDyK REF_ES201873_1}DyK REF_ITU_TX6945DyK *http://www.w3.org/2001/XMLSchema-instanceyK lhttp://www.w3.org/2001/XMLSchema-instanceyX;H,]ą'cDyK "fig_UsersViewOfCoreAndPresFormatsDd $ b  c $A? ?3"`?2Es }!hO(`!s }BA0Z(x՜ \uǟyNAMaT.3Eo?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~V U Root Entry  F[Data 2WordDocument ObjectPool[[_1220274101 F[[1TableCompObjnObjInfoD@D StandardCJ_HaJmH sH tH JAJ Absatz-Standardschriftart\i\ Normale Tabelle :V 44 la 0k0 Keine Liste 8O8 FP5$7$8$9DH$CJaJCPe} CPe}  @V([h}$^o^^^^^v:^P^P^'(Z[gh|}0000000 00 0000000000@@8@x  (  \B @ S D"h  S  "  \B  S D"hB  s *D"h  S " hB  s *D"hB   s *D"hB   s *D"\B  @ S D"b   C  "  hB   s *D" hB @ s *D" h  S "  bB  c $D" h  S " n  S #" ` n  S #" ` hB  s *D"bB  c $D"bB  c $D"b  C " hB  s *D"h  S " B S  ? R.bntb##t$ t#r#t r tBBtCtRbCt tRrRt2rt"t  t "7"t  R t b  t  ttRb tbRRt RRRtr( t #R#t\_\f&[\\fh{\\hH^&;+fK|S@"@UnknownGz Times New Roman5Symbol3& z Arial"0hff!R42QHX?|2Stephanie Guenotina   FMicrosoft Office Word-Grafik MSWordDocWord.Picture.89qOh+'0$0D \h    ETSI ES 201 873-9 V4.4.1,Methods for Testing and Specification (MTS)CMLMTS,WordDocument .SummaryInformation( DocumentSummaryInformation81Table3!` bjbj\\.>>jjj X( ( ( ( ( $h8Pj( ( iii(( j( iiihji(  S<i0ijiji0iMXXXXXX~  Tabular format The shaded boxes are not defined in this document XSD Types Graphical format Other Types & Values n ASN.1 Types & Values TTCN-3 User Presentation formatn TTCN-3 Core Language &'(Z[\]efgh{|}긩qbZNqbZh|OJQJmH sH h|mH sH h|CJH*OJQJmH sH h|CJOJQJmH sH h|h|5mH sH hfK5CJOJQJmH sH hhH5CJOJQJmH sH hS5CJOJQJmH sH h^&5CJOJQJmH sH h|6CJOJQJh|5mH sH h|5CJOJQJmH sH h|"jh|CJUmHnHsH u'(Z[gh|}h|h|mH sH ,1hN N!"~##R$;% Oh+'0t  0 < HT\dlStephanie Guenot Normal.dotina2Microsoft Office Word@@R(@R(՜.+,0 hp  ETSI\  TitelTitle      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoqrstuvwxyz{|}~m5isoۮ)PUGsICL1VԴ'&hZZZS[5,ݱ&ǥn2I {do߬=3&[{M֪1uOoofXzʿ14WTejC9#t7KZ***O]62UT8AcNV[c~ᆓ69N6|+j\5.M]{ۥoN7wUrOq 0>+mv*[-kayF6)ܷoH-?bL4#v{c7nkVZS8iҿUTߺ(zGc ӧbޛ=jbڨH""831*]qWSwt-~n[+ڪ/Z ̶ N`|ʴ21DZ~Ѣ,h%./sy9xW5r.%_{ls1zAZ*}Auǣ0U +bXp|ct6l~d;-|7rDwpTq}[<;s Cd7zN pp SDB8-bV$n B R222edK( yf9Gp]Nflr+1c*rq)'{Uq3X]܍\f_7xy<,vcjEp>̰]Y\פը`{{{Oyٰ]kgُ^)z{ճ?xrWβץG=}^ޭ5)Ab./eges߄MxEiMx juQ̟p~,_-.}fh{`7N;;pbffg1ɘ:)=~BmvupqCGm|bCY_* #F6 Akd!]M4%ۄXEĉč$E6Zi%f'7L"6tVBKf-صiۂL -d 8pF+] Y̬8q;D[î/N?~dKG-2ŮN/^dzMUzC IM#FvCa0 vq$3`!a 8ٸdɎc <$f.'7LJda 8pFv*S`0Dv8d&g\ܹd}afEf6ǔ3y92ϑ}g`Bv p. "E%vpV&*:^V[w9dW*=ٽw dߠuX/l8kqגYG5»#G=:ޅ 0n3fd}GXݧ8;qwIS:>`g;v2;~KW8qO+: _0gg>2dPza- dNok8c=JJϏO~9{?(]!N!n!"?(=%2PƬ] N n ReJ@7& & &]|'{ wkUСnx ^yC}>dO;; BƝSO]} 4 [PY 2d*= FDF$ۘFP`. ' 7L8n9{pZ ӂ=t4fƑ'Li'g#nG2v=2KbH&l[^>v=qz"ӋlO:{Ru۝L Jσvq"3@:dPz2Fdf$;!`n8pdɎPz&ŝH&l.aav98ٸ9drȎSz*|_(=߲;wd#{okf9{q_+=? ?;s,3d3$]N!n"?(=s2d/o(¬])N)n)2(=0Z1X >c삝;1kUWAf}Eևo%e.'7L ٺJO#1H((2Qd#h "؅㆓ Pi.îN ܖdZmA=\h,]n>| {fg7n2Qz G9{1G8C;sd)= )"[Hi^(`vI'ɜ$[.+)-%SJ p^8ǬYg=*Nn ~ʙ]aw 2WȖ+=fnf>c``a3f> 3gvN8NNdɺo $@?%KO Bم㆓ 'FG(Vfpp*=Mpqē)4bEƉƍ&M6Fi-aD&l"mЊY8-q[I J*tc'7L ttBf:tL&lЗ]?'ۏG~v8d'[&N&p:`0vq&3Pg0]6Nnt1CF"3CJTa83pgAv:`0dvp&N"3=; nW_uon]h,ȄQ<&;;=x>\_a~!xUy7޳_xɨ<7^xln?#4.#> ᆵ<Mc, -w{ɻ{ؿ)kvG>sk':0s^jv iTﺓ45t7vp|2MdFuu|ڸ̬1V17)$?DP.Of86*sPF>?w}k:rB۸U=={I={^s=7e* X9f>~p$C+{VޣMMՌ&oJvDwpy~9n3/f0C=HB!""-N +9[@)P® LR:Jp9v8ŸdΑ=&\cWS<̋;ʬr+d^Uz =Fa\p̋;peי YWF.'.@tP;?_\?2~dk+=Bp2dP!]0N0n0+.'xtAS!Y h21dc6B"$mɴ%DG"Z3k.'7L+nBwv)8)=ȤM;t0Kf7L2.{-V[k lh! 0A0p\\u3`Ƽ°ml!ۨo]_|#X >0vC7wz#~K7 @= Vz}am$گw~s ݧmخf9{V4@Úk#㳗r+B OBef;87SsL@FdnY#r'uz_oy-2TǖT/|떟{ ZiQ=e2oľHo[Ãu_["¸دY,z*}A;;2s3aGW3oUW Bvʫ#^^խ~UUךu*^SߴǤ6V^}ֻ(SNG?2Ut?d0ߓQDyK clause_BuiltInDataTypesDyK clause_Annex_XSDDyK clause_BuiltInDataTypesDyK clause_StringTypesDyK clause_IntegerTypesDyK clause_FloatTypesDyK clause_MappingOfFacetsDyK clause_MappingXSDComponentsDyK table_OverviewOfXSDConstructsDyK 'clause_AttributesOfXSDCompDeclarationsDyK clause_Substitution$$IfP!vh5 5#v #v:V l0v$6,5 544yt>"T$$IfP!vh5 5#v #v:V l0v$6,5 544yt>"T$$IfP!vh5 5#v #v:V l0v$6,5 544yt>"T$$IfP!vh5 5#v #v:V l0v$6,5 544yt>"T$$IfP!vh5 5#v #v:V l0v$6,5 544yt>"T$$IfP!vh5 5#v #v:V l0v$6,5 544yt>"T$$IfP!vh5 5#v #v:V l0v$6,5 544yt>"TDyK (clause_NameConversion_IdentifierConversDyK clause_Attributes_FormDyK clause_Attributes_FormDyK clause_Attributes_blockDyK clause_Substitution_ElementsDyK clause_Substitution_TypesDyK clause_Attributes_nillableDyK clause_Substitution_Types5DyK *http://www.w3.org/2001/XMLSchema-instanceyK lhttp://www.w3.org/2001/XMLSchema-instanceyX;H,]ą'cDyK clause_DefinitionsDyK yK lhttp://www.w3.org/2001/XMLSchema-instanceyX;H,]ą'cDyK (clause_NameConversion_IdentifierConversDyK clause_OrderOfTheMapping}DyK ref_ITU_TX680DyK REF_ES201873_1DyK REF_ES202781_ConfAndDeploymentDyK REF_ES202786_ContSignalsDyK yK Jhttp://www.example.org/1yX;H,]ą'c$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_AttributeComponent$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W55/ / 44yt2~TDyK clause_ElementComponent$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W55/ / 44yt2~TDyK clause_ElementComponent$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W55/ / 44yt2~TDyK "clause_Substitution_Elements_Head $$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W55/ / / / 44yt2~TDyK clause_ComplexTypeComponents$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W55/ / 44yt2~TDyK clause_Substitution_Types$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W55/ / 44yt2~TDyK clause_BuiltInDataTypes$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544gFyt2~TDyK clause_Attributes_use$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK )clause_AttributeComponent_attributeGroup$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_GroupComponents$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK #clause_ComplexType_AttributeGroups$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~T$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK "clause_Attributes_processContents$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_IdentityConstraint$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~T$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~T$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W55/ / 44yt2~TDyK clause_SimpleTypeComponents$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W55/ / 44yt2~TDyK clause_Substitution_Types$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W55/ / 44yt2~TDyK clause_SchemaComponent$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~T$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~T$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~T$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~T$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_Facets_Length$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_Facets_minLength$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_Facets_maxLength$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_Facets_pattern$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_Facets_enumeration$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_Facets_WhiteSpace$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_Facets_MaxInclusive$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_Facets_MaxExclusive$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_Facets_MinExclusive$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_Facets_MinInclusive$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_Facets_totalDigits$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~T$$IfP!vh5 55d5i#v #v#vd#vi:V l0T"655W5544yt2~TDyK clause_TimeTypesDyK clause_Annex_XSD{DyK  table_FacetsDyK #clause_Facets_transparentlyRelayed{DyK  table_Facets$$If*!v h55555$5.5555  5 5 5 #v#v5#v#v$#v.#v#v #v #v :V F406+,, 5555555 5 / 444F / f4ytnTkdV$$IfTF4   :Xv"%`06000044F / af4ytnT$$If*!v h55555$5.5555  5 5 5 #v#v5#v#v$#v.#v#v #v #v :V F406+, 5555555 5 / 444F / f4ytnTkd$$IfTF4   :Xv"%06000044F / af4ytnTe$$If*!v h55555$5.5555  5 5 5 #v#v5#v#v$#v.#v#v #v #v :V F406, 5555555 5 444Ff4ytnT|kd$$IfTF4   :Xv"%06000044Faf4ytnTe$$If*!v h55555$5.5555  5 5 5 #v#v5#v#v$#v.#v#v #v #v :V F406, 5555555 5 444Ff4ytnT|kd$$IfTF4   :Xv"%06000044Faf4ytnTe$$If*!v h55555$5.5555  5 5 5 #v#v5#v#v$#v.#v#v #v #v :V F406, 5555555 5 444Ff4ytnT|kdv$$IfTF4   :Xv"%06000044Faf4ytnTe$$If*!v h55555$5.5555  5 5 5 #v#v5#v#v$#v.#v#v #v #v :V F406, 5555555 5 444Ff4ytnT|kd[$$IfTF4   :Xv"%06000044Faf4ytnTe$$If*!v h55555$5.5555  5 5 5 #v#v5#v#v$#v.#v#v #v #v :V F406, 5555555 5 444Ff4ytnT|kd@$$IfTF4   :Xv"%06000044Faf4ytnTDyK clause_Facets_WhiteSpace$$If*!vh5&#v&:V F406,5444Ff4ytuTDyK clause_SequenceTypesDyK "clause_Attributes_DefaultAndFixedDyK "clause_Attributes_DefaultAndFixed$$If*!vh55E #v#vE :V F44 t0655E 4f4yt6"IT$$If*!vh55E #v#vE :V F44 t0655E 4f4yt6"IT$$If*!vh55E #v#vE :V F44 t0655E 4f4yt6"IT$$If*!vh55E #v#vE :V F44 t0655E 4f4yt6"IT$$If*!vh55E #v#vE :V F44 t0655E 4f4yt6"IT$$If*!vh55E #v#vE :V F44 t0655E 4f4yt6"IT$$If*!vh55E #v#vE :V F44 t0655E 4f4yt6"IT$$If*!vh55E #v#vE :V F44 t0655E 4f4yt6"IT$$If*!vh55E #v#vE :V F44 t0655E 4f4yt6"IT$$If*!vh55E #v#vE :V F44 t0655E 4f4yt6"IT$$If*!vh55E #v#vE :V F44 t0655E 4f4yt6"IT$$If*!vh55E #v#vE :V F44 t0655E 4f4yt6"IT$$If*!vh5#v:V F44 t0654f4yt:T$$If*!vh55#v#v:V F t06554ytw1#T$$If*!vh55#v#v:V F t06554ytw1#T$$If*!vh55#v#v:V F t06554ytw1#T$$If*!vh55#v#v:V F t06554ytw1#T$$If*!vh55#v#v:V F t06554ytw1#T$$If*!vh55#v#v:V F t06554ytw1#T$$If*!vh55#v#v:V F t06554ytw1#TDyK (clause_NameConversion_IdentifierConvers{DyK  clause_QNameDyK $clause_StringTypes_NormalizedStringDyK $clause_StringTypes_NormalizedStringDyK clause_StringTypes_LanguageDyK clause_StringTypes_NameDyK clause_StringTypes_NCNameDyK clause_Facets_MaxInclusiveDyK clause_Facets_MinInclusiveDyK clause_Facets_MinExclusiveDyK clause_Facets_MinInclusiveDyK 'item_clauseFacets_MinExclusive_integerDyK clause_Facets_MaxInclusiveDyK clause_Facets_MaxInclusiveDyK clause_Facets_MinInclusiveDyK clause_Facets_MinExclusive}DyK _Ref313868452}DyK _Ref313868598{DyK  table_Facets{DyK  table_Facets{DyK  table_FacetsDyK clause_MappingOfFacets{DyK  table_FacetsDyK clause_Annex_XSD{DyK  table_FacetsDyK yK Hhttp://www.example.org/yX;H,]ą'cDyK yK Rhttp://www.organization.org/yX;H,]ą'cDyK yK Hhttp://www.example.org/yX;H,]ą'cDyK yK Rhttp://www.organization.org/yX;H,]ą'cDyK clause_AnyanyAnyattributeDyK #table_Attributes_of_XSD_componentsDyK $table_Attributes_of_XSD_components2DyK #table_Attributes_of_XSD_componentsDyK $table_Attributes_of_XSD_components2L$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 / 4 / af4ytBT1kd $$IfTF4 Y -By t06$$$$444l / af4ytBTDyK clause_Attributes_Id&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkd$$IfTF4 Y -By t06$$$$444laf4ytBTDyK clause_Attributes_final&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkdx$$IfTF4 Y -By t06$$$$444laf4ytBTDyK clause_Attributes_name&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkdJ$$IfTF4 Y -By t06$$$$444laf4ytBTDyK %clause_Attributes_minOccursMaxOccurs&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkd8$$IfTF4 Y -By t06$$$$444laf4ytBTDyK %clause_Attributes_minOccursMaxOccurs&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkd& $$IfTF4 Y -By t06$$$$444laf4ytBTDyK clause_Attributes_Ref&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkd#$$IfTF4 Y -By t06$$$$444laf4ytBTDyK clause_Attributes_abstract&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkd'$$IfTF4 Y -By t06$$$$444laf4ytBTDyK clause_Attributes_block&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkd+$$IfTF4 Y -By t06$$$$444laf4ytBTDyK "clause_Attributes_DefaultAndFixed&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkd/$$IfTF4 Y -By t06$$$$444laf4ytBTDyK "clause_Attributes_DefaultAndFixed&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkdt3$$IfTF4 Y -By t06$$$$444laf4ytBTDyK clause_Attributes_Form&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkdF7$$IfTF4 Y -By t06$$$$444laf4ytBTDyK clause_Attributes_type&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkd;$$IfTF4 Y -By t06$$$$444laf4ytBTDyK clause_Attributes_mixed&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkd>$$IfTF4 Y -By t06$$$$444laf4ytBTDyK clause_Attributes_nillable&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkdB$$IfTF4 Y -By t06$$$$444laf4ytBTDyK clause_Attributes_use&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkdF$$IfTF4 Y -By t06$$$$444laf4ytBTDyK $clause_Attributes_substitutionGroup&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkdJ$$IfTF4 Y -By t06$$$$444laf4ytBTDyK "clause_Attributes_processContents&$$If !v h55M5[55f55f55 $#v#vM#v[#v#vf#v#vf#v#v $:V F4 t06, 5555 4af4ytBTkdjN$$IfTF4 Y -By t06$$$$444laf4ytBT$$If !vh5 #v :V F4 t065 4af4ytBT$$If0!v h555555 55_5 5 #v#v#v#v#v#v #v#v_#v #v :V l t06,,, 555555 55_5 5 / /  4 / aytw1#TLkdGR$$IfTl {2 34CA"& _ t06((((444l / aytw1#TDyK clause_Attributes_IdY$$If0!v h555555 55_5 5 #v#v#v#v#v#v #v#v_#v #v :V l t06, 555555 55_5 5 4aytw1#T4kdV$$IfTl {2 34CA"& _ t06((((444laytw1#TDyK clause_Attributes_nameY$$If0!v h555555 55_5 5 #v#v#v#v#v#v #v#v_#v #v :V l t06,555555 55_5 5 4aytw1#T4kdZ$$IfTl {2 34CA"& _ t06((((444laytw1#TDyK %clause_Attributes_minOccursMaxOccursY$$If0!v h555555 55_5 5 #v#v#v#v#v#v #v#v_#v #v :V l t06,555555 55_5 5 4aytw1#T4kd_$$IfTl {2 34CA"& _ t06((((444laytw1#TDyK %clause_Attributes_minOccursMaxOccursY$$If0!v h555555 55_5 5 #v#v#v#v#v#v #v#v_#v #v :V l t06,555555 55_5 5 4aytw1#T4kdSc$$IfTl {2 34CA"& _ t06((((444laytw1#TDyK clause_Attributes_RefY$$If0!v h555555 55_5 5 #v#v#v#v#v#v #v#v_#v #v :V l t06,555555 55_5 5 4aytw1#T4kdqg$$IfTl {2 34CA"& _ t06((((444laytw1#TDyK clause_Attributes_RefDyK (clause_NameConversion_IdentifierConversDyK clause_ElementComponentDyK clause_ComplexContent_ChoiceDyK )clause_ComplexContent_Sequence_minMaxOccDyK clause_ComplexContent_AllDyK (clause_NameConversion_IdentifierConvers$$IfP!vh555 56 5`#v#v#v #v6 #v`:V l0#6,,555 56 5`/ 44ytT$$IfP!vh555 56 5`#v#v#v #v6 #v`:V l0#6,,555 56 5`/ / / 44ytTs$$IfP!vh555 56 5`#v#v#v #v6 #v`:V l4 20#6+,,555 56 5`44p2ytT)Tkdq$$IfTl4rtJ 0f#` 6 ` 20#644lap2ytT)Ts$$IfP!vh555 56 5`#v#v#v #v6 #v`:V l4 20#6+,,555 56 5`44p2ytT)Tkdt$$IfTl4rtJ 0f#  6 ` 20#644lap2ytT)Ts$$IfP!vh555 56 5`#v#v#v #v6 #v`:V l4 20#6+,,555 56 5`44p2ytT)TkdCx$$IfTl4rtJ 0f#  6 ` 20#644lap2ytT)T$$IfP!vh555 56 5`#v#v#v #v6 #v`:V l40#6+,,555 56 5`44ytT)T$$IfP!vh555 56 5`#v#v#v #v6 #v`:V l40#6+,,555 56 5`44ytT)T $$IfP!vh555 56 5`#v#v#v #v6 #v`:V l40#6+,,555 56 5`/ 44ytT)Tw$$IfP!vh555 56 5`#v#v#v #v6 #v`:V l40#6+,,555 56 5`/ / / / / 44p2ytmDTw$$IfP!vh555 56 5`#v#v#v #v6 #v`:V l40#6+,,555 56 5`/ / / / / 44p2yt)Tw$$IfP!vh555 56 5`#v#v#v #v6 #v`:V l40#6+,,555 56 5`/ / / / / 44p2yt)Tw$$IfP!vh555 56 5`#v#v#v #v6 #v`:V l40#6+,,555 56 5`/ / / / / 44p2ytT)TDyK clause_NamespacesDyK table_Attributes_FormDyK clause_Namespacesb$$If9!vh55n5f555 #v#vn#vf#v#v#v :V U0%,,55n5f555 / / 44Up<ytoT$$If9!vh55n5f5555#v#vn#vf#v#v#v#v:V U0%,,55n5f5555/  / 44UpFytoTkd$$IfTU֞ w'%nf0%444UapFytoT$$If9!vh55n5f5555#v#vn#vf#v#v#v#v:V U4 F0%+,55n5f555544UpFytoTdkd$$IfTU4֞ w'%nf F0%444UapFytoTr$$If9!vh55n5f5555#v#vn#vf#v#v#v#v:V U40%+++,55n5f555544UpFytoT kd>$$IfTU4֞ w'%nf0%444UapFytoTr$$If9!vh55n5f5555#v#vn#vf#v#v#v#v:V U40%+++,55n5f555544UpFytoT kd$$IfTU4֞ w'%nf0%444UapFytoTr$$If9!vh55n5f5555#v#vn#vf#v#v#v#v:V U40%+++,55n5f555544UpFytoT kd>$$IfTU4֞ w'%nf0%444UapFytoT$$If9!vh55n5f5555#v#vn#vf#v#v#v#v:V U4 <0%+++,55n5f555544UpFytoTXkd$$IfTU4֞ w'%nf <0%444UapFytoT$$If9!vh55n5f5555#v#vn#vf#v#v#v#v:V U4 <0%+++,55n5f555544UpFytoTXkdڝ$$IfTU4֞ w'%nf <0%444UapFytoT$$If9!vh55n5f5555#v#vn#vf#v#v#v#v:V U4 <0%+++,55n5f555544UpFytoTXkd$$IfTU4֞ w'%nf <0%444UapFytoTDyK clause_Namespaces$$If9!vh5%#v%:V U40%,5%44Uf4p ytoTDyK clause_Attributes_RefDyK !clause_ComplexTypes_MixedContentDyK clause_SubstitutionDyK "clause_Substitution_Elements_HeadDyK clause_SubstitutionDyK "clause_Substitution_Elements_HeadDyK clause_SubstitutionDyK clause_Substitution_TypesDyK (clause_NameConversion_IdentifierConversDyK )clause_ComplexTypes_DerivedByRestrictionDyK clause_SubstitutionDyK clause_SubstitutionDyK clause_MappinfSchemasGeneralDyK clause_AnyanyAnyattributeDyK clause_NamespacesDyK (clause_NameConversion_IdentifierConversDyK clause_Attributes_nillableDyK (clause_NameConversion_IdentifierConversDyK %clause_Attributes_minOccursMaxOccursDyK clause_Attributes_nillableDyK %clause_Attributes_minOccursMaxOccursDyK clause_Attributes_nillableDyK (clause_NameConversion_IdentifierConversDyK #clause_ComplexType_AttributeGroupsDyK !clause_ComplexType_SimpleContentDyK #clause_ComplexType_AttributeGroupsDyK 'clause_AttributesOfXSDCompDeclarationsDyK clause_ComplexTypeComponentsDyK clause_BuiltInDataTypesDyK clause_MappingOfFacetsDyK #clause_SimpleTypeComp_DerivByUnionDyK (clause_NameConversion_IdentifierConversDyK clause_EncInstr_useTypeDyK (clause_NameConversion_IdentifierConversDyK clause_ElementComponentDyK 'clause_AttributesOfXSDCompDeclarationsDyK %clause_Attributes_minOccursMaxOccursDyK clause_ComplexTypeComponentsDyK #clause_ComplexType_AttributeGroupsDyK clause_ComplexTypeComponentsDyK clause_ComplexTypeComponentsDyK #clause_ComplexType_AttributeGroupsDyK clause_BuiltInDataTypesDyK clause_ComplexTypeComponentsDyK #clause_ComplexType_AttributeGroupsDyK clause_ComplexContent_ChoiceDyK clause_ComplexContent_SequenceDyK clause_ComplexContent_ChoiceDyK clause_ComplexContent_SequenceDyK )clause_ComplexContent_Sequence_minMaxOccDyK )clause_ComplexContent_Sequence_minMaxOccDyK clause_ComplexTypeComponentsDyK clause_Attributes_useDyK clause_ComplexContent_AllDyK 'clause_AttributesOfXSDCompDeclarationsDyK clause_GroupComponentsDyK clause_GroupComponentsDyK clause_GroupComponentsDyK clause_GroupComponentsDyK clause_GroupComponentsDyK clause_GroupComponentsDyK clause_GroupComponentsDyK clause_GroupComponentsDyK clause_GroupComponentsDyK clause_ComplexTypeComponentsDyK !clause_ComplexTypes_MixedContentDyK %clause_Attributes_minOccursMaxOccursDyK %clause_Attributes_minOccursMaxOccursDyK (clause_NameConversion_IdentifierConversDyK clause_ComplexTypeComponentsDyK clause_ComplexContent_ChoiceDyK clause_ComplexContent_ChoiceDyK clause_ComplexContent_ChoiceDyK clause_ComplexContent_ChoiceDyK clause_ComplexContent_SequenceDyK clause_AnyanyAnyattributeDyK (clause_ComplexContent_Sequence_elementsDyK #clause_ComplexContent_Sequence_anyDyK )clause_ComplexContent_Sequence_minMaxOccDyK clause_ComplexTypeComponentsDyK clause_ComplexTypeComponentsDyK (clause_NameConversion_IdentifierConversDyK clause_ComplexTypeComponentsDyK &clause_ComplexContent_Choice_sequenceDyK (clause_ComplexContent_Sequence_SequenceDyK clause_ComplexContent_ChoiceDyK clause_ComplexContent_SequenceDyK clause_ComplexTypeComponentsDyK &clause_ComplexContent_Choice_sequenceDyK clause_AnyanyAnyattributeDyK %clause_Attributes_minOccursMaxOccursDyK %clause_Attributes_minOccursMaxOccursDyK (clause_NameConversion_IdentifierConversDyK clause_ComplexTypeComponentsDyK clause_ComplexContent_SequenceDyK clause_ComplexContent_ChoiceDyK clause_ComplexTypeComponentsDyK %clause_AttributeComponent_attributesDyK (clause_NameConversion_IdentifierConversDyK clause_Attributes_useDyK clause_ComplexTypeComponentsDyK clause_ComplexContent_AllDyK clause_ComplexContent_AllDyK clause_ComplexContent_All%DyK  yK http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/yX;H,]ą'celement-any#element-any%DyK  yK http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/yX;H,]ą'celement-any#element-anyIDyK  yK http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/yX;H,]ą'c*element-anyAttribute#element-anyAttribute%DyK  yK http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/yX;H,]ą'celement-any#element-anyDyK clause_ComplexTypeComponentsDyK clause_ComplexContent_ChoiceDyK clause_ComplexContent_SequenceDyK (clause_NameConversion_IdentifierConversDyK clause_EncInstr_anyElementDyK "clause_Attributes_processContentsDyK %clause_Attributes_minOccursMaxOccursDyK yK Jhttp://www.organization.org/wildcardIDyK  yK http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/yX;H,]ą'c*element-anyAttribute#element-anyAttributeDyK clause_ComplexTypeComponentsDyK clause_ComplexContent_ChoiceDyK clause_ComplexContent_SequenceDyK (clause_NameConversion_IdentifierConversDyK (clause_NameConversion_IdentifierConversDyK clause_EncInstr_anyAttributesIDyK  yK http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/yX;H,]ą'c*element-anyAttribute#element-anyAttributeDyK clause_EncInstr_anyAttributesDyK clause_Attributes_useIDyK  yK http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/yX;H,]ą'c*element-anyAttribute#element-anyAttributeDyK "clause_Attributes_processContentsDyK clause_EncInstr_anyAttributesDyK %http://www.example.org/ttcn/wildcardyK Xhttp://www.example.org/wildcardyX;H,]ą'cDyK %http://www.example.org/ttcn/wildcardyK Xhttp://www.example.org/wildcardyX;H,]ą'cDyK %http://www.example.org/ttcn/wildcardyK Xhttp://www.example.org/wildcardyX;H,]ą'cDyK clause_Substitution_ElementsDyK clause_Substitution_TypesDyK clause_Substitution_ElementsDyK clause_SimpleTypeComponentsDyK clause_ComplexTypeComponentsDyK clause_ElementComponentDyK %clause_Substitution_Elements_MembersDyK clause_Substitution_TypesDyK clause_SubstitutionDyK (clause_NameConversion_IdentifierConversDyK (clause_NameConversion_IdentifierConversDyK clause_ElementComponentDyK %clause_Substitution_Elements_MembersDyK clause_Attributes_abstractDyK clause_Attributes_blockDyK clause_Attributes_blockDyK "http://www.example.org/SimpleCaseyK \http://www.example.org/SimpleCaseyX;H,]ą'c-DyK (http://www.example.org/BlockRestrictionyK hhttp://www.example.org/BlockRestrictionyX;H,]ą'c DyK  http://www.example.org/BlockAllyK Xhttp://www.example.org/BlockAllyX;H,]ą'c DyK  http://www.example.org/BlockAllyK Xhttp://www.example.org/BlockAllyX;H,]ą'cDyK clause_ElementComponentDyK $clause_Attributes_substitutionGroupDyK clause_SubstitutionDyK (clause_NameConversion_IdentifierConversDyK clause_BuiltInDataTypesDyK (clause_NameConversion_IdentifierConversDyK clause_SimpleTypeComponentsDyK clause_ComplexTypeComponentsDyK clause_Attributes_abstractDyK clause_Attributes_blockDyK clause_Attributes_blockwDyK  clause_anywDyK  clause_anyDyK table_MappingNSwildcards$$If!vh5A5 5 5t#vA#v #v #vt:V F406+,5[5d55/ 444F / af4ytnT$$If!vh5A5 5 5t#vA#v #v #vt:V F406+,5[5d55/ 444F / af4ytnT$$If!vh5A5 5 5t#vA#v #v #vt:V F406+,5[5d55/ 444F / af4ytnT$$If!vh5 5 5t#v #v #vt:V F406,555444Faf4ytnT$$If!vh5 5 5t#v #v #vt:V F406,555444Faf4ytnT$$If!vh5 5 5t#v #v #vt:V F406,555444Faf4ytnT$$If!vh5 5 5t#v #v #vt:V F406,555/ 444Faf4ytnTDyK clause_anyAttributeDyK table_MappingNSwildcardsDyK clause_anyAttributeDyK clause_anyAttributeDyK clause_anyAttributeDyK clause_DefinitionsDyK clause_Schema_ControNamespaceDyK clause_EncInstr_untaggedDyK clause_EncInstr_noTypeDyK clause_EncInstr_nameAsDyK clause_Facets_enumerationDyK clause_Facets_enumerationDyK )clause_ComplexType_ContSimpleCont_ExtendDyK clause_GroupComponentsDyK clause_EncInstr_useTypeDyK clause_Schema_ControNamespaceDyK #clause_SimpleTypeComp_DerivByUnionDyK clause_Substitution_TypesDyK "clause_SimpleTypeComp_DerivByListDyK #clause_SimpleTypeComp_DerivByUnionDyK clause_Substitution_TypesDyK clause_EncInstr_anyElementDyK clause_EncInstr_anyAttributesDyK clause_BuiltInDataTypes{DyK  table_FacetsDyK clause_Schema_ControNamespaceDyK yK lhttp://www.w3.org/2001/XMLSchema-instanceyX;H,]ą'cDyK yK lhttp://www.w3.org/2001/XMLSchema-instanceyX;H,]ą'cDyK clause_MappinfSchemasGeneralDyK #clause_EncInstr_XMLEncodeAttributen$$If!vh56&#v6&:V 46&56&/ 44 f4ytXT$$If!vh5545##v#v4#v#:V 46&5545#/ /  44 f4ytXT$$If!vh5545##v#v4#v#:V 46&5545#/ /  44 f4ytXT$$If!vh5545##v#v4#v#:V 46&5545#/ /  44 f4ytXT$$If!vh5545##v#v4#v#:V 46&5545#/ /  44 f4ytp"T$$If!vh5545##v#v4#v#:V 46&5545#/ /  44 f4yteT$$If!vh5545##v#v4#v#:V 46&5545#/ /  44 f4yteT$$If!vh5545##v#v4#v#:V 46&5545#/ /  44 f4ytlTppppppppph0L@L V/Normal5$7$8$9DH$_HmH sH tH @ V/ Heading 1D$$n$d 5$7$8$9D@&H$N ^n`CJ$OJQJ_HtH R@R V/ Heading 2$d@&N CJ mHsH:@!: V/ Heading 3 x@&CJF@1F V/ Heading 4v@&^`vCJF@AF V/ Heading 5[@&^`[CJ2@2 V/ Heading 6@&2@2 V/ Heading 7@&B@B V/ Heading 8@&^`2 @2 V/ Heading 9 @&DA@D V/Default Paragraph FontRi@R  Table Normal4 l4a (k@(V/0No List BOB A5 Char Char4CJ$OJQJ_HtH >O> A5 Char Char3CJ OJQJtH 8OQ8 V/H6?@& ^`?CJ6@1"6V/pTOC 9v^`v>@A2>V/pTOC 8 {^ `{5|@B|V/pTOC 1<$ % 7x1$5$7$8$9DH$]^7`CJ_HmHnHsH tH u:O:V/EQ$ p# mHnHu Oa V/ZGSM^@r^V/Header1$5$7$8$9DH$"5CJOJQJ_HmHnHtH uPOPc< Char Char2"5CJOJQJ_HmHnHtH ubObV/ZD=&P#$1$5$7$8$9DH$#CJ OJQJ_HmHnHsH tH u6@6V/pTOC 5[^`[6@6V/pTOC 4v^`v6@6V/pTOC 3n^n`>@A>V/pTOC 2S^S`CJ6 @q6~V/Footer$a$6sHH&H V/Footnote Reference 5CJEHN@N V/ Footnote Text $:^`:CJ4O!4 V/NF !$ CJOJQJ<O"< #V/NO"$o^o`mHsH*O1* "NO ChartH OB%V/PL_$ J !"$5$7$8$9DH$CJOJQJ_HmHnHtH uFOQF$A5PL CharCJOJQJ_HmHnHtH u(Oqb( V/TAR&$a$8Or8 V/TAL '$$ CJOJQJ:@ V/ List Number 2g(S>T)Tf^S1@ V/ List Numberf) & F>T)Tf4/@4 V/List*8^8`&O& V/TAH+5(Oq( V/TAC,$a$\O\V/LD-$$dL5$7$8$9DH$OJQJ_HmHnHsH tH u<O< /V/EX.$v^`vmHsH*O* .FEX ChartH $O$ V/FP0$O!$ V/NW1$O"$ V/EW20O20 V/B13:^`:6@6V/pTOC 64?^`?6@A6V/pTOC 75$^`$6@qb V/ List Bullet 2g6S>TTf^S0@r V/ List Bulletf7 & F>T𷷷Tf@O!@ V/ Editor's Note8 B*ph O V/TH9<O< V/FL:$$$<a$ 5OJQJOV/ZA>;$o'&P#$&d +D1$5$7$8$9DH$P a$#CJ(OJQJ_HmHnHsH tH uvOvV/ZB5<$'&P#$+D1$5$7$8$9DH$]a$"6OJQJ_HmHnHsH tH ujOj V/ZT+=$d&@#$1$5$7$8$9DH$a$5CJ"OJQJ_HmH sH tH xOxV/ZU:>$^'&P#$$d 1$5$7$8$9DH$N a$OJQJ_HmHnHsH tH u2Oq2 V/TAN?S^S`bObV/ZH#@&P#$1$5$7$8$9DH$OJQJ_HmHnHsH tH u,O, V/TF A$hO"hV/ZG)B$&P#$1$5$7$8$9DH$a$OJQJ_HmHnHsH tH u>7@a2> V/ List Bullet 3 Co^o02@B0 V/List 2 DS^S03@AR0 V/List 3 Eo^o04@Qb0 V/List 4 F^05@ar0 V/List 5 G^>8@1> V/ List Bullet 4 H^>9@> V/ List Bullet 5 I^0OA0 V/B2J:^`:0OQ0 V/B3Km:^m`:0Oa0 V/B4L2:^2`:0Oq0 V/B5M :^ `:2O2V/ZTD NT+D6CJ($O$V/ZVO!?0U@0 A5 Hyperlink>*B*@V@@ A5FollowedHyperlink>*B* *O1"* V/B1+ R & F2O22 V/B3+S & F n*OB* V/B2+ T & F0OR0 V/BLU & F S(Ob( V/BN V & FJB@rJ A5 Body TextW$a$6CJOJQJ]^J<P@< YA5 Body Text 2X B*phFOF X2 Char CharB*_HmH phsH tH 8Q@8 A5 Body Text 3Z$a$8"@8 A5Caption [xx5\>O> V/TAJ\$$$a$ CJOJQJDT@D A5 Block Text]x]^PZ@P A5 Plain Text^5$7$8$9DH$ OJQJ^Je@ A5HTML PreformattedK_ 2( Px 4 #\'*.25@95$7$8$9DH$OJPJQJ^JmHsHtHf^@f A5 Normal (Web) `dd5$7$8$9DH$[$\$CJaJmHsHtH.X@. A5Emphasis6]*W@!* A5`Strong5\~3~ A5 Table Grid7:V0c5$7$8$9DH$ROAR A5 contenttitle15CJOJ QJ \aJo(ph%jOQj A5cataloguedetail-doctitle15CJOJ QJ \aJo(ph%8h@a8 A5 HTML Variable6]RYrR b Document Mapg-D M OJ QJ ^J Fb@F HTML CodeCJOJPJQJ^JaJo(B'@B #Comment ReferenceCJaJ44 # Comment Textj@j@ #Comment Subjectk5\HH # Balloon TextlCJOJ QJ ^J aJO` ASN.1 Text`56789:;<>*@B*CJH*KHOJQJRHdS*TXY(mHnHphsH uwhO`XSD Text`56789:;<>*@B*CJH*KHOJQJRHdS*TXY(mHnHphsH uwh. @. V/Index 1o$2 2 V/Index 2 p^$O$ rV/TTq@& &O!& q3TT CharBD@2B 2 List Continuesx^FE@BF 2List Continue 2t6x^6HC@RH 2Body Text Indentux^pM@qbp 2Body Text First Indentv$x`a$6CJOJQJ]^JTN@QrT 2Body Text First Indent 2 w`,O, j_termdefph!p$@p |dEnvelope Address!y@ &+D/^@ CJOJQJ^JaJOXM ASN.1 Note`56789:;<>*@B*CJH*KHOJQJRHdS*TXY(mHnHphsH uwhF%@F ]Envelope Return{ OJQJ^JHOH V/TB1|$$ & F+  CJOJQJPOP V/TB2$}$$ UUV^U`V CJOJQJPOPj Char Char1!56CJOJQJmHnHtH u J :;Z00$A@0 D@0 0'T  &NO=,Q[( a ? o 1 c  K ( n Du:n @ My-[._5m 5i1bLO.^`=i 9f2m AS E !f!!"H"{"""8#{##$8$$$%n%%!&&&&-'m'''*([(((#)Z)))*\***+H+z++,<,l,,, -;-i---.G.{...%/W///0I0z0001L1|11-2|2222 315h6q667788::`;y;;v<==.>>>G??@w@@@AAB#BB7CCDDEbFGGHHHILLNYOP[QQSSTT#UFUdUUUUUV4VKVjVVV;[Z]u]]cccddeeeghkk=llmmpqrrr!s"s,snsoszstttotptttttuu%uuuuuuGwvx yz{|7|h|||}}}}6}g}}}~~~~2~~~=>M-^͂+]SDŽ.01?<p|pNyBi6S`ڕ =iϖܖ=V`aڗ-@CKiǘژݘ*-/yۙZvÝŝlnoeˢ0ΤBӬ_ɮs64_ r&Y *V&mY/7jmnGO9A_uxy'/Made$'()QST ,4QTU.DGIP`>ct <Nbc#JnW1FYZ!$%@|,G`{;%:G`z{()=CO$0tuv ./;{|YZjkwFGfgt "#:LYBCKL\st|} #ablm}$%5tu45BCS ^_lm~%&56G^_`yS/ #$:FGHT[fqy  !#%')+-./56789;=?ACRSTYZ[\^`abcdefglnprstuvwxyz{' +,WBMd*qz#NO_ +Txyv# $ ' * + . 4 5 8 ; < ? E F I Q R U ^ _ b n o r      < @ G H J Q R T [ \ ^ e f l s t x { |     F L U l      yN)Hn ) 1 T t w x  !4![!{!!!!!""1"z"""""""g##### $$ $L$o$w$$$$%%%%$&G&k&&&&&&& '6'>'`'c'd'l((((()()L)c)x))))))*&*.*P*S*T*e***+ +@+P+^+_+++,, ,k.~.(01{2E344&7k777777778;8=8>88888888949V9X9Y99999:::#:N:U:w:y:z::::::::;";D;F;G;_;{;;;;;;;;<<<+<=w?9@9ABB EiEEEEEEEEGFIFJFFFFFFGGGGGGGH,HHHfHvHHHHHHHHHI"I@IPI^I_IoIIIIIIIMKLLMNN,P`PRR S)SFSVSdSeSSSSST(TDTaTqTTTTTKUMUNUgUUUUUUU(V*V+VDV`V~VVVVVVVXXYYZZ[,]`]_ `"`H`f`v``````{V{X{Y{i{{{||5}J}Q}h}j}k}}}~2~3~N~~~~uFv}_ryfft{bbszhixh7dk(@`an!(>@APa-<K̏6Rn֐<֑@fuٔԕ֕וNq "#.*31ܚߛy˜Ϝ֜eϝѝҝ] 'IJYՠܠSgѢڢ   $. *,-!(ik>ݧHIŨ!"mVլ '7=GHsuwy{}­ETUVWXY[\]-/01345678kmnoqrstuv9;=>?@ABCDuwyz{|}~013456789:%^_`òDzβϲزٲFHJLNPRTVXYٳ۳ݳ߳*,.01234567fghiklmnopqr=FNbcmp{/Mļ40UYcmqx =>?AKLeklu}~4:;=Nc~/=aghjtu1Vcrs Gg:M~1=35<;cqz{(9IKRf>A;HXw5+,OZJKn0i|)1Tehi~)-.07F'?br|.z&X0f 7e 5gCuxy*,3TgWj=c5ostm=,op"<=_`x(ij5(7KRdtuv (<NOPZipx-9$\    PQlx/LNw;<i U#      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"-LZe 35 4[yX'<>E="l!""3$I$X%d&&p''j((_)#+T+|+}++++e.o001122228393:3P33333345 66L77M8x99999996:8:9:::<=>>>>@@ABCCCCC D D[DDDDDDEEEEEEE'FHFJFKF8GZGrGGGGGGGGGH@HaHcHdHHHHHHHHHII2JLJ:M1OHPQdQQQQRR@RRRRRRRRS'S(S=S>SaShSSSSSSSSSST&T;TdTTTTTTTT+U-U.UTUUUUVVVWDWqWWWWWW X/X?XNXqXXXXXXXXYY'Y(Y)YNYrYsYYYYYYZZZZ0ZBZTZgZiZZZZZZ[q[s[[[[[[\\]Y]]]]]^^&^8^9^i^^^^^^^^ _&_(_)_____!`5`\````````aaIagaiapaaaaaaa5bNbobbbbbbbbickclccdefghhii"jlFm_mpmmmmmmnn&n7n9n~nnnnnnnoo,oBoDoEo]ooooodprkssssss tt-t.tCtUtttt u u u u8uDuRucueufu~uuuuuvw9x"yWz{}S}T}s}}}}}1~>~q~~~~~~DQ[\}Wjk̀(Xuځ   =S 2]}c|09Ns/STzچ ?L܇݇5gÈ#$Pbډ HWjyz͊3YK֌7 2]}:ĐސR@s-LXǓ)*I^ʔ3NZ\cߕ(DVu!0CRSTsڗR[Ř,-љߙO^qښ;Xc{}Hx{M ,:o̡ۡܡ!35<`a/0Kr~أ3@jǤ 6Doȥ@ѦҦ&()9Ywק2\Ψ0=?FgijϩJ2ϭfGoı  β1Vxz{A  ;=>=cvw  &()./Mr۸ݸOع"56TqM}̻!~ļ׼ؼ:<Ckmn^!SdwxyҿF h ?RSq5HRT[}vMy!HP_` GH/7FGwHI 08GHx67{(:;cj5[jk>^p1kY@)3ZFHiMam7BQRp^` -7Bi +:EW`bi1KUb(1<Oap4>KY.<cn}~#5DV`bi~.[fip (Wr~ ,/6YZJ !"<Ld01CM^`gCP_`uH-9Fm +<>Eij<JU|'8ASdo~ ADKv=(/V{*KL'Ow  - 6 I [ f w y       % 1 b         % 9 K \ n         %(?zANn~=?@#Z[~)?@^nL(/hjk$&':Z|!B`qsztvwxy4Us     &L''''(4(b(t(((((R)S)|)))**-*0*7*K*c******0+A+M+W+Y+Z+}++++++,9,:,;,,,-8-e-------.;.O.^.m.~.........)/Z///////00,080E0S0`0p0~000000171o1{111112222U2y222222223,3.3/3B3|3333334&464D4R4^4}4444425K5w555555666Y6q6666666667K7Z7e7p7r777777777A8c888899)94959d999999999:(:?:A:B:U:::::;;+;9;X;p;q;;]>s>TBCCDDDE6EmEEE F FPFQFjFvFFFFFFF GG6GBGGGGGGGH2HZHdHeHHHHHHHHH!I5I8I9IbIjIIIJJ K\K^KeKtKKLLL*LCLDLtLuLLMMM#M$MXMMMN;N`w````a4aEa`aaaaaaabVbgbbbbbbc c!cSc{c|ccccccccccddAdVdYdZdddde%eeeffigggg;h}~(;N`bi~MVf $<Vtѥӥԥե!Wḩͧh7ABCe ;z{ѪҪ()`w8֬ 2EH_ۭݭ')*^oqǮڮ=`ʰҰ8}~Աձ[@JKlK>pixCPQ B` 4L K^|]^Oqv4MQRn+/0Tost Vptux %&`!EJKg}+HMNh/KPQac045DFsjuDOimn"kv;ep5hs?Z_`/EJ[]{;{@f&()*+,:;gT ~Ox*+Eh0GLcYe!"#$)N?cde    3J_xxez     5 A    # : C O >e~4cz`Yg('0If}kZ7N!!!!!"#"$ $&$t$$$%%&'Z(!))v+,-'-f-}--..1121J1a111/4@4Y4s4444777@888;:G:?<o=e>?@@@AAAAdCuCCCC D,DLFfFFFF0G0>.0>$0>$0>$0>$0>$0>$0>$0>$0>$0>$0>$0>*0;0B.0B$0B$0B$0B$0B$0B$0B$0B$0B$0B0B.0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B$0B0B*0;0cH"0cH0cH"0cH.0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH0cH0cH$0cH$0cH0cH0cH0cH0cH0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH0cH0cH$0cH$0cH0cH0cH0cH0cH0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH.0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH0cH0cH$0cH$0cH$0cH0cH0cH0cH0cH0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH0cH0cH0cH0cH0cH$0cH$0cH$0cH$0cH$0cH$0cH0cH$0cH.0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH0cH.0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH.0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH$0cH00a0a0a"0a*0a0f:0f0g0g.0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g$0g:0f0m0m0m.0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m$0m*0a0s:0s0u0u U0u U0u U0u.0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u.0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u.0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u.0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u.0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u$0u.0u$0u$0u$0u$0u$0u$0u:0s00.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0*0a0 R0  R0  R0 "00.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0*0a0.0.0."0..0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0..0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0..0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0..0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.$0.*0a0M0M0M U0M U0M"0M U0M0M:0M0M.0M$0M$0M$0M$0M$0M$0M$0M$0M$0M$0M$0M$0M$0M$0M:0M0y.0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y:0M0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0:0M0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0:0M0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0*0a000:00.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0:00.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0:00.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0:00K.0K$0K                          ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T V W X Y Z [ \ ] ^ _ ` 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 { | } ~  $0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K.0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K$0K:00.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0:00303030"030.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0*0a0 0 0 0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 *0a00.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0009*090<0<"0<0<.0<.0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<0<0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<*0904N04N"04N04N04N"04N"04N.04N.04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N04N$04N$04N$04N04N04N$04N$04N$04N04N$04N$04N$04N$04N$04N$04N$04N04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N$04N00m.0m$0m$0m$0m$0m$0m$0m$0m$0m00 p0 p.0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p$0 p00u"0u"0u 00y R0y R0y0y R0y R0y R0y R0y0y*0000 R0 R0"00"000"000.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0*00|0y00"000000 R00 R0000"000000"0000"0000z000"0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0z000l"0l 00>0>0> R0> R0> R0> R0> 00 R0 R0$0$0$0$0$0 00\0v30v0v0v0v0v0\0000"00090+0+0+0+0+0 +0 +0 +0 0  +0 +0 ,0 ,0 0  +0 +0 ,0 ,0 0 +0 ,0 +0 0 +0 ,0 +0 0 +0 ,0 +0 0 +0 ,0 +0 0 000"00\0{30{0{0{0{0{0{0{0{0{0\0 30 0 0 0 0 0\0 30 0 0 0 0 0\0o 30o 0o 0o 0o 0o 0\043040404040404"040\03000000\03000000\0M30M0M0M0M0M30M30M30M0\03000000\03000000\02"302"02"02"02"02"02"02"02"02"02"02"02"0\0+30+0+ R0+ R0+0+0+0\01/301/01/01/01/01/0\0`230`20`20`20`20`20\06306"0606060606"060606060\0>30>0>0>0>0>0\0A30A0A0A0A0A0\0}D30}D0}D0}D0}D0}D R0 }D R0!}D R0"}D0\0H30H0H0H0H0H0H0H"0H0\0*P30*P0*P0*P0*P0*P"0*P0*P R0#*P R0$*P R0%*P0*P0\0KU30KU0KU0KU0KU0KU"0KU0KU R0&KU R0'KU0\0>>G??@w@@@AAB#BB7CCDDEbFGGHHHILLNYOP[QQSSTT#UFUdUUUUUV4VKVjVVV;[Z]u]]cccddeeeghkk=llmmpqrrr!s"s,snsoszstttotptttttuu%uuuuuuGwvx yz{|7|h|||}}}}6}g}}}~~~~2~~~=>M-^͂+]SDŽ.01?<p|pNyBi6S`ڕ =iϖܖ=V`aڗ-@CKiǘژݘ*-/yۙZvÝŝlnoeˢ0ΤBӬ_ɮs64_ r&Y *V&mY/7jmnGO9A_uxy'/Made$'()QST ,4QTU.DGIP`>ct <Nbc#JnW1FYZ!$%@|,G`{;%:G`z{()=CO$0tuv ./;{|YZjkwFGfgt "#:LYBCKL\st|} #ablm}$%5tu45BCS ^_lm~%&56G^_`yS/ #$:FGHT[fqy  !#%')+-./56789;=?ACRSTYZ[\^`abcdefglnprstuvwxyz{' +,WBMd*qz#NO_ +Txyv# $ ' * + . 4 5 8 ; < ? E F I Q R U ^ _ b n o r      < @ G H J Q R T [ \ ^ e f l s t x { |     F L U l      yN)Hn ) 1 T t w x  !4![!{!!!!!""1"z"""""""g##### $$ $L$o$w$$$$%%%%$&G&k&&&&&&& '6'>'`'c'd'l((((()()L)c)x))))))*&*.*P*S*T*e***+ +@+P+^+_+++,, ,k.~.(01{2E344&7k777777778;8=8>88888888949V9X9Y99999:::#:N:U:w:y:z::::::::;";D;F;G;_;{;;;;;;;;<<<+<=w?9@9ABB EiEEEEEEEEGFIFJFFFFFFGGGGGGGH,HHHfHvHHHHHHHHHI"I@IPI^I_IoIIIIIIIMKLLMNN,P`PRR S)SFSVSdSeSSSSST(TDTaTqTTTTTKUMUNUgUUUUUUU(V*V+VDV`V~VVVVVVVXXYYZZ[,]`]_ `"`H`f`v``````{V{X{Y{i{{{||5}J}Q}h}j}k}}}~2~3~N~~~~uFv}_ryfft{bbszhixh7dk(@`an!(>@APa-<K̏6Rn֐<֑@fuٔԕ֕וNq "#.*31ܚߛy˜Ϝ֜eϝѝҝ] 'IJYՠܠSgѢڢ   $. *,-!(ik>ݧHIŨ!"mVլ '7=GHsuwy{}­ETUVWXY[\]-/01345678kmnoqrstuv9;=>?@ABCDuwyz{|}~013456789:%^_`òDzβϲزٲFHJLNPRTVXYٳ۳ݳ߳*,.01234567fghiklmnopqr=FNbcmp{/Mļ40UYcmqx =>?AKLeklu}~4:;=Nc~/=aghjtu1Vcrs Gg:M~1=35<;cqz{(9IKRf>A;HXw5+,OZJKn0i|)1Tehi~)-.07F'?br|.z&X0f 7e 5gCuxy*,3TgWj=c5ostm=,op"<=_`x(ij5(7KRdtuv (<NOPZipx-9$\    PQlx/LNw;<i U#"-LZe 35 4[yX'<>E="l!""3$I$X%d&&p''j((_)#+T+|+}++++e.o001122228393:3P33333345 66L77M8x99999996:8:9:::<=>>>>@@ABCCCCC D D[DDDDDDEEEEEEE'FHFJFKF8GZGrGGGGGGGGGH@HaHcHdHHHHHHHHHII2JLJ:M1OHPQdQQQQRR@RRRRRRRRS'S(S=S>SaShSSSSSSSSSST&T;TdTTTTTTTT+U-U.UTUUUUVVVWDWqWWWWWW X/X?XNXqXXXXXXXXYY'Y(Y)YNYrYsYYYYYYZZZZ0ZBZTZgZiZZZZZZ[q[s[[[[[[\\]Y]]]]]^^&^8^9^i^^^^^^^^ _&_(_)_____!`5`\````````aaIagaiapaaaaaaa5bNbobbbbbbbbickclccdefghhii"jlFm_mpmmmmmmnn&n7n9n~nnnnnnnoo,oBoDoEo]ooooodprkssssss tt-t.tCtUtttt u u u u8uDuRucueufu~uuuuuvw9x"yWz{}S}T}s}}}}}1~>~q~~~~~~DQ[\}Wjk̀(Xuځ   =S 2]}c|09Ns/STzچ ?L܇݇5gÈ#$Pbډ HWjyz͊3YK֌7 2]}:ĐސR@s-LXǓ)*I^ʔ3NZ\cߕ(DVu!0CRSTsڗR[Ř,-љߙO^qښ;Xc{}Hx{M ,:o̡ۡܡ!35<`a/0Kr~أ3@jǤ 6Doȥ@ѦҦ&()9Ywק2\Ψ0=?FgijϩJ2ϭfGoı  β1Vxz{A  ;=>=cvw  &()./Mr۸ݸOع"56TqM}̻!~ļ׼ؼ:<Ckmn^!SdwxyҿF h ?RSq5HRT[}vMy!HP_` GH/7FGwHI 08GHx67{(:;cj5[jk>^p1kY@)3ZFHiMam7BQRp^` -7Bi +:EW`bi1KUb(1<Oap4>KY.<cn}~#5DV`bi~.[fip (Wr~ ,/6YZJ !"<Ld01CM^`gCP_`uH-9Fm +<>Eij<JU|'8ASdo~ ADKv=(/V{*KL'Ow  - 6 I [ f w y       % 1 b         % 9 K \ n         %(?zANn~=?@#Z[~)?@^nL(/hjk$&':Z|!B`qsztvwxy4Us     &L''''(4(b(t(((((R)S)|)))**-*0*7*K*c******0+A+M+W+Y+Z+}++++++,9,:,;,,,-8-e-------.;.O.^.m.~.........)/Z///////00,080E0S0`0p0~000000171o1{111112222U2y222222223,3.3/3B3|3333334&464D4R4^4}4444425K5w555555666Y6q6666666667K7Z7e7p7r777777777A8c888899)94959d999999999:(:?:A:B:U:::::;;+;9;X;p;q;;]>s>TBCCDDDE6EmEEE F FPFQFjFvFFFFFFF GG6GBGGGGGGGH2HZHdHeHHHHHHHHH!I5I8I9IbIjIIIJJ K\K^KeKtKKLLL*LCLDLtLuLLMMM#M$MXMMMN;N`w````a4aEa`aaaaaaabVbgbbbbbbc c!cSc{c|ccccccccccddAdVdYdZdddde%eeeffigggg;h}~(;N`bi~MVf $<Vtѥӥԥե!Wḩͧh7ABCe ;z{ѪҪ()`w8֬ 2EH_ۭݭ')*^oqǮڮ=`ʰҰ8}~Աձ[@JKlK>pixCPQ B` 4L K^|]^Oqv4MQRn+/0Tost Vptux %&`!EJKg}+HMNh/KPQac045DFsjuDOimn"kv;ep5hs?Z_`/EJ[]{;{@f&()*+,:;gT ~Ox*+Eh0GLcYe!"#$)N?cde    3J_xxez     5 A    # : C O >e~4cz`Yg('0If}kZ7N!!!!!"#"$ $&$t$$$%%&'Z(!))v+,-'-f-}--..1121J1a111/4@4Y4s4444777@888;:G:?<o=e>?@@@AAAAdCuCCCC D,DLFfFFFF0G@.0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>@$0>(@0u@01@"01@"01@"01@01(@0u@0N@0N@0N@.0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N@$0N(@0u@0@"0@"0@.0@$0@$0@$0@$0@$0@$0@0e(@0o@0@0@0 U0 U0 U0 U0@0 U0 U0 U0 U0@0(@0o@0@0@30@"0@0@30@"0@30@30@30@30@30@30@30@0@30@30"030.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$00303030.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$00303030.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0(0o0%"0%0%30%30%J0%J0%J0%J0%30%0%0e90+0 +0 +0 +0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 ,0 ,0 ,0 ,0 0 00e0`30`30`30`30`30`00.0$0$0$0$0$0$0$0$0$0$000090+0+0+0+0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0+0 0 +0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0,0 0 +0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 0 +0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 0 +0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 0 +0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 0 +0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 0 ?0?0?0?0 0 0(00.0$0$0$0$0$0$0$0$0$00.0$0$0$0$0$0$0$0$0$0(00.0$0$0$0$0$0$0$0$0$0$0(00O.0O$0O$0O$0O$0O$0O$0O$0O$0O$0O$0O(00y90y,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ?0y 0y 0y90y,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y ,0y ,0y 0y 0y0y0y.0y$0y$0y$0y$0y$0y$0y$0y$0y$0y$0y(00030303003030300"0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0(00T*.0T*$0T*$0T*$0T*$0T*$0T*$0T*0T*$0T*$0T*$0T*$0T*0T*(00k. U0k. U0k. T0k. T0k. U0k."0k..0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k..0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k..0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.$0k.(00<30<30< T0< T0<30<"0<.0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<.0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<.0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<$0<(00I U0I"0I U0I U0I T0I T0I U0I"0I.0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I.0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I$0I(00V U0V"0V U0V U0V T0V T0V U0V"0V.0V$0V$0V$0V$0V$0V$0V$0V$0V$0V.0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V$0V0V(00c.0c$0c$0c$0c$0c$0c$0c$0c$0c$0c(00e0e"0e0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e$0e00k0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k(0k0p$0p$0p$0p(0k0p$0p$0p$0p$0p(0k0q$0q$0q$0q$0q(0k0lr$0lr$0lr$0lr$0lr$0lr(0k0=s$0=s$0=s$0=s$0=s$0=s(0k0t$0t$0t$0t$0t$0t(0k0t$0t$0t$0t$0t$0t(0k06u$06u$06u$06u$06u$06u(0k0u$0u$0u$0u$0u$0u(0k0cv$0cv$0cv$0cv$0cv0cv(0k0;w0;w$0;w$0;w$0;w$0;w.0;w$0;w$0;w$0;w$0;w$0;w$0;w$0;w$0;w$0;w$0;w$0;w$0;w$0;w(0k0y$0y$0y$0y$0y$0y(0k0z$0z$0z$0z$0z$0z(0k0Y{00{(0{0|$0|$0|$0|$0|$0|(0{0k}$0k}$0k}$0k}(0{03~$03~$03~$03~$03~$03~(0{0$0$0$0$0(0{0$0$0$0$0$0(0{0$0$0$0$0$0(0{0$0$0$0$0$0(0{0$0$0$0$0$0(0{0$0$0$0$0$0(0{0$0$0$0$0$0(0{0$0$0$0$0$0(0{0$0$0$0$0$0(0{0$0$0$0$0$000(00$0$0$0$0$0(00$0$0$0(00a$0a$0a$0a$0a$0a00A0A$0A$0A$0A$0A$0A$0A$0A$0A$0A$0A                          ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T V W X Y Z [ \ ] ^ _ ` 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 { | } ~  $0A$0A$0A$0A$0A$0A$0A$0A$0A$0A"0A"0A(0A0f$0f$0f$0f$0f$0f$0f$0f(0A0ו$0ו$0ו$0ו$0ו$0ו$0ו$0ו(0A0#$0#$0#$0#$0#$0#$0#$0#(0A0$0$0$0$0$0$0$0(0A0$0$0$0$0$0$0$0(0A0$0$0$0$0$0$0$0(0A0$0$0$0$0$0$0$0(0A0$0$0$0$0$0$0$0(0A0$0$0$0$0$0$0$000ҝ(0ҝ0$0$0$0$0$0(0ҝ0$0$0$0(0ҝ0J$0J$0J$0J$0J$0J(0ҝ0$0$0$0$0$00.0$0$0$0$0$0$0$0$0$0$0$0$0$0$000$0$0$0$0$00$0$0$0$000k0k.0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k$0k0k00m0m0V90V+0V+0V+0V +0V +0V +0V +0V +0V +0V +0V +0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V ?0V?0V 0V 0V90V+0V+0V+0V +0V +0V +0V+0V +0V+0V +0V+0V +0V +0V+0V +0V+0V +0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V +0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V ,0V 0V 0V0V(0V0=$0=$0=(0V0c(0V0p(0V0/0/ R0/ R0/ R0/ T0/ S0/ S0/ T0 / T0 / S0/ S0/ T0 /"0/"0/90/+0/ +0/ +0/ +0/ +0/ 0/ +0/ '0/ '0/ '0/ ,0/ 0/ +0/ '0/ '0/'0/'0/'0/'0/'0/ '0/ ,0/ 0/ +0/ '0/ '0/ '0/ ,0/ 0/ +0/ '0/ '0/ '0/ ,0/ 0/ +0/ '0/ '0/ '0/ ,0/ 0/ +0/ '0/ '0/ '0/ ,0/ 0/ +0/ '0/ '0/ '0/'0/ ,0/ 0/ '0/ '0/ '0/'0/'0/ '0/ '0/ 0/ '0/ '0/ '0/ '0/ '0/ 0/ '0/ '0/ '0/'0/'0/'0/ '0/ '0/ 0/ '0/ '0/ '0/ '0/ '0/ 0/ 0/.0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/.0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/.0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/.0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/.0/.0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/.0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/$0/(0V0`0`0`.0`$0`$0`$0`$0`$0`$0`(0V0 U0 U0 U0"00900 0 0 0 +0 +0 0 0 0 0 0 +0 +0 +0 0 +0 +0 +0 +0 +0 ,0 ,0 0 +0 +0 +0 +0 +0 ,0 ,0 0 +0 +0 +0 +0 +0 ,0 ,0 0 +0 +0 +0 +0 +0 ,0 ,0 0 +0 +0 +0 +0 +0 ,0 ,0 0 +0 +0 +0 +0 +0 ,0 ,0 0 +0 +0 +0 +0 +0 ,0 ,0 0 ?0 0 0(0V0(0V0-(0V00(0V00(0V0 0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 (0V0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0(0V00"0(0V00"0(0V0l0l0m0"0m03$03$ U03$ U03$ U03$ U03$ U03$"03$03$.03$$03$$03$$03$$03$$03$03$03$03$03$.03$$03$$03$$03$$03$$03$$03$$03$$03$$03$$03$$03$0m(030303 U03 U03 U03"0303.03$03$03$03$03$03$03$03$0303(030:0m0< R0< R0 < R0 <0<(0<0@0@.0@$0@$0@$0@$0@$0@$0@$0@$0@$0@$0@$0@(0<0D.0D$0D$0D$0D$0D$0D$0D$0D$0D$0D0D.0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D$0D0D(0<02J"02J02J"02J.02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J02J02J$02J$02J02J02J02J02J02J$02J$02J$02J$02J$02J$02J$02J$02J$02J02J02J$02J$02J02J02J02J02J02J$02J$02J$02J$02J$02J$02J$02J$02J.02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J02J02J$02J$02J$02J02J02J02J02J02J$02J$02J$02J$02J$02J$02J$02J$02J02J02J02J02J02J$02J$02J$02J$02J$02J$02J02J$02J.02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J02J.02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J.02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J$02J0m0lc0lc0lc"0lc(0lc0h80h0i0i.0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i$0i80h0o0o0o.0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o$0o(0lc0u80u0v0v U0v U0v U0v.0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v.0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v.0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v.0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v.0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v$0v.0v$0v$0v$0v$0v$0v$0v80u0{0{.0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{.0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{$0{(0lc0j R0 j R0 j R0 j"0j0j.0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j.0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j.0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j.0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0 j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j$0j(0lc000"0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0(0lc000 U0 U0"0 U00800.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0800H.0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H$0H800`.0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`$0`800.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0800.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0(0lc000800.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0800Z.0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z$0Z800.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0800.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0800.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0800303030"030.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0(0lc0 0 0 0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 (0lc0 0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 .0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 0m0q;(0q;0]>0]>"0]>0]>.0]>.0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>0]>0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>$0]>(0q;0P0P"0P0P0P"0P"0P.0P.0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P0P$0P$0P$0P0P0P$0P$0P$0P0P$0P$0P$0P$0P$0P$0P$0P0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P$0P0m0o.0o$0o$0o$0o$0o$0o$0o$0o$0o0m0q0q.0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q$0q0m0w"0w"0w00z R0z R0z0z R0z R0z R0z R0z0z(0˃000 R0 R0"00"000"000.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0.0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0(0˃0K0z0"000 R0 R00"000"00"00x00x"0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0x$0xx00;"0;00 0 0  R0  R0  R0  R0 00 R0 R0$0$0$0$0$000+0E30E0E0E0E0E0+0000"00090+0+0+0+0+0 +0 +0 +0 0 +0 +0 ,0 ,0 0 +0 +0 ,0 ,0 0 +0 ,0 +0 0 +0 ,0 +0 0 +0 ,0 +0 0 +0 ,0 +0 0 000"00+0J30J0J0J0J0J0J0J0J0J0+0z 30z 0z 0z 0z 0z 0+0 30 0 0 0 0 0+0>30>0>0>0>0>0+03000000"00+0Y30Y0Y0Y0Y0Y0+03000000+03000003030300+03000000+0!30!0!0!0!0!0+0$30$0$0$0$0$0$0$0$0$0$0$0$0+0,30,0, R0, R0,0,0,0+01301010101010+0/430/40/40/40/40/40+07307"0707070707"070707070+0@30@0@0@0@0@0+0dC30dC0dC0dC0dC0dC0+0LF30LF0LF0LF0LF0LF R0 LF R0!LF R0"LF0+0^J30^J0^J0^J0^J0^J0^J0^J"0^J0+0Q30Q0Q0Q0Q0Q"0Q0Q R0#Q R0$Q R0%Q0Q0+0W30W0W0W0W0W"0W0W R0&W R0'W0+0 [30 [0 [0 [0 [0 [0 [0 [0 [ U0 [ U0 [0U00Vb30Vb0Vb0Vb0Vb0Vb0Vb0Vb0Vb00tj30tj0tj0tj0tj0tj0tj0tj 00'o30'o0'o0'o0'o0'o0'ox0'o0Zr00'(*0+++--F/0,2b3!55679+:="@sBC"D9FGJLzOPRTUX []^_ad@giCkkVmoprtv&xqy{\| }~~1ŀr!f7(wDqn%lw/T$˟B-`"Tdڲ[u9#5ӾG$f<m&,= WNK{=&S MhY!_')*,.1I78(;5>BDJ&MLORXZ\{] ^!_`a`2abZefhijk#lm(nn?q@cBCD+EGI{KL~NPRTUWYd[\ac[e7ijl9pyqrvyd|}6~~|#U_ˆڜ_#V=U̻ͿTIoF.Q9zr+5We; <O^$w(*,0<EKPnRYA`cej|lnqs!tuKwxMz|~_Ҕ sHY%t u ?w "z 8 , , VY[]^`abdefgijklnopqstuvwyz{}~   .46789:;<=>?@BCDFGHJKLNOPQRTVWYZ\^_`acdfgikmnpqsuwxy{|~    $&'()*+-.02356789<=>@ABEFGIKLMOPQSTUVWXYZ\]_`bcefgijlmopqstuvxy{|~    !"$%'()*+-/124679:<>?ABDFGHIJLMNPQRSUVXZ\^aceiklmuvwyz|}~N  %e,^39aBMS _Gn#v7{||r}}~~~Tu{ԫ:hDWh5e2Q%` ]Hy-Dj1I HoL )0:FSct<FPZhp}*-1#5;:>BJE G^P=SBVX![9_ae!hl)pJuy|}'nEΟ~vg)޼Eھg)uy4`/\i|[! }' 5y6l; I6JR{V\_ik}mqrvxV{JbNe+-D7{CTy^@o|DH  -8\; "$/2S59cBADIFICKMkPR$\S`bfx|~_ N&m ۺgSII0bzw` u`&._8ECJY,acn+p s}{#`Vrt Tw } '  v % WZ\_chmrx|   !"#$%&'()*+,-/01235AEIMSUX[]behjlortvz}  !"#%,/14:;?CDHJNR[^adhknrwz}  #&,.0358;=@CEKOTWY[]_`bdfghjnopqrstx{ XX{;[l $ & A ] _ |   : = N j m  , / B ^ a r * F I _ { ~  # & M i l #?BTps58Mil ;>f,HKXtw (+:VYu ),>Z]q03Lhk03Hdgv,/A]`p+GJ`|.JMm ),=Y\k?[^y 8;Hdg 47Eadu-0Lhkz <?o2NQs  $ @ C q !!E!a!d!!!!!!"'"C"F"Z"v"y"""""""#3#6#Z#v#y#######$3$6$e$$$$$$$%%M%i%l%%%%&&&f&&&&&&&&& '('+'L'h'k'|'''''' (%(((:(V(Y(t(((((())!)9)U)X))))))))**:*V*Z*v******* ++&+B+F+X+t+x++++++,,6,:,J,f,j,,,,,,,,- --5-9-G-c-g--------..%.A.E.Y.u.y.......//#/5/Q/U/d///////00'0C0G0X0t0x0000000011*1F1J1Z1v1z1111 2'2+2Z2v2z2222222245-5Z7}777888O8Q8{888:::;;;w<<<=!=#====/>7>9>>>>>>>Z??????%@S@t@x@@@@A=AAAIAKAAABBBBJCuCCCCC D)D+DDDDEEEeFnFpFGGGGGGI>I@I`IIISTETWXXXUXWXXXXXXY Y?YAYYYY}ZZZs[[[=\`\b\]U]W]Z]q]s]|]]]^_ __:_<____` aaab bQbsbubedddd e ei0j2jk-k/klllmmmfnnnnnnn%o)oIozo~opUpWppqqaefʾ#%nm"&V7nrBry"SW~=D{` <@*Y_<lr,2Z!V\#Mx|ACX \V\N|   " E G %gmPsu,,, -H-N-g------ .?.E.222o444_@@@@@@cBBBJJJMM-NbNhNO%P'PWWWZ-[3[S[                          ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T [ X Y Z \ ] ^ k ` a b c d e f g h i j W l m n o p q r s t u v w x y { | } ~  [[\%]']hhhhhhjlllmmmM|t|v|5XZ<_a<_a8[]8[]>ac?bd>ac:aco"$ދWw{͢4`}֣)Ur2fjǪɪϪ ɫ˫ѫHnq­9C]"+8civ27Dns*.:qѱf|~ADYͳ׳(7`d,\b2dhkr<~1]a[i  VX: h j  / 3 a   (0{m?vx9 m q $,$0$)Y)[))))S***-=.C.011p1112\2b2h222 8G8I8888~:::Y<<<<<<???o@@@AIAKAHIyI}II(J.J?LLLrMMMNNNe$f*ff-g1g$hehihhhhjkkvkkkk(l,lpppqqq3sesgsxxxyyyz{ {{I{O{(|_|e|j|||"em>̢)/ȭ̭ <@bӳٵ {͹ѹ"SWlZQsuV\06/5lCw{08 PX7;#QUX?ESCw{O,nt)-3lrT   4sy'-%Q""""""%%%'B'H';;;<==w==={>>>`???????@ @@@@BJBPBBBBCCC>Z??x@AABBCDDEcFGGHHHTVVq]|]cceeeeruuu>1No%%`OOyy| T*T*k.k.<<IILMVVYZcceekkppppqqlrlr=sttt6uucv;wyzzY{{{|k}3~SSaAAfו#ҝҝJkmmVVf==ccpp//``--  ll""3$3$3333::<<@@DD2J2Jlclchhiiouvv{{jH`Z    q;q;]>]>PPoqqwwzz˃˃KKy< +EEJJz z   >>YY!!$$,,11/4/477@@dCdCLFLF^J^JQQWW [ [ggoogtgtw|x[%+z@@  @!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW 3p678x;;<$==:>>Z??@LA"BBC,DDEqF GGHHHTVVq]]ceeeeruuuL>xęڙ*?x )T^~ Y*d*p.}.<*<IILMVVYZddeekkppppqqqrvrJst&ttAuu|vPwyzzh{{{|}M~ffmDOt-)20՝XnYBEhluz4Lew28#  r""6$H$3334::<<@@DD7JKJocchhiiouww!0?h !G    t;;b>r>P!Poqqwwzz΃PkfDggO^    ddff//!!$ $ - -11?4?477@@tCtCeFeFdJvJQR W&W[[ggoomtutwxh2W9 <'9  '9 |'9 <'9 |'9 4a'9 ta'9 a'9 a'9 4b'9 tb'9 b'9 b'9 4c'9 tc'9 c'9 c'9 4d'9 td'9 d'9 d'9 4e'9 te'9 e'9 e'9 4f'9 tf'9 f'9 tj'9 tr'9 tq'9 4k'9 i'9 4m'9 r'9 4r'9 j'9 tl'9 f'9 tn'9 l'9 th'9 m'9 q'9 m'9 to'9 i'9 p'9 l'9 j'9 4p'9 n'9 p'9 q' 9 4i' 9 g' 9 tp' 9 4g' 9 4j'9 k'9 `'9 `'9 t`'9 4`'9 _'9 _'9 t_'9 4_'9 ^'9 ^'9  E(9 D(9 D(9 LD(9  D(9 C(9 C( 9 LC(!9  C("9 B(#9 B($9 LB(%9  B(&9 A('9 A((9 LA()9  A(*9 @(+9 @(,9 L@(-9  @(.9 ?(/9 ?(09 L=(19 =(29 =(39  >(49 L>(59 >(69 >(79  ?(89 L?(99  5(:9 4(;9 4(<9 L4(=9  4(>9 3(?9 3(@9 L3(A9  3(B9 2(C9 2(D9 L2(E9  2(F9 1(G9 1(H9 L0(I9 /(J9 G(K9 L1(L9  1(M9  0(N9  G(O9 F(P9 LG(Q9 $CR9 dCS9 CT9 CU9 $CV9 dCW9 CX9 CY9 CZ9 $C[9 d C\9  C]9 C^9  C_9 $C`9  Ca9 $ Cb9 $ Cc9 $Cd9 dCe9 Cf9 Cg9 Ch9 dCi9 >Cj9 :Ck9 ;Cl9 $:Cm9 @Cn9 $ACo9 d5Cp9 $?Cq9 9Cr9 dACs9 $=Ct9 $6Cu9 ;Cv9 @Cw9 $5Cx9 $BCy9 $CCz9 9C{9 AC|9 8C}9 $7C~9 :C9 k9 i9 h9 9 +?9  +@9 L+A9 +B9 +C9  +D9 L+E9 +F9 +G9  +H9 L+I9 +J9 +K9  +L9 L+M9 +N9 +O9  +P9 L+Q9 +R9 +S9  +T9 L+U9 +V9 +W9  +X9 L +Y9  +Z9  +[9  +\9 L +]9  +^9  +_9  +`9 L +a9  +b9  +c9  +d9 L +e9  +f9  +g9  +h9 L +i9  +j9  +k9  +l9 L+m9 +n9 +o9  +p9 L+q9 +r9 +s9  +t9 L+u9 +v9 +w9  +x9 L+y9 +z9 +{9  +|9 L+}9 +R)4$<U<<<kDD/E`EE(FFF_GG,H]H|N~h1kgDwڝɢ̤@] phTl]K',!Hl^yJ R r "+1C3d34T9u:B;<u?7AXABGHILLMMNN*PYYZZ[[*] jSkngop`vxQy/~]FFۨ`2]3R'+D 3eAsvRe WuOcf+:%F>H;SSS$T9TbTTT)UYYZZZZ[o[_aaanntt+.5PØ כH09i{/0&>k(  P  I*a*.2236:&:HII JJrKKLrLccc?dTd#eHeefghii/jw{|j}V[wu),mQl(;[v|d Ԭ0CFŮخ<usO-qr"GJM2k\GvHItNU?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~S*4%<V<<<lDD0EaEE)FFF`GG-H^H}N~i2lhEx۝ʢͤA^ qiUm^L(-"Im _zK S s "+1D3e34U9v:C;<v?8AYABGHILMMMNN+PYZZZ[[+]!jTknhopavxRy0~^GGܨa3^4S(,E 4fBtwSfXv Pdg+:&F?H?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~>*urn:schemas-microsoft-com:office:smarttags PersonName HN7QR[,LXx ,:Zu ->^q4Ll 4Hhv0Aap+K`.Nm -=]k?_y<Hh 8Eeu1Llz  ADEo2Rs $ D q !E!e!!!!"'"G"Z"z"""""#7#Z#z#####$7$e$$$$$%M%m%%%& &f&%/5/V/d/////0'0H0X0y00000000001*1K1Z1{1111111 2,2Z2{2222222BHHHHOOPPSUUUUUUUUUUUU V VVVVVV VVu]IJt&(Y\ $&*,CEVY&(rw`a p ppppppp̒֒̔֔ٔ  U]ӕBLNquʖҖ  4dm~-6 ?H6?DMYbcl ~/814TYcervIbcfhEFJNTUWXno~13=@ ./35<=DF[ahi} ;@cgqsz}()9:IKOSZ\fi%'<;>HJX[ "#56=>EFTUbdklwx(ORSYZ_`mn HMZ[_alqxy   #.3?@DFQRVXflz~ )*.3:<RV]_djnouv|TU'048>@CGNP *>@GHLN`eptz&(*189=?EFJLST]_abkmw}$)23<>@AJLV\fgjl #$.6TUfhnouv   #$*+5=egmntu  '*35<>DEOPTUegnpvw "$*+58ACJLRS]^bcs| *,03:<RT[]egnp{~23QYdo",36BTUbfw}  48IOU[ey7@Bm89=>TV[\_afhmnqsx{'(,-CEJKMOTWmr"#9?] [j=L#)CEdmEFMOY[bde{ Ka!57I5KSg3GL^&02=ITLT )5al: F       p x    PRlnx{-0KNTV]_tx #*+/18?TUqr~ '/1:?HV#'  $*0KPZ\bh "25=>EGQSZ\egno \y{~XZ~%(<>EFNOgjqrCT    m!|!!!5"A"b$h$$$%%%%s&|&'' ((((((*$*D+J+U+|+++++++++++++++++++++,(,k,t,y,,,,000091A11122222222283<3[3\3`3d3333333344444444445575E5/686k7|77799999999999::::::":#:%:&:3::::;B;L;`;n;;;;; <<<+<<<======N>U>W>d>??U@`@AABB4C>CtC~CCCCCCCCCCCCCCCD DD_D`DwDzDDDDDDDDDDDDgEoEEEEEEEEEEEEEEFFFFF F$F(F/F1F5F6F8F9FFFFFFF[GkGlGoGtGGGGGGGGGGGGGGGGGGGGHHH H HHHHHHH'H(H,H0H7H9H=HAHHHJHNHOHQHRH_HfHHHHHHHHHHHHHHHHHHHHHHHHHIIIJJJJgMpMvN~NKOSOPPfQrQsQwQxQQQQQQQQQQQQQQQRR=RBRWRYRRRRRRRr[s[u[v[UVqt    g l        !!!!!!# #$$0$$$$$W%c%&!&&&&&'''''''( (4(8(b(f(t(w((((((((( ) )))P)S)^)_)i)})))))))** ********+*-*0*4*8*?*A*K*L*S*U*c*d*k*l********* ++0+B+M+N+V+\+k+z+}++++++++++++,,',,,,,,,,--8-<-e-i----------.....!.".;.<.L.P.Z.[.^._.b.c.j.k.m.p.~................ / / /!/)/*/Z/b/////////0 00 0+0.08090E0G0S0T0`0b0p0q0~000000017191o1r1{111111111122=2>2O2P2S2V2_2`2j2k2y2z22222222222222222222SummaryInformation( DocumentSummaryInformation8_ CompObj q testing, TTCN, XML ETSIW_80Gyorgy Rethy3Microsoft Office Word@Ik@,@ @@ @,  FMicrosoft Office Word Document MSWordDocWord.Document.89q  ETSI SecretariatRj^' *http://www.w3.org/2001/XMLSchema-instancem E3*http://www.w3.org/2001/XMLSchema-instancem E*http://www.w3.org/2001/XMLSchema-instancem /~http://www.w3.org/TR/soap12m !http://www.w3.org/TR/xmlschema-2m |!http://www.w3.org/TR/xmlschema-1m v!http://www.w3.org/TR/xmlschema-0m <(p$http://www.w3.org/TR/REC-xml-names/m lxjhttp://www.w3.org/TR/xml11m X!http://docbox.etsi.org/Referencem ,6I$http://webapp.etsi.org/IPR/home.aspm hW1http://portal.etsi.org/chaircor/ETSI_support.aspm #a,http://portal.etsi.org/tb/status/status.aspm ENhttp://www.etsi.org/m -anyAttribute~|n4http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/*element-anyAttribute#element-anyAttributeNWk%http://www22222233 3333!3*313\3]3s3t3|3}33333xxxxxxxxlmsuyzӢۢ  !xy՜.+,D՜.+,d  px  ETSI SecretariatRj^' ETSI ES 201 873-9 V4.4.1 TitleX 8@ _PID_HLINKSA\Ej*http://www.w3.org/2001/XMLSchema-instancem Eg*http://www.w3.org/2001/XMLSchema-instancem 48 http://www.example.org/BlockAllm 48 http://www.example.org/BlockAllm ,7(http://www.example.org/BlockRestrictionm GP"http://www.example.org/SimpleCasem 68 http://www.example.org/wildcardm 68 http://www.example.org/wildcardm 68 http://www.example.org/wildcardm ~|4http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/*element-anyAttribute#element-anyAttribute~|4http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/*element-anyAttribute#element-anyAttribute~|n4http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/*element-anyAttribute#element-anyAttributeNWk%http://www.organization.org/wildcardm S4http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/element-any#element-any~|P4http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/*element-anyAttribute#element-anyAttributeM4http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/element-any#element-anyJ4http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/element-any#element-any?*m clause_Attributes_Ref4(m %clause_Attributes_minOccursMaxOccurs4(m %clause_Attributes_minOccursMaxOccursNKm clause_Attributes_name$+m clause_Attributes_Id11m "clause_Attributes_processContentsOUm $clause_Attributes_substitutionGroup8<m clause_Attributes_useBMm clause_Attributes_nillableXCm clause_Attributes_mixedISm clause_Attributes_typeYMm clause_Attributes_Form>.m "clause_Attributes_DefaultAndFixed>.m "clause_Attributes_DefaultAndFixed@@m clause_Attributes_blockNLm clause_Attributes_abstract?*m clause_Attributes_Ref4(m %clause_Attributes_minOccursMaxOccurs4(m %clause_Attributes_minOccursMaxOccursNKm clause_Attributes_nameEGm clause_Attributes_final$+m clause_Attributes_IdD_http://www.organization.org/m u2http://www.example.org/m D_|http://www.organization.org/m u2yhttp://www.example.org/m Zrhttp://www.example.org/1m E9VWRZ,, --;-G-|1 2,2Z2{222BBBCCD DDDEEdFeFGGGHHHIIL"LLLNNPPSVu]޺3r%'XZ )+UWٔӕԕ֕Npq  " 4kndimo~03UWbcqsGfg9:LN}~02<?23;=:?bepqy{ ')8:HIQSeg=>@:<GHWXvw46+O ILmp!/2hj{|(*03SVdfhj}(*,.68EG '>?adqs{~-0y{%(W[/3eh  6:dg  45fgBCtuwy)*23STfgVYil<?bd46nqst7l<=+,np!";=^'(hjcdOTOQkmwz.0KLvx:<hi U"&!$,0KNY\dh  23  {[xzWY&(;<DFu x I${$s&}&T+{+}++++222222273:3O3P3333/6969999999995:6:8::o;CCCCCCCCC D DZD[DDDDDDEEEEEEEEE&F(FGFHFJFFFZGqGsGGGGGGGGGGGGGGGHH?HAH`HaHcHdHHHHHHHHHHHHHIyN~NdQQQQQQQRR?RAR~RRRRRRRRSS S(SSBSaSeShSoSSSSSSSSSSSSTT%T'T:TXAXMXQXpXsXXXXXXXXXXXXXYY&Y)YMYNYTYsYYYYYYYYYYZZZ/Z1ZAZCZSZUZfZgZZZZZr[[[[[[[\]X]Z]]]]]]]]]^^^^%^&^7^9^h^i^^^^^^^^^^^^^ _ _%_&_(______ `$`4`9`[`a`````````````aaaaHaJafagaoaqaaaaaaaaaa5bMbObnbqbbbbbbbbbbbbbhcickcFm^m`momrmmmmmmmmmmm nn%n&n6n7n9n:n}n~nnnnnnnnnooo o+o.oAoBoDoEo\o]oooo9qEqsssssssss t ttt,t.tBtCtTtVtttttu u u uu u7u:uCuFuQuTubucueufu}u~uuuuT}r}s}}}}}}}}~0~2~=~?~p~r~~~~~~~~~CEPQZ\|~  VWik̀̀',W\txف܁  <=RT  13\^|~bd{}/089MOrt/RTy{ن܆ >@KM~ۇ݇48fkˆƈ"$OQadىމ  GJVXijxz̊Ί24XZJLՌ׌68  13\^|~9;ÐƐݐߐQS?Bru,/KOW\Ɠʓ(*HI]_ɔ̔25MOYZbdޕߕ(CEUXtx #/1BCQTrsٗۗQSZ]ĘƘ+Йԙޙ!NQ]_pqٚۚ:=WYbdz{GOwxz +/9>nsˡ̡ڡܡ "23;>_.0JKqs}ףڣ24?AikƤǤ  59CHnsǥ̥?C~ЦҦ%&()89XZvx֧ا12[]ͨϨ/1<=EGfgi24ݭFGnpñı  ͲϲUVrt     '''''( (3(7(a(d(s(v(((((((Q)S){)})))****,*-*/*0*6*8*J*L*b*d*********/+1+@+B+L+N+V+W+Y+Z+|+}+++++++++++,,8,,,,--7-;-d-h-----------..:.<.N.P.]._.l.n.}.~...............(/*/Y/a/////////000 0+0-07090D0F0R0T0_0a0o0q0}000000016181n1q1z1~111111111221222T2V2x2z22222222222222333yz  !xy33333333333333333333333333333333333333333333333333333'HHdekkrr"s,soszsttpttttu%u%y@!/9C\gl{v   @9@լs­Y]-8kv9Du1:FYٳ*7iY?KLkl~4:;N/=au>>S)})1+B+++++,;,߉)f--gtt0!fϢ !%DDbFGGGGG GGGGHIL8>pr3,8,  *6X zV~4p| &^z F Hm 9@5`  _H6S k ki%6F ;%b3s5qg         j         j         j        t*                ld         j                 6J [8w9^JMeB6^JM22KKJ [  zl/I1MY(Z A?I.QUv 6GHH][xt !R#*/`44BFNs[]d+opSuv;| 0q8=`ntw JT]rA| 8?NINO  ^!%+JQXd/p!{' #Z%(0CODwGT  * >0 A? P V X fw ~ ? :  B u# O$ ( 6 H@ a j ~ N 1 ! & 0 C E T Y \i ~i o Wt { {    " |( ( 4 ? A ]K L mX }^ x z b   . A 5L [P W _W 0i X5a$e% &%7FuKGm-r&1c<G@H g{juqzY. U $k7>@BP`z+&-@FiVVW__oQq_q{ a%&,c/A5:@{_8e'f:fu f"(2*;<=M|  ^s)4DbHM{SYb|#h/z;NKRg}  (GNPYofoK Y['N-46sHSkpl2o (!HMGUqswM $n'(.,7 bdm:u{ 7Dnehn%L=/2[5:D^#j #<;6K\\\c&d''HOdntyz4|1,V8ENFU[nn}  % *% $? A Z c_ ~c g uj j t 5!!C!P!c!k!"5""?0"3"5"H"VJ"jd"t"y"{"# ##'#<(#.#w1#;?#S#~c#g#hh#n#z#z##)$$$p*$;$\?$K$L$iR$Z$ r$w$lx$ %%%%\G%x% & &f&&?&P!& (&A<&D&"G&KX&G^&l&y';'? ' 'O'''|"'"':6'%7'<'?'kB'fM'N'`V'j'u'(( ((%(H,(>(F(J(gK(=T(X(AZ( g(ml(}() )j) ,)L-)!:)X?)T)c)!q)q)9})#*%*(*%G*cG* I*f*v*S+++&+!+r$+$/+H+ZP+\+w+f ,w,4#,K,M,#o,->+-[/-9-s .% .(.:.?.B.zY.c.o.u.r// /s//'#/'/2/i@/D/Q/Y/b]/;o/C 0 0 0;080"0Q%04040#80J0!J0Q0[0d0s01+1H1L1T1Za1x1z11>2%2&5292;2?2C2BL2(_2s_2g2y2~23(313iD3I3R3i3l3n3` 44J44'4N94t94aD4O4V4Z4L{4~4 5j555g505d25M=5F5P5h56v6+66r6$<61A6A6[Q6Tn60{6}{6}777%67D67iF7SM7-N7R7W7]7E^7b7h7tm7x78R888^(8+8028\Y8[8g8^x89 9*949TM9N9>O9 R9i_9b9c9Ml9z9. ::$:u%:W&:(:):y<:E:J:L:Q:R:W:b:j:p:; ;;[;;$;';,;\0;4;:;>^;<f< <<@<9<"<*<.<p2<2 >#>V3>8>mC>D> j>x>~> ?T-?i.?2?7?>?d@?SR?S?"U?M]?ui?!@)@.@4J@^@AA A$?A]A?`A=bAwfAgApA\}A3~A/ BBsBt&B(-BP4BEBMBB_BdBxB/zBC*Cz8C=?C ECwKC,RCGSCVCt]CiCzCQ DmD0D+3D4D5D;DKDYDYDmaDcDgDglDMEEE^ EEE$E,Eu:EFE OEfSEiEjEzE FF'F+)F+F-F8FRFkTFXF]FraFCG HGVGjGtGHHHHEH?H !HD2HOHRH6VHPaHdH%rHuH|uHI~IvIII6"Io-I|:IJ>I{SIeIfInIWtItI-J.Jc5JGJHJOJ_JbJcJXgJyJJJKKK|.K1K7KEKMGK\XKYKdKLLLdL.L=L{HLAWLpLr|L}LkLMG M MM M_'M5/Mk>MzLMhRMXMDrMUNCN N N N*NHNZN|[NpNsN~NjOO%O3Og:O>O?OVO]O1^OeOqO6rOrO\P PTP&P9P?PCHPNPLwPZQ"Q*Q8Q?Q6DQNQQeQ.hQ:oQasQuQR RR2R jRuRS:S{?S?S GS qST< T-TA?TITheTgTqT{TUUX U UU-U7UAUBU'GUIUZIUVUV= V.VR>V eV@hVnVWWs WWWWW21W]ZCZ+XZkZ|Z1}Z}Z~ZL [$['[3[w:[I[I[NM[W[ [[c[~[\\\"\(\)\N;\{E\K\dO\V\f\i\w\y\{\^ ]]]]:]pG]CL]bO]p]q]^^M ^^ ^C%^/^57^*C^D^+O^IW^n[^a^c^q^q^J__X3_ =_w>_WB_Z_j_n|_S$`(`*8`0K`M`{X`*``e`g`j`wl`Lv`y`a7a'a aa(a+a 9aKa#]a_anhaarabGbbb+b.b 9b:b=bCbxRbWb7b~c#c5&czc[|c~cdM"d$d/d=dX>d`dCdd\dd:idrd e eee)e#eg3eBe'CeXHeWe>We"_eqeveffM.f9fkBf Df9LfLOfUfvVfP[fufg^gygg gegg!g4gPgofgngh%h$h0h4hI7hf=hOh&bh ii!i %i4i5i'6iLi8YiDYi[iD`i3aijjj:jj!j"j*jIjDKjLjkPjXjZjYk kkk\)k6k:k3Ek=FkQk[k fk?jkkllllzlllE%l'l@0lTGlGl%IlKlVl\_lhlilmm++m^Km^m_m8kmn nndnEn"n:&n.n0nHngTn^ncnslnlno~oouoDo{o!ogMoToG\or^o`lod&p=p{CpfIpLpRpsp ~pq/"q$q$qK7q9qMq`qcqpq{qArrr\+rA-r0r9r:r=rMr.Trytrtr}rssWsss-s6sj=sHsQs]ds=t_t(t4t6t8tHt1Pt*[t_\tatbt>ktntuC;uhxLx_cxcxgxmxqxtx=zxxy?yn)yB-y-y-y5y@yeLy^yuyz zzez>z@zZEzMzSzVzWz[z7lzlz{U{:%{5{8{H{^{}{)|*|0|9|hA|H|tI|S|Y|t|}} }r}5}K<}vG}I}#P}$]}rr})u}w}x}}8~ ~*~.~q4~O~pP~]~l~m~n~u~b,%[2OWZhs 9n #/R@yJ?K=M(_p"k<4r~~ xAaF$Kxfo^qQ} YWe)U35>AF!IJ2uvw *-M2Z@FIPG\ei!j+-/0CNQm 5^ax) $;),-X-/914GJhd\gm-x$3!/u4:;>6@NOPWeAfp{|_}{"{'9GLh]mn!rQ #'W;<COUSfuTD$*,)124RXSCU]`afs~.9 z'z:;?X; A "_8:NUU;ad| I &?12<1PVtgey 3c #7=JxZd=kx .V/0VD,Vb|dmpXuwmw8 1&z'+3@Z[^g-1 (q*,,`9lTTVBiqit2~ o:DS'Tu}*1bE\b$z }5GW\N_jkyz'%025s8B],E/B5P]uxz4 ;MPikv}]x1=FGDHKIPWU=_"pb "u924M>ADuLMHgnsuo{ #).7\>EF?]]_ A5IrzA +/4<NR\dlqiuv|}  6:jE|LSWf{ iP#b7;D cmug{}E~$ ;2+6=c>pOXp{Av#D<>DIVY^3b=bgghopP EF\NMXIb~deuPR`cN 8HKhgncv{;NCOV{}zF&:@P\cckc}b m)*--y.01CERL,"?8)MqXZ}p n)6:fgnnpvYw~]Z+g!O%)y55(MYccv'2h; =PyT_Eeijq9-Yj nNpu~"9 ;>EEGoH6QQ\~au YjAo*3!q'O^$f;ikrzt #N-%3BJ]_adwy)+013JS_oey#>`@E>(+w.247KV\Vv_9f9gpaxu{|?7GSm]sN$<)/n3<G JKVSWfdlZ|~La.>RV6_ak| ."U"[42@Th:i mmzl& K 2+\/d0;3>KS\flu4+ ,EAI6Ja xVL l))7@QrsxX27HijY}$,)uMWZpq0sQ{F0y&'(?28? EXY]x_.B3IiaqvXq3<tAGTpY]o| {7<89?HNXc2cmopSrKS(5j8oPhj7|6~ s,g.676W7^Svk 11o26I9AJV]]\nuQx- =MOoVhl'...6<uBK W^/`dww`8\:@BW>` a$cCegk^y~|6S]ygtCj %&++.;=PVpzm  $:oCP fr?D t+pKxP#RY5xFz})+6;h>HZ?o,~9BFP];` : %L #(./(S!n~< Lx %l.3CKH+KSW2\`)egyMr %9-6"")P`V[[`ayl!"1_2<1L@jmoru x@LOexy`*07CRkVWEh|}{f i30?vJJ'QaJ| 3w()3: =C?_Nrm^+!$R&+6:4=@NMTUpWqV} q WWi`drisg ?&SWhEzpz #:w5>"#9PLOZjr|^ w$%*.1HKS\huq!Nis}:~?B]{bxtxzeUr-<>sEFU:]+*-17<ANPXYboJrz"s'+:<>@UMMbay{dF")+t-`Dqv%*2C:>JXb[G\kZq6}'$1%;@_i@X 2*MrUX-dk3m.69HGYk )8;PeTL$L05.BQUevzT"!/3=P\a^k0t1z}A*+51 ?kBNo"~ b!/3'KRUhlcptv= 6'>59AUlm y~Y  %':< AJL^v5'@JV8YXYZb'gjlkm8w{d=/W/CHZJFLkX`Btvo|b2~ -._?2SaehksId$34 BVamKmWptx! H:NSYQ\_iupu}vw~ u%&+8HtQWSeg|oIz+y6'q:jSKY@_baaegirI"*2+47FgoF!P0%FzFV\|;%'4PTW)[kwLzg{~S/+.59Xghz~DGqrrr!s"s,snsoszstttotptttttuu%uuu>G%:G`z{()=CO$0tuv ./;{|YZjkwFGfgt "#:LYBCKL\st|} #ablm}$%5tu45BCS ^_lm~%&56G^_:T[fqy !#%')+-./56789;=?ACRSTYZ[\^`abcdefglnprstuvwxyz{Uv# $ ' * + . 4 5 8 ; < ? E F I Q R U ^ _ b n o r      < @ G H J Q R T [ \ ^ e f l s t x { |    Vլ '7=GHsuwy{}­ETUVWXY[\]-/01345678kmnoqrstuv9;=>?@ABCDuwyz{|}~013456789:^_`òDzβزFHJLNPRTVXYٳ۳ݳ߳*,.01234567fghiklmnopqF/UYcmqx =>?AKLeklu}~4:;=N=aghjtu5(7KRdtuv (<NOPZipx9*Ye)N?cde   _ yáϡСס  !efmx qU#w@  E  0  ~~W$W%.+.,12459:<=>cd@$@@@"H@2h@:x@B@F@LN@T@|@@Unknown Gyorgy Rethy g:Ax Times New RomanTimes New RomanUSymbolTimes New RomanG& :Cx ArialHelveticaE& Century Gothicc&{ @CalibriArial Rounded MT BoldU Arial Unicode MSArial?5 :Cx Courier NewO5  jMS Mincho l r   cTimesNewRomanTimes New RomanO WingdingsWingdings7& [ @VerdanaC& :[`)TahomaTahoma"1ț gț gyK',^j,^jnd4d :qDHX ?A526C:\ETSI\Templates\ETSI 'new' deliverables\ETSIW_80.dotETSI ES 201 873-9 V4.4.1+Methods for Testing and Specification (MTS)MTS, testing, TTCN, XMLCML Gyorgy Rethy*                           ! " # $ % & ' ( )