Hc_tts - Управление CDR
Hc_tts_prefix
Команда позволяет установить префикс по умолчанию для всех CDR-файлов, которые будут генерироваться системой.
Аналог команды в CoCon:
/domain/<domain>/cdr/prefix
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/tts_prefix
Код HTTP-ответа:
При выполнении команды HTTP-терминал может ответить двумя сообщениями:
- 201 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла c ответом:
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="domainType">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="prefix" type="xs:string" use="required"/>
</xs:complexType>
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="domain" type="domainType" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/tts_prefix
<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_prefix.xsd">
<domain name="biysk.local" prefix="cdr_bsk" />
</in>
Ответ: 201
Hc_tts_mode
Команда позволяет установить режим генерации файла CDR-группы .default.
Аналог команды в CoCon:
/domain/<domain>/cdr/mode
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/tts_mode
Код HTTP-ответа:
При выполнении команды HTTP-терминал может ответить следующими сообщениями:
- 201 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла c ответом:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- valueType -->
<xs:complexType name="valueType">
<xs:attribute name="value" type="xs:integer" use="required"/>
</xs:complexType>
<!-- time_of_dayType -->
<xs:complexType name="time_of_dayType">
<xs:attribute name="hours" type="xs:integer" use="required"/>
<xs:attribute name="minutes" type="xs:integer" use="required"/>
<xs:attribute name="seconds" type="xs:integer" use="required"/>
</xs:complexType>
<!-- modeType -->
<xs:complexType name="modeType">
<xs:choice>
<xs:element name="count" type="valueType"/>
<xs:element name="period" type="valueType"/>
<xs:element name="time_of_day" type="time_of_dayType" maxOccurs="unbounded"/>
</xs:choice>
<xs:attribute name="domain" type="xs:string" use="required"/>
</xs:complexType>
<!-- in-->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="mode" type="modeType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/tts_mode
<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="tts_mode.xsd">
<mode domain="biysk.local">
<time_of_day hours="12" minutes="00" seconds="00"/>
<time_of_day hours="23" minutes="59" seconds="59"/>
</mode>
</in>
Ответ: 201
Hc_tts_add_cdr_group
Команда позволяет создать новую CDR-группу.
Аналог команды в CoCon:
/domain/<domain>/cdr/add_cdr_group
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/tts_add_cdr_group
Код HTTP-ответа:
При выполнении команды HTTP-терминал может ответить двумя сообщениями:
- 201 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла c ответом:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="valueType">
<xs:attribute name="value" type="xs:integer" use="required"/>
</xs:complexType>
<xs:complexType name="time_of_dayType">
<xs:attribute name="hours" type="xs:integer" use="required"/>
<xs:attribute name="minutes" type="xs:integer" use="required"/>
<xs:attribute name="seconds" type="xs:integer" use="required"/>
</xs:complexType>
<xs:simpleType name="typeType">
<xs:restriction base="xs:string">
<xs:enumeration value="time"/>
<xs:enumeration value="period"/>
<xs:enumeration value="count"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="formatType">
<xs:restriction base="xs:string">
<xs:enumeration value="csv"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="formatsType">
<xs:sequence>
<xs:element name="format" maxOccurs="4">
<xs:complexType>
<xs:attribute name="value" type="formatType" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="cdrGroupType">
<xs:sequence>
<xs:choice>
<xs:element name="count" type="valueType"/>
<xs:element name="period" type="valueType"/>
<xs:element name="time_of_day" type="time_of_dayType" maxOccurs="unbounded"/>
</xs:choice>
<xs:element name="formats" type="formatsType"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="type" type="typeType" use="required"/>
<xs:attribute name="prefix" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="domainType">
<xs:all>
<xs:element name="cdr_group" type="cdrGroupType"/>
</xs:all>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<xs:element name="in">
<xs:complexType>
<xs:all>
<xs:element name="domain" type="domainType"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/tts_add_cdr_group
<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_add_cdr_group.xsd">
<domain name="biysk.local">
<cdr_group name="group6" type="time" prefix="">
<time_of_day hours="12" minutes="30" seconds="45" />
<time_of_day hours="20" minutes="10" seconds="05" />
<formats>
<format value="csv" />
</formats>
</cdr_group>
</domain>
</in>
Ответ: 201
Hc_tts_change_cdr_group
Команда позволяет изменять параметры CDR-группы.
Аналог команды в CoCon:
/domain/<domain>/cdr/change_cdr_group
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/tts_change_cdr_group
Код HTTP-ответа:
При выполнении команды HTTP-терминал может ответить следующими сообщениями:
- 201 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла c ответом:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="error.xsd"/>
<!-- types -->
<xs:complexType name="valueType">
<xs:attribute name="value" type="xs:integer" use="required"/>
</xs:complexType>
<xs:complexType name="time_of_dayType">
<xs:attribute name="hours" type="xs:integer" use="required"/>
<xs:attribute name="minutes" type="xs:integer" use="required"/>
<xs:attribute name="seconds" type="xs:integer" use="required"/>
</xs:complexType>
<xs:simpleType name="typeType">
<xs:restriction base="xs:string">
<xs:enumeration value="time"/>
<xs:enumeration value="period"/>
<xs:enumeration value="count"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="formatType">
<xs:restriction base="xs:string">
<xs:enumeration value="csv"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="formatsType">
<xs:sequence>
<xs:element name="format" maxOccurs="4">
<xs:complexType>
<xs:attribute name="value" type="formatType" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="cdrGroupType">
<xs:sequence>
<xs:choice>
<xs:element name="count" type="valueType"/>
<xs:element name="period" type="valueType"/>
<xs:element name="time_of_day" type="time_of_dayType" maxOccurs="unbounded"/>
</xs:choice>
<xs:element name="formats" type="formatsType"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="type" type="typeType" use="required"/>
<xs:attribute name="prefix" type="xs:string" use="required"/>
<xs:attribute name="new_name" type="xs:string"/>
</xs:complexType>
<xs:complexType name="domainType">
<xs:choice>
<xs:element name="cdr_group" type="cdrGroupType"/>
</xs:choice>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<xs:simpleType name="resultType">
<xs:restriction base="xs:string">
<xs:enumeration value="ok"/>
<xs:enumeration value="domain_not_exists"/>
<xs:enumeration value="group_not_exists"/>
</xs:restriction>
</xs:simpleType>
<!-- types end -->
<!-- in -->
<xs:element name="in">
<xs:complexType>
<xs:all>
<xs:element name="domain" type="domainType"/>
</xs:all>
</xs:complexType>
</xs:element>
<!-- /in -->
<!-- out -->
<xs:element name="out">
<xs:complexType>
<xs:choice>
<xs:element name="response" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:attribute name="result" type="resultType" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="error" type="errorType" minOccurs="1" maxOccurs="1"/>
</xs:choice>
</xs:complexType>
</xs:element>
<!-- /out -->
</xs:schema>
Запрос: http://192.168.1.21:9999/commands/tts_change_cdr_group
<?xml version="1.0" encoding="UTF-8"?>
<in
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_change_cdr_group.xsd">
<domain name="biysk.local">
<cdr_group name="group6" type="period" prefix="g222" >
<period value="250" />
<formats>
<format value="csv" />
</formats>
</cdr_group>
</domain>
</in>
Ответ:
<?xml version="1.0"?>
<out
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_change_cdr_group.xsd">
<response result="ok"/>
</out>
Hc_tts_show_cdr_group
Команда позволяет просмотреть CDR-группы, декларированные в системе.
Аналог команды в CoCon:
/domain/<domain>/cdr/show
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/tts_show_cdr_group
Код HTTP-ответа:
При выполнении команды HTTP-терминал может ответить следующими сообщениями:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="domainType">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="cdr_group" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="valueType">
<xs:attribute name="value" type="xs:integer" use="required"/>
</xs:complexType>
<xs:complexType name="time_of_dayType">
<xs:attribute name="hours" type="xs:integer" use="required"/>
<xs:attribute name="minutes" type="xs:integer" use="required"/>
<xs:attribute name="seconds" type="xs:integer" use="required"/>
</xs:complexType>
<xs:simpleType name="formatType">
<xs:restriction base="xs:string">
<xs:enumeration value="csv"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="formatsType">
<xs:sequence>
<xs:element name="format" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="value" type="formatType" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="typeType">
<xs:restriction base="xs:string">
<xs:enumeration value="time"/>
<xs:enumeration value="period"/>
<xs:enumeration value="count"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="cdrGroupType">
<xs:sequence>
<xs:choice>
<xs:element name="count" type="valueType"/>
<xs:element name="period" type="valueType"/>
<xs:element name="time_of_day" type="time_of_dayType" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:element name="formats" type="formatsType" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="type" type="typeType" use="required"/>
<xs:attribute name="prefix" type="xs:string" use="required"/>
</xs:complexType>
<xs:element name="in">
<xs:complexType>
<xs:all>
<xs:element name="domain" type="domainType"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="out">
<xs:complexType>
<xs:sequence>
<xs:element name="cdr_group" type="cdrGroupType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/tts_show_cdr_group
<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_show_cdr_group.xsd">
<domain name="biysk.local" cdr_group="group6"/>
</in>
Ответ:
<?xml version="1.0"?>
<out
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_show_cdr_group.xsd">
<cdr_group name="group6" type="period" prefix="g222">
<period value="250"/>
<formats>
<format value="csv"/>
</formats>
</cdr_group>
</out>
Запрос: http://192.168.1.21:9999/commands/tts_show_cdr_group
<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_show_cdr_group.xsd">
<domain name="biysk.local"/>
</in>
Ответ:
<?xml version="1.0"?>
<out
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_show_cdr_group.xsd">
<cdr_group name="bsk3" type="time" prefix="bsk3">
<time_of_day hours="0" minutes="0" seconds="0"/>
<formats>
<format value="csv"/>
</formats>
</cdr_group>
<cdr_group name="group6" type="period" prefix="g222">
<period value="250"/>
<formats>
<format value="csv"/>
</formats>
</cdr_group>
</out>
Hc_tts_info
Команда позволяет просмотреть настройки группы .default.
Аналог команды в CoCon:
/domain/<domain>/cdr/info
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/tts_info
Код HTTP-ответа:
При выполнении команды HTTP-терминал может ответить следующими сообщениями:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла c ответом:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- valueType -->
<xs:complexType name="valueType">
<xs:attribute name="value" type="xs:integer" use="required"/>
</xs:complexType>
<!-- prefixType -->
<xs:complexType name="prefixType">
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
<!-- time_of_dayType-->
<xs:complexType name="time_of_dayType">
<xs:attribute name="hours" type="xs:integer" use="required"/>
<xs:attribute name="minutes" type="xs:integer" use="required"/>
<xs:attribute name="seconds" type="xs:integer" use="required"/>
</xs:complexType>
<!-- formatType-->
<xs:simpleType name="formatType">
<xs:restriction base="xs:string">
<xs:enumeration value="csv"/>
</xs:restriction>
</xs:simpleType>
<!-- formatsType-->
<xs:complexType name="formatsType">
<xs:sequence>
<xs:element name="format" maxOccurs="4">
<xs:complexType>
<xs:attribute name="value" type="formatType" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- domainType-->
<xs:complexType name="domainType">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<!-- infoType-->
<xs:complexType name="infoType">
<xs:all>
<xs:element name="prefix" type="prefixType" minOccurs="0"/>
<xs:element name="formats" type="formatsType" minOccurs="0"/>
<xs:element name="mode" minOccurs="0">
<xs:complexType>
<xs:choice>
<xs:element name="count" type="valueType" minOccurs="0"/>
<xs:element name="period" type="valueType" minOccurs="0"/>
<xs:element name="time_of_day" type="time_of_dayType" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<!-- in-->
<xs:element name="in">
<xs:complexType>
<xs:all>
<xs:element name="domain" type="domainType"/>
</xs:all>
</xs:complexType>
</xs:element>
<!-- out-->
<xs:element name="out">
<xs:complexType>
<xs:sequence>
<xs:element name="info" type="infoType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/tts_info
<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_info.xsd">
<domain name="biysk.local" />
</in>
Ответ:
<?xml version="1.0"?>
<out
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_info.xsd">
<info>
<prefix value="cdr_bsk"/>
<mode>
<time_of_day hours="12" minutes="0" seconds="0"/>
<time_of_day hours="23" minutes="59" seconds="59"/>
</mode>
</info>
</out>
Hc_tts_remove_cdr_group
Команда позволяет удалить CDR-группу из системы.
Аналог команды в CoCon:
/domain/<domain>/cdr/remove
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/tts_remove_cdr_group
Код HTTP-ответа:
При выполнении команды HTTP-терминал может ответить следующими сообщениями:
- 204 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла c ответом:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="domainType">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="cdr_group" type="xs:string" use="required"/>
</xs:complexType>
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="domain" type="domainType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/tts_remove_cdr_group
<?xml version="1.0" encoding="UTF-8"?>
<in
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_remove_cdr_group.xsd">
<domain name="biysk.local" cdr_group="gs_test3" />
</in>
Ответ: 204
Hc_rename_cdr_group
Команда позволяет переименовать группу CDR
Аналог команды в CoCon:
domain/p.city/cdr/rename_cdr_group
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/tts_rename_cdr_group
Код HTTP-ответа:
При выполнении команды HTTP-терминал может ответить двумя сообщениями:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла c ответом rename_cdr_group.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" id="rename_cdr_group">
<xs:annotation>
<xs:documentation xml:lang="en">
Rename CDR group
Copyright (C) 2015, Eltex. All right reserved.
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="error.xsd"/>
<xs:simpleType name="resultType">
<xs:restriction base="xs:string">
<xs:enumeration value="ok"/>
<xs:enumeration value="domain_not_exists"/>
<xs:enumeration value="group_not_exists"/>
</xs:restriction>
</xs:simpleType>
<!-- in -->
<xs:element name="in">
<xs:complexType>
<xs:all>
<xs:element name="request" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:attribute name="domain" type="xs:string" use="required"/>
<xs:attribute name="old_name" type="xs:string" use="required"/>
<xs:attribute name="new_name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<!-- /in -->
<!-- out -->
<xs:element name="out">
<xs:complexType>
<xs:choice>
<xs:element name="response" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:attribute name="result" type="resultType" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="error" type="errorType" minOccurs="1" maxOccurs="1"/>
</xs:choice>
</xs:complexType>
</xs:element>
<!-- /out -->
</xs:schema>
Пример
Запрос:
http://192.168.1.21:9999/commands/tts_rename_cdr_group
<?xml version="1.0" encoding="UTF-8"?>
<in
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="rename_cdr_group.xsd">
<request domain="biysk.local" old_name="group6" new_name="gs_test3"/>
</in>
Ответ:
<?xml version="1.0"?>
<out
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="rename_cdr_group.xsd">
<response result="ok"/>
</out>
Hс_tts_validate_cdr
Команда позволяет проверить подпись CDR файла или определенной записи в CDR.
Аналог команды в CoCon:
domain/<DOMAIN>/cdr/validate
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/tts_validate_cdr
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation xml:lang="en">
Common error message for HttpTerminal application.
Copyright 2015, Eltex. All rights reserved.
Command to check signature on the CDR file or specific line on the CDR file.
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="error.xsd"/>
<!-- cdrTypeType -->
<xs:simpleType name="cdrTypeType">
<xs:restriction base="xs:string">
<xs:enumeration value="line"/>
<xs:enumeration value="file"/>
</xs:restriction>
</xs:simpleType>
<!-- cdrType -->
<xs:complexType name="cdrType">
<xs:attribute name="type" type="cdrTypeType" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
line - request on validation specific line of the CDR file;
file - request on validation whole CDR file
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="content" type="xs:base64Binary" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
Base64 encoded content (CDR file or one line of CDR file) to check signature.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<!-- requestType -->
<xs:complexType name="requestType">
<xs:all>
<xs:element name="cdr" type="cdrType"/>
</xs:all>
<xs:attribute name="domain" type="xs:string" use="required"/>
</xs:complexType>
<!-- responseType -->
<xs:complexType name="responseType">
<xs:attribute name="valid" type="xs:boolean" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
true - in case of entered CDR file of CDR line is valid;
false - otherwise
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<!-- in -->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request" type="requestType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- out -->
<xs:element name="out">
<xs:complexType>
<xs:sequence>
<xs:element name="response" type="responseType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/tts_validate_cdr
<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="tts_validate_cdr.xsd">
<request domain="biysk.local">
<cdr type="line" content="Y2RyIGxpbmU="/>
</request>
</in>
Ответ:
<?xml version="1.0"?>
<out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_validate_cdr.xsd">
<response valid="false"/>
</out>
Запрос на валидацию всего файла (параметр cdr type="file") http://192.168.1.21:9999/commands/tts_validate_cdr:
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="tts_validate_cdr.xsd"> <request domain="biysk.local"> <cdr type="file" content="VFlQRTtEQVRJTUU7S09EX0E7S09EX0I7Tl9UUl9HUl9BO05fVFJfR1JfQjtUX0VDRDtUX0RCQTtU X0ROQTtDQVVTRV9JU1VQO0NBVVNFX0lOVDtDT01QTEVUSU5EO0RJQUxFRF9ESUc7QUNUU1VTQjtD QVRFR19BO1BMQUNFO1JFQ19TRVE7U0VSVlVTRVI7U0VSVklORElDO1RSRUFUTUVOVDtDT05OX0lE O1JFRElSRUNURUQ7UkVESVJFQ1RJT047T1JJR19DQUxMRUQ7U1JDX0lQO0RTVF9JUDtQT1JUX0E7 UE9SVF9CO01FRElBX1BST1hZO0RJQUdOT1NUSUM7Q09ERUM7U0lHTgpDYWxsOzIwMTkuMDYuMDYg MDc6MzU6MDA7MjQwNDcwOzI0MDEwMTs7OzI7OTswOzE2O25vcm1hbDs3OzI0MDEwMTs7MTA7Mjsw OzI0MDQ3MDs7Q2FsbCBpcyBjb21wbGV0ZTszNzYxMTI5NTMwMjA5Njc3NDExOzs7OzsxOTIuMTY4 LjIuMjY7c3lzdGVtOml2cjswNjE2ZTFjZTRiNzg2YWYxOzE7Ozs2ZldMRnMrNEFuR2tvRjNuTE8w ay9iYXhGbzh2N1FUeW0zUmgreDdIMWZxWmpuaFArTUxSVk9xVUhXVldIRWUzVXgvUW9yYVFkVnkr dWowTEpJOThiUT09ClNlcnZpY2U7MjAxOS4wNi4wNiAwNzozNTowMDsyNDA0NzA7MjQwMTAxOzs7 MDswOzA7MDs7OztpbnZvY2F0aW9uOzs7MTsyNDAxMDE7Y2FsbF9yZWNvcmRpbmc7OzM3NjExMjk1 MzAyMDk2Nzc0MTE7Ozs7Ozs7Ozs7O0Y2dm52NEgxVlNMenZnM2dRc0FxRnptWmpoaC83SGNmRWg1 K3VFS3lkNnNVaVg5MkwrS1Q3T2lxdUNBaDQxMTNSTi9TQ0dXaG5HcjI5T3hkTVdSYkhnPT0KQ2Fs bDsyMDE5LjA2LjA2IDA3OjM1OjExOzI0MDQ3MDsyNDA0NjQ7OzsyOzE7MDsxNjtub3JtYWw7Nzsy NDA0NjQ7OzEwOzI7MDsyNDA0NzA7O0NhbGwgaXMgY29tcGxldGU7NzM3Nzc5ODAzMTM4Mzg2ODQ2 OTs7Ozs7MTkyLjE2OC4yLjIwMDtzeXN0ZW06aXZyOzA2MTZlMWNkZjg5YmE2ODQ7MTs7Oy9Rb3pa WHVBNThMZnplVno2aWZOTHliL2xpT3hYNHZHcWoxQmdBOW1EOGYvR3BpZWlLQnU4L1pwNVpTamdT ZGc4elduV29lczFLRDZDK3BMTEUyVnd3PT0KU2VydmljZTsyMDE5LjA2LjA2IDA3OjM1OjExOzI0 MDQ3MDsyNDA0NjQ7OzswOzA7MDswOzs7O2ludm9jYXRpb247OzsxOzI0MDQ2NDtjYWxsX3JlY29y ZGluZzs7NzM3Nzc5ODAzMTM4Mzg2ODQ2OTs7Ozs7Ozs7Ozs7OXhOTTN3RDNuY25yUDZGdEFYRnpj bWRlNFdHbkJMR3JkQjF6Rms2SS9raVVoMWQ3azM2NG1HRGlLeXpkTVJ0Ykp4UTFzaGZPRVZaT2RG MS90WDBQRUE9PQpDYWxsOzIwMTkuMDYuMDYgMDc6MzU6MTU7Mzg1NDI0MDQ3MDs0MTY5Nzc7O2Jp eXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTsyOzU7MDsxNjtub3JtYWw7Nzs0MTY5Nzc7 OzEwOzA7MDszODU0MjQwNDcwOztCeSBpdnIuIFNjcmlwdCBoYXMgYmVlbiBjb21wbGV0ZWQgYnkg ZGVmYXVsdC47MzcwMjkxMzUwNjkyMzc4NzA1Nzs7Ozs7MTkyLjE2OC4yLjg7c3lzdGVtOml2cjtz bWctNDsxOzs7VkhzOXk3M1lMU1NsZDBSd0d4K0RGVk1kdklrS2dwTW5NemNEdFJNQ3p5ZmJoYk1o KzduR1JieEJSU0I4bHR5aDQ5RXZWMC9GejNHVlNlQzJES25SOXc9PQpDYWxsOzIwMTkuMDYuMDYg MDg6MDA6MDA7Mzg1NDI0MDQ3MDswNTg7O2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFt ZTsyOzU7MDsxNjtub3JtYWw7NzswNTg7OzEwOzA7MDszODU0MjQwNDcwOztCeSBpdnIuIFNjcmlw dCBoYXMgYmVlbiBjb21wbGV0ZWQgYnkgZGVmYXVsdC47MzQ3MzE3MzgyOTI1OTkxMTQ3Mzs7Ozs7 MTkyLjE2OC4yLjg7c3lzdGVtOml2cjtzbWctNDsxOzs7eFVaTEQzcTVPU1k1bkU1Rng2MTkyVWJz ZUora0NHRkpDZW1rTmRYTTNRUHh6djJYeEIybzNzZnlLYXRYRWQ3REN4RDRUZVdrUXk2SmhMck5Q YVJkMVE9PQpDYWxsOzIwMTkuMDYuMDYgMDg6MDA6MDg7MjQwNDcwOzI0MDEwMTs7OzM7NzswOzE2 O25vcm1hbDs3OzI0MDEwMTs7MTA7MjswOzI0MDQ3MDs7Q2FsbCBpcyBjb21wbGV0ZTs0MDQ5NjM2 Nzk0MzYzNDkxODk2Ozs7OzsxOTIuMTY4LjIuMjY7c3lzdGVtOml2cjswNjE2ZTFjZTRiNzg2YWYx OzE7OzthY1drcVRqZ3hWT2FTSmNnNnlmeVU2ODlJbjRTZUZSWEM0NkVQVS9OOE5xS2N4d1I4SUEr YWVvc21WLy9Sb3gyQ0NEUGR3OGZSS3FOajN6Zm12WVBoZz09ClNlcnZpY2U7MjAxOS4wNi4wNiAw ODowMDowODsyNDA0NzA7MjQwMTAxOzs7MDswOzA7MDs7OztpbnZvY2F0aW9uOzs7MTsyNDAxMDE7 Y2FsbF9yZWNvcmRpbmc7OzQwNDk2MzY3OTQzNjM0OTE4OTY7Ozs7Ozs7Ozs7O096bGxyRG5TTU9n RS9SUTk5RGRURHpwUHV2Qm12cFJaSm5QbkZFZG0rN2Yvd3ZsRVd4TjcyRkJnWEFlc2gxOUhkeGw0 WnNoZ1MwRU03RFYrdkxEdWZRPT0KQ2FsbDsyMDE5LjA2LjA2IDA4OjAwOjE4OzI0MDQ3MDsyNDA0 NjQ7OzsyOzE7MDsxNjtub3JtYWw7NzsyNDA0NjQ7OzEwOzI7MDsyNDA0NzA7O0NhbGwgaXMgY29t cGxldGU7MzYxOTAzMDYzNTE2MzkwMjc2ODs7Ozs7MTkyLjE2OC4yLjIwMDtzeXN0ZW06aXZyOzA2 MTZlMWNkZjg5YmE2ODQ7MTs7O0JnYk04QisyYjd5b0tGV3FKQ3ZDMjhMdUt1Nk9JUWxIQmFKbHNZ U3BVWThPRW0vMEY3Wk9sTVM4QklkWTVFd1R0S1crK0RGUFBVRGwvdnNuaDJOZGd3PT0KU2Vydmlj ZTsyMDE5LjA2LjA2IDA4OjAwOjE4OzI0MDQ3MDsyNDA0NjQ7OzswOzA7MDswOzs7O2ludm9jYXRp b247OzsxOzI0MDQ2NDtjYWxsX3JlY29yZGluZzs7MzYxOTAzMDYzNTE2MzkwMjc2ODs7Ozs7Ozs7 Ozs7T2N0YXBSRlMwNEVNanpXRzFNUkVQMXoyUHNkNjRhWkF0MVhlSndNU1RkUkpkQ0hpd0F0T0FK Tng2Y1JYQXhzQnN0ZTZKeEphc2JEUEtlY1pPbVcxWGc9PQpDYWxsOzIwMTkuMDYuMDYgMDg6MzI6 MDY7OTYxNjI2NjE0OTsyNDUyODU7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2Jp eXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NTI4 NTs7MTA7MTswOzk2MTYyNjYxNDk7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxNDM1 MTI0MjQ2Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVw aG9uZS1ldmVudDtPSDhUN3RBL21SR0hWZ2RLc2tMR1h1eUJvOThQZkF1ZWtzcFVUeDdBYUdYZXRu MlppVGRJdWljY3AzUXVLYmN4NWNpVVlOVnVqUEtGYmVkSDUyUWE0QT09CkNhbGw7MjAxOS4wNi4w NiAwODo0MToxMjs5NjE5OTE4OTg5OzI0MDUwNztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0 b25hbWU7OzMwMDsxOzA7MDs7NzsyNDA1MDc7OzEwOzsxOzk2MTk5MTg5ODk7OzszNzI1NTAyNzQ5 Ozs7OzE5Mi4xNjguMi44OzE5Mi4xNjguMi4yNjtzbWctNDswNjE2ZTFjZTA0MzgzODk2OzE7O1BD TUEsdGVsZXBob25lLWV2ZW50O3R2T1dyMlQ0b3hCNElxbTRIQjlHVHBxRVVNaHNYMHU4YVVMUjRB M0R6MDFIMlpYdDFTakIwNkduWjNtUGNTWjdHdEQ2RFl6SWxlSzU0S21GZ083ZkR3PT0KQ2FsbDsy MDE5LjA2LjA2IDA4OjQ2OjE0Ozk2MTk5MTg5ODk7MjQwNTA3O2JpeXNrLmxvY2FsLnNtZy5nci50 cnVuay5hdXRvbmFtZTs7MzAwOzA7MDswOzs3OzI0MDUwNzs7MTA7OzI7OTYxOTkxODk4OTs7OzM3 MjU1MDI3NDk7Ozs7MTkyLjE2OC4yLjg7MTkyLjE2OC4yLjI2O3NtZy00OzA2MTZlMWNlMDQzODM4 OTY7MTs7UENNQSx0ZWxlcGhvbmUtZXZlbnQ7SytyZnN2SHFDU3diRHh0UzNhOXdncE9sNkUwYjJu azB6OVdlSXNLRVlINVNTeHVlZklpZFl6Ky9VY0c0L2VOTERlUytRRDQxUGNXZTRUUzEyNGc1M3c9 PQpDYWxsOzIwMTkuMDYuMDYgMDg6NTE6MTQ7OTYxOTkxODk4OTsyNDA1MDc7Yml5c2subG9jYWwu c21nLmdyLnRydW5rLmF1dG9uYW1lOzszMDA7MDswOzA7Ozc7MjQwNTA3OzsxMDs7Mzs5NjE5OTE4 OTg5Ozs7MzcyNTUwMjc0OTs7OzsxOTIuMTY4LjIuODsxOTIuMTY4LjIuMjY7c21nLTQ7MDYxNmUx Y2UwNDM4Mzg5NjsxOztQQ01BLHRlbGVwaG9uZS1ldmVudDtwc1krS1hTTGllTlduZjl2SDBMelAz OWFwZDJSTncyWlo5SUtjQ3phTlpjdmdkazMvRGtJazhoaUN5bGgxem5NYklTU1FONHd4azV5M2ll eC9NaEpYUT09CkNhbGw7MjAxOS4wNi4wNiAwODo1NToxMzs5MDk3Mjc3NzA5OzI0NTI4NTtiaXlz ay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1 dG9uYW1lOzA7MDsyNDszMTtub3JtYWw7MTsyNDUyODU7OzEwOzE7MDs5MDk3Mjc3NzA5OztDYWxs IGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7Mjk1NzQyODA3NTs7OzsxOTIuMTY4LjIuODs7c21n LTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7MEt1SFlDTEJzZHdjZStB SGFKLy9ZZ2hlSTdCZ2pKMHI0NWxqQ2hoODRhREgxOU8ySVZ6THF5SWlSbVd4V3U1WnF0TzliUS9M SjVrbERuY21Rc2VYQnc9PQpDYWxsOzIwMTkuMDYuMDYgMDg6NTY6MTQ7OTYxOTkxODk4OTsyNDA1 MDc7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lOzszMDA7MDswOzA7Ozc7MjQwNTA3 OzsxMDs7NDs5NjE5OTE4OTg5Ozs7MzcyNTUwMjc0OTs7OzsxOTIuMTY4LjIuODsxOTIuMTY4LjIu MjY7c21nLTQ7MDYxNmUxY2UwNDM4Mzg5NjsxOztQQ01BLHRlbGVwaG9uZS1ldmVudDtaSjZ2ME9k eWVDTUVFY3FsZ2x3akIzcWpPanRxVnl2TW0xMnIrbkk0TTV3aEhkU24vSEt1SU4vbzF1b0V1Z3J2 T3N0TS9JZXo1YTM4L05uWGRiZUlFUT09CkNhbGw7MjAxOS4wNi4wNiAwOTowMToxNDs5NjE5OTE4 OTg5OzI0MDUwNztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7OzMwMDswOzA7MDs7 NzsyNDA1MDc7OzEwOzs1Ozk2MTk5MTg5ODk7OzszNzI1NTAyNzQ5Ozs7OzE5Mi4xNjguMi44OzE5 Mi4xNjguMi4yNjtzbWctNDswNjE2ZTFjZTA0MzgzODk2OzE7O1BDTUEsdGVsZXBob25lLWV2ZW50 O0NWZjJMMERDa21pVzIxeTc2MXpKTzdrRnMxeWNuOXJTY0ZIVVh3aEs0V1lOZHM0SjU5VXV0djYw TFNWT096cW0wQmsvcFlOQTZBcnJrSFlmT2JzS3V3PT0KQ2FsbDsyMDE5LjA2LjA2IDA5OjA2OjE0 Ozk2MTk5MTg5ODk7MjQwNTA3O2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTs7MzAw OzA7MDswOzs3OzI0MDUwNzs7MTA7OzY7OTYxOTkxODk4OTs7OzM3MjU1MDI3NDk7Ozs7MTkyLjE2 OC4yLjg7MTkyLjE2OC4yLjI2O3NtZy00OzA2MTZlMWNlMDQzODM4OTY7MTs7UENNQSx0ZWxlcGhv bmUtZXZlbnQ7Mkd1SGJ3OENrb2lXTHZjUEgvTGt5djRKSVIwejc2K1lORkFBelBDdXllVFB2V0dB UzBDcUdIV2xkQnRtWFJ4ZVJ6SXlxYmdYQ1NXWmZHaWNBTVRtUFE9PQpDYWxsOzIwMTkuMDYuMDYg MDk6MTE6MTQ7OTYxOTkxODk4OTsyNDA1MDc7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9u YW1lOzszMDA7MDswOzA7Ozc7MjQwNTA3OzsxMDs7Nzs5NjE5OTE4OTg5Ozs7MzcyNTUwMjc0OTs7 OzsxOTIuMTY4LjIuODsxOTIuMTY4LjIuMjY7c21nLTQ7MDYxNmUxY2UwNDM4Mzg5NjsxOztQQ01B LHRlbGVwaG9uZS1ldmVudDtldisydnE2cGR1TFErZHhwV1d5eHZRZFN1ak1qK09HUlNFUkw0OGdo WlQ4eUV4dWE1TitWcGFJTXZhczhINlJrcUVzYnI4KzdwU2JaRnBPU0hWS0RGQT09CkNhbGw7MjAx OS4wNi4wNiAwOToxNjoxNDs5NjE5OTE4OTg5OzI0MDUwNztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1 bmsuYXV0b25hbWU7OzE3ODswOzA7MTY7bm9ybWFsOzc7MjQwNTA3OzsxMDsxOzA7OTYxOTkxODk4 OTs7SVNVUCBjYWxsIGlzIGNvbXBsZXRlOzM3MjU1MDI3NDk7Ozs7MTkyLjE2OC4yLjg7MTkyLjE2 OC4yLjI2O3NtZy00OzA2MTZlMWNlMDQzODM4OTY7MTs7UENNQSx0ZWxlcGhvbmUtZXZlbnQ7UTVz VzE1Mkc1TTFQd1V1bW1XbGRwMUNBdzY2cFcrWEowSEFsR1lJQjcwampFUGFhdmZVN2pHWUtUN2VO Z3pDdzFaMWJYQkVXVnNQWmJ5a0pUMkVyQmc9PQpDYWxsOzIwMTkuMDYuMDYgMDk6Mjk6MTE7OTY1 MDI1MjY5NDsyNDUyODU7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxv Y2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NTI4NTs7MTA7 MTswOzk2NTAyNTI2OTQ7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsyOTE1MTgzNTQx Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1l dmVudDtpTHJ2dVB2UW5TajE4Z0ErS3Z0THpVcUdHNW9oMVhWQXhVMmwwcmJLdTdBT1VOdDk4YjBF SytEMWR6ZzB0VS82bXRqZE12UWZBRk5vdENLMEpjVG9IQT09CkNhbGw7MjAxOS4wNi4wNiAwOTo1 MzowNDszODUyMjkxNzAwOzI0NTk2MjtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7 Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNTsxODtub3RSZWFjaGFibGU7 MTsyNDU5NjI7OzEwOzA7MDszODUyMjkxNzAwOzt0ZXJtaW5hdGlvbiBzaWRlIG5vdCByZXNwb25z ZTszMzYzOTY1MjU7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7UENNQSxQQ01VLEc3Mjks dGVsZXBob25lLWV2ZW50O1ZuVWpjUHVQWXVTOHRpamFOUDlKd2xCWWswZVJxQzFBSGJMbDlUL2RW WVZ6Um4yU0gzMmp2U2haTGNscFJmNkNqK2RCWVFIUEs0NFBGTFFtVTJYckdBPT0KQ2FsbDsyMDE5 LjA2LjA2IDEwOjAwOjQ2OzkwOTQ1NDMwMjM7MjQ1Mjg1O2JpeXNrLmxvY2FsLnNtZy5nci50cnVu ay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzMxO25v cm1hbDsxOzI0NTI4NTs7MTA7MTswOzkwOTQ1NDMwMjM7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGlu aXRpYXRvcjsyMjczNzc4MjA2Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENN VSxHNzI5LHRlbGVwaG9uZS1ldmVudDs1Q0FOMk9YUVdZRkswTXllNzBwcXk3VXpYeS9NcTdxWXhK WXgvYzNHbzUyRUFhSVVxeHpjMDlvcTdIUjUxWXpYR1EwcXRhSG9RM016UGRLNGdIU2JqZz09CkNh bGw7MjAxOS4wNi4wNiAxMDoxMjo0Njs5NjQ1MTM1MzM4OzI0NTk4ODtiaXlzay5sb2NhbC5zbWcu Z3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsy NDsxMDI7bm9ybWFsOzE7MjQ1OTg4OzsxMDsxOzA7OTY0NTEzNTMzODs7Q2FsbCBpcyBjYW5jZWxs ZWQgYnkgaW5pdGlhdG9yOzk5ODgyNjM0NTs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQ Q01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7czFxOFMxdmZNTTlPM1hBdUlQTnUwS3VNZUtV WVZiYmZuSU5NMEVCdS9xeXVGRGd4dHJ3dWllVUVaTzVNb2hzQVViUDFIeXFia3A1Z1NBenc3WEVY Ync9PQpDYWxsOzIwMTkuMDYuMDYgMTA6MTI6NTY7OTI1MDAzNjU4OTsyNDU5ODg7Yml5c2subG9j YWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFt ZTswOzA7MjM7MTY7bm9ybWFsOzE7MjQ1OTg4OzsxMDsxOzA7OTI1MDAzNjU4OTs7Q2FsbCBpcyBj YW5jZWxsZWQgYnkgaW5pdGlhdG9yOzEwNDA3MDc0NzE7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2Vt czE7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50OzFNcUxvRUJWVlZrdlpqdjZxRUQr WEJ0eVN0NlZ2UFgrMVhVWWwyWTZJQ21tS0k1S0I0Vm5BbFJnMWNIS1NoZ2xDNDdSMm8yc1ZFb2pJ cVlxcmRxeit3PT0KQ2FsbDsyMDE5LjA2LjA2IDEwOjEzOjExOzQ5NTc5NzkwODg7MjQ1OTg4O2Jp eXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsu YXV0b25hbWU7MDswOzEwOzE2O25vcm1hbDsxOzI0NTk4ODs7MTA7MTswOzQ5NTc5NzkwODg7O0Nh bGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxMTA0MDgzMzkxOzs7OzE5Mi4xNjguMi44Oztz bWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtHeWRHVEtRbUlxVUJj YTE3NkFQQThRZ0Eyd01HSjA5KzZZK2VkTTRYbTk4Si9DM3VnS1I5ZndMVVRkVEtKTVZXa0IzaXRw MlM3M0tDdmNLa1F2Z1I5QT09CkNhbGw7MjAxOS4wNi4wNiAxMDoyOToxNTs5MjUwMDM2NTg5OzI0 NTk4ODtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3Lmdy LnRydW5rLmF1dG9uYW1lOzA7MDsyNDsxNjtub3JtYWw7MTsyNDU5ODg7OzEwOzE7MDs5MjUwMDM2 NTg5OztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7ODUyMjkxNTI3Ozs7OzE5Mi4xNjgu Mi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDt0Y09lVmdo dGN5K1hVSCtKdW9xeWpMZURkWFVsbHpNaG5TWVJVRlBnVlBYcUN4S3NVREFnZ3FPZ0o3OXRRb3pG VGw3dmY4ODBHeStxSVJNMEVaWUpZUT09CkNhbGw7MjAxOS4wNi4wNiAxMDoyOTozNTs5NjUwMjUy NjExOzI0NTI4NTtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwu c3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDsxMDI7bm9ybWFsOzE7MjQ1Mjg1OzsxMDsxOzA7 OTY1MDI1MjYxMTs7Q2FsbCBpcyBjYW5jZWxsZWQgYnkgaW5pdGlhdG9yOzkzNTU2OTg4NTs7Ozsx OTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7 UFFFWWxROVFsNWdDcUZrU2dTR1VyUC9oMlNacmduQ3hlS0syZmY4a3pUdHgyaStHTnVpd05NV1dq Mis0ZVE1Y25kMnBLU1oycEg3ejQvS2V2SVV4Z3c9PQpDYWxsOzIwMTkuMDYuMDYgMTA6NDI6MjE7 OTIzNDg5MTUyNTsyNDU1OTc7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNr LmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NTU5Nzs7 MTA7MTswOzkyMzQ4OTE1MjU7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjs0MTQ4NDgw NTYzOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9u ZS1ldmVudDtlT1R2S1U4VHpLQ2RFbkxVaEZFczdocUFpRkQza21HSHdidGdHOW1zMEl5UmpxVW1t a2MvYkYrc1o2QVp1OUYzMklvekxGZERCNWFSLzhyZW0zM0lvQT09CkNhbGw7MjAxOS4wNi4wNiAx MDo0Mjo0Nzs5MjM0ODkxNTI1OzI0NTU5NztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25h bWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDs5OzE2O25vcm1hbDsxOzI0 NTU5Nzs7MTA7MTswOzkyMzQ4OTE1MjU7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjs0 MjU3NjM0MTgxOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRl bGVwaG9uZS1ldmVudDtwVDFWNmgxWGZ0NDhEQWpSYnVGTzJiek4rMU1Qcm9QVjBiTFltMkw1MGdk UmJHa0ZRTVJFaHBQTHlINngyei9EOHlMaU9yLzIyTGozMkJsN1RJY0dtQT09CkNhbGw7MjAxOS4w Ni4wNiAxMDo0ODoxMDs5NjIzMTMyNjQ0OzI0NTYyNjtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsu YXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDsxODthUHR5 RGlzYzsxOzI0NTYyNjs7MTA7MTswOzk2MjMxMzI2NDQ7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGlu aXRpYXRvcjsxMzE3OTM0OTE1Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENN VSxHNzI5LHRlbGVwaG9uZS1ldmVudDtzSDQ5SGgzMk12QVMyLzZ1Yk0xTTFBRDFPYzQxZ2hNNlFS Z3FqZC9aNmtTNHVLcVdreGNnS0ZvUjd1OE9VT01mcU1sYkZqQkpDMzZObTNqY0VXd3pRZz09CkNh bGw7MjAxOS4wNi4wNiAxMDo1MToxNTs5MjM0ODkxNTI1OzI0NTA1ODtiaXlzay5sb2NhbC5zbWcu Z3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsy NDsxMDI7bm9ybWFsOzE7MjQ1MDU4OzsxMDsxOzA7OTIzNDg5MTUyNTs7Q2FsbCBpcyBjYW5jZWxs ZWQgYnkgaW5pdGlhdG9yOzIwOTM1NzcxMzc7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7 UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O2dtY3JKZk1WenJ3NGdJWHNuN1ZuZG1OS1FS aVcwQlY5SEYyR3A2TmRheG5JZ1dZWHlMaUpMaFk1WmR5elVCVUxWU0t2Q29yWFJ3SEx5QXBkY2FN ZFVRPT0KQ2FsbDsyMDE5LjA2LjA2IDEwOjUxOjQzOzkyMzQ4OTE1MjU7MjQ1MDU4O2JpeXNrLmxv Y2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25h bWU7MDswOzc7MTY7bm9ybWFsOzE7MjQ1MDU4OzsxMDsxOzA7OTIzNDg5MTUyNTs7Q2FsbCBpcyBj YW5jZWxsZWQgYnkgaW5pdGlhdG9yOzIyMTA2ODY1MjY7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2Vt czE7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O2dPUFJSU0VFNjErZG03YWRJVVFK SmhzRC9HSnR5cUJqZG5KRFJZTG9mM3ZLcVUrZm1CQUVUdDRGU2txN0dOUTNMUFkvNStnWTF5UFNF ci9vaXhHMEtnPT0KQ2FsbDsyMDE5LjA2LjA2IDEwOjU2OjU5OzQ5NTEzOTg1ODc7MjQ2NzY4O2Jp eXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsu YXV0b25hbWU7MDswOzk7MjE7YVB0eURpc2M7MTsyNDY3Njg7OzIyODsxOzA7NDk1MTM5ODU4Nzs7 Q2FsbCBpcyBjYW5jZWxsZWQgYnkgaW5pdGlhdG9yOzM1MzYzMzE5MDQ7Ozs7MTkyLjE2OC4yLjg7 O3NtZy00O2VtczI7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50OzNOSmJ4Wld0QWUz Wko3aW04c0s2SVlhYkUxTThGVWI4TGdDN3l1NFN6eStPQWpwTDdOVVRDWFR0Si9RTjZ3eDhVKzNM R1ZRSFF6aDBKTHlTeDFmTlJnPT0KQ2FsbDsyMDE5LjA2LjA2IDEwOjU4OjI5Ozk2NTc4NTU4OTE7 MjQ1NDUxO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cu Z3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzEwMjtub3JtYWw7MTsyNDU0NTE7OzEwOzE7MDs5NjU3 ODU1ODkxOztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7MzkxMzM3ODAzMDs7OzsxOTIu MTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7TTNk eXQ5U2YxdXNwazRXQ3ltQ2lnVkQ5SjhnZHRyZEttUytodmRmNXJ5TzZEZi9yK2JiU3lCK0F3dUMv VGhOTXF4ZExCWW1ZRHNQaUU1enpVMEJvMlE9PQpDYWxsOzIwMTkuMDYuMDYgMTE6MDA6MTM7OTY1 Nzg1MDk3MDsyNDU2MDA7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxv Y2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NTYwMDs7MTA7 MTswOzk2NTc4NTA5NzA7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjs1NTI0ODg3Njs7 OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZl bnQ7dG12NFphWHhzeCtSSWJoKzZ5SnVvQmN4LytiWjZKcTdDaWY4aldQTUEwRkRLN1FsQldDN2lW cEFZN0poZ0xkOW5nblUyRnFXVGRyejlRYkptL1dqeUE9PQpDYWxsOzIwMTkuMDYuMDYgMTE6MDY6 NTA7OTY1Mzg4OTkyMTsyNDY2NzM7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2Jp eXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NjY3 Mzs7MTA7MTswOzk2NTM4ODk5MjE7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxNzIw NjYzODAwOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMyOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVw aG9uZS1ldmVudDtzaUFEQ2xqZ3FrNEdocjlTTkJ2YWR3SDFHSTZCaldONGt6cWdPRUNrZWp1S2pz MVhLcS8rYklBVkh0eUxNc0xXb01Ia3E5bVYzUWMzTWZVL2x1Wkd5Zz09CkNhbGw7MjAxOS4wNi4w NiAxMToyMDozMDs5NjQyNzg4OTU2OzI0NTI4NTtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0 b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDsxMDI7bm9ybWFs OzE7MjQ1Mjg1OzsxMDsxOzA7OTY0Mjc4ODk1Njs7Q2FsbCBpcyBjYW5jZWxsZWQgYnkgaW5pdGlh dG9yOzg2NDIxOTcyNjs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcy OSx0ZWxlcGhvbmUtZXZlbnQ7RlRWanlXc3pORisvcjgvWnY4cmdLQ3JucTNLV3lLaVlJR0ZndXhq dFY0MUJrRXlseHAwbi9rZzlFWHNFZFdJZ3l3V1JYNzBpZWJoOXhFK1Y4SVBYdkE9PQpDYWxsOzIw MTkuMDYuMDYgMTE6MjA6NTg7OTYzNzIwMjE0ODsyNDU5ODg7Yml5c2subG9jYWwuc21nLmdyLnRy dW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAy O25vcm1hbDsxOzI0NTk4ODs7MTA7MTswOzk2MzcyMDIxNDg7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5 IGluaXRpYXRvcjs5ODE4ODUzMDk7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7UENNQSxQ Q01VLEc3MjksdGVsZXBob25lLWV2ZW50Ozl4RU1YUldsVG8xVXl4NDhQVm5QOUZRZG1aUW96b3pl SEJBRzJHWmtGMkwrcjE0RjJrTDBmbXBGdVdaa01QNnZoQkhGNUxyc0NoR0paTWovSEk0anBnPT0K Q2FsbDsyMDE5LjA2LjA2IDExOjIxOjIzOzQ5NTc5NzkwODg7MjQ1OTg4O2JpeXNrLmxvY2FsLnNt Zy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDsw Ozk7MTY7bm9ybWFsOzE7MjQ1OTg4OzsxMDsxOzA7NDk1Nzk3OTA4ODs7Q2FsbCBpcyBjYW5jZWxs ZWQgYnkgaW5pdGlhdG9yOzEwODczMDEwNDE7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7 UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O1A5MnVOK0wvUU0zWnhaRnVFeVh0b2t1elVX alBTTForZ1FJRG11Y2FVdUFqZW8vM1V3Zzg4alQ1UnpjS3VrbWlSSDZiODdKRG1qaW1kV2loTTVl eXhRPT0KQ2FsbDsyMDE5LjA2LjA2IDExOjI3OjM3OzkyNTAwMTk3NDQ7MjQ1OTg4O2JpeXNrLmxv Y2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25h bWU7MDswOzIzOzE2O25vcm1hbDsxOzI0NTk4ODs7MTA7MTswOzkyNTAwMTk3NDQ7O0NhbGwgaXMg Y2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsyNjU1Njk2NTU5Ozs7OzE5Mi4xNjguMi44OztzbWctNDtl bXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtZZGVsM3VSSk9MVlNJMzN1MDZy Rk9BWXBaRnppZVFLN3ZxTG41Ti9xVTJmRlVWNlkvVmNZUCs4dEVpVzFCS0lpTDFhR3pBcTRVRzl5 ZFZvUml0UlhWUT09CkNhbGw7MjAxOS4wNi4wNiAxMTozMzo1MjszODUzMDIyMDM1OzI0NTU0Njti aXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5r LmF1dG9uYW1lOzA7MDsyNTsxODtub3RSZWFjaGFibGU7MTsyNDU1NDY7OzEwOzA7MDszODUzMDIy MDM1Ozt0ZXJtaW5hdGlvbiBzaWRlIG5vdCByZXNwb25zZTs0MjI3OTk3NjIxOzs7OzE5Mi4xNjgu Mi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtIZ29XaE9R eVRGUW51Tlk5ZHcrcXVySWhRYUxUcUE3RW1SK2dqSWJtZFQ3bEE3dmNkWEVlL3JYbmxhK3dFYmR5 U2ZYa0RVU3RBcnNwZm40NGQ2WjRzUT09CkNhbGw7MjAxOS4wNi4wNiAxMTozNDoxOTszODUzMDIy MDM1OzI0NTU0NjtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwu c3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNTsxODtub3RSZWFjaGFibGU7MTsyNDU1NDY7OzEw OzA7MDszODUzMDIyMDM1Ozt0ZXJtaW5hdGlvbiBzaWRlIG5vdCByZXNwb25zZTs0NjcxMjYxNzs7 OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZl bnQ7dTliK05lVnEvakhiMHMzNmgxSC9UMHQrSlp6ZkU4MWNoamtWUzVFUGx4SFAyelc3TzNDKzI4 WTI0d0pRUWd3QWJvMW9USWlmOEdzek5YZUN3RzRkV2c9PQpDYWxsOzIwMTkuMDYuMDYgMTE6MzQ6 NTY7Mzg1MzAyMjAzMjsyNDU1NDY7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2Jp eXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjU7MTg7bm90UmVhY2hhYmxlOzE7 MjQ1NTQ2OzsxMDswOzA7Mzg1MzAyMjAzMjs7dGVybWluYXRpb24gc2lkZSBub3QgcmVzcG9uc2U7 MjAxNjkzOTI4Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRl bGVwaG9uZS1ldmVudDtmWVJuZGpab0JkTTU4cm1SM2FrVUdDK1l3NTdFc1QwUFhVSXQxNHlDckh2 VlVva0tWWlZ6ck1uNGwyNUdBVldhNWhXSjdpNlFuczl6aFcybUZXQk4yZz09CkNhbGw7MjAxOS4w Ni4wNiAxMTozNToyNDszODUzMDIyMDMyOzI0NTU0NjtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsu YXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNTsxODtub3RS ZWFjaGFibGU7MTsyNDU1NDY7OzEwOzA7MDszODUzMDIyMDMyOzt0ZXJtaW5hdGlvbiBzaWRlIG5v dCByZXNwb25zZTszMTkwMDQzMjM7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7UENNQSxQ Q01VLEc3MjksdGVsZXBob25lLWV2ZW50O1daWGFkT0wrSm01by9iWnFITlpmNWIzMnRjVC9hRWNZ UkZTRGM4bWwwMExzTUZIWXVVUlE1d25WZ2dyRVhQY2xpdVBnY21rYUpjVURyRTU4elp3ZytRPT0K Q2FsbDsyMDE5LjA2LjA2IDExOjM3OjM3OzM4NTMwMjIwMzU7MjQ1NTQ2O2JpeXNrLmxvY2FsLnNt Zy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDsw OzI1OzE4O25vdFJlYWNoYWJsZTsxOzI0NTU0Njs7MTA7MDswOzM4NTMwMjIwMzU7O3Rlcm1pbmF0 aW9uIHNpZGUgbm90IHJlc3BvbnNlOzg3NzA1OTU2MTs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1z MTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7K3YxaHc5QTNOZ3FEMmROZkxhU3VS MS9YRU1TazZMUGwvSkJNMEhac01vaXcwNGNMTXV6K0VTM2Qwc3pNWGJUWWQ2S2RLcTk5TlRZQUFU SzFSZHBVWmc9PQpDYWxsOzIwMTkuMDYuMDYgMTE6Mzg6MDQ7Mzg1MzAyMjAzNTsyNDU1NDY7Yml5 c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5h dXRvbmFtZTswOzA7MDsxNjtub3JtYWw7MTsyNDU1NDY7OzEwOzE7MDszODUzMDIyMDM1OztDYWxs IGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7OTkwNzU5ODI5Ozs7OzE5Mi4xNjguMi44OztzbWct NDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtyaUxKWlBsekxEQ3ZoeFVL NkZSY2F4ZFdTMGlxVndFTmowdjQvc1hYemJnaHQ5R3VZeVZDbEN1K1F0Wm1KVEQ4Q0k2ZEREQ2RM UUtnbmhIaTV3YmU2Zz09CkNhbGw7MjAxOS4wNi4wNiAxMTo0MzoyMTs5MDM1ODA4NzUyOzI0NTQ0 MDtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRy dW5rLmF1dG9uYW1lOzA7MDsyNDszMTtub3JtYWw7MTsyNDU0NDA7OzEwOzE7MDs5MDM1ODA4NzUy OztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7MjMyMDIxMzcwOTs7OzsxOTIuMTY4LjIu ODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7Uzg3SnNXR0Nv UllUZTJvTFJpeVIrWmtkZ1Q3NjZEdDBHSkN4T29wTW9VbWZaUDFxSWtXM09RVkZ3T2RuR1dVVDRS YmtrTG9PNStNazlaOGhBNjdtRlE9PQpDYWxsOzIwMTkuMDYuMDYgMTE6NDQ6MjM7Mzg1NDI0MDQ2 MjsyMjQwNDY2Ozs7MDswOzA7MztpbnZhbGlkTnVtYmVyOzE7MjI0MDQ2Njs7MTA7MDswOzM4NTQy NDA0NjI7OyJSdWxlICIiZGVmYXVsdF9ub19yb3V0ZSIiIGZpbmlzaGVkIHdpdGggbm8gcm91dGUi OzI1ODAzOTQ2Njg7Ozs7MTkyLjE2OC4yLjI2OzswNjE2ZTFjZGY2ZDE3ZWNlOzswOztQQ01BLEc3 MjksRzcyMyxQQ01VLHRlbGVwaG9uZS1ldmVudDtZMDF6dnc5UEZibTNNMXJTNnFLTXRUZHFleDFX aGM4Z2ZCZlpjNG42MUdJdlpUVmY4MmVSczZST0E4bXFQYThYNmxqOXdCZ1hPeGc5clNwOUluQm9F UT09CkNhbGw7MjAxOS4wNi4wNiAxMTo0NjoyMzs5MDk5NDUxMzA5OzI0NTk4ODtiaXlzay5sb2Nh bC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1l OzA7MDsyNDszMTtub3JtYWw7MTsyNDU5ODg7OzEwOzE7MDs5MDk5NDUxMzA5OztDYWxsIGlzIGNh bmNlbGxlZCBieSBpbml0aWF0b3I7MzA4MzI1NDkxMzs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1z MTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7R3BjTlVsMkZTd0pZdWREWWpSN3VK VUtjS1dxNTJ1dUsySTUzbklYWml3alB6d0lxenRNSUxsVVJBNjAvRXpIRkdBWnBCNjNzdEdVaEg0 QmZGbFR3Y2c9PQpDYWxsOzIwMTkuMDYuMDYgMTE6NTI6NDI7OTA5NzI3NzcwODsyNDUyODU7Yml5 c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5h dXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NTI4NTs7MTA7MTswOzkwOTcyNzc3MDg7O0Nh bGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjszNzgxNzUyMDc7Ozs7MTkyLjE2OC4yLjg7O3Nt Zy00O2VtczE7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O1RrYWtxaEhycFZQT25q Z2tOeXp2di8yUDRWUk16cG5mRTRncDVQNjk3bnNhbFNha1BUSmZDQTI1QjFPQnV4ZndqUEZYQUkw OGhaY1hOckNzVFB5NmFRPT0KQ2FsbDsyMDE5LjA2LjA2IDExOjUzOjE0OzM4NTQyNTUwMTQ7Kjcz IztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7OzEyNTswOzA7MTI3O3N5c3RlbUZh aWx1cmU7NzsyNDA1OTg7OzEwOzA7MDszODU0MjU1MDE0OztSZWxlYXNlIGZyb20gTVNSOiBtc3Jf bm90X2F2YWlsYWJsZTs1MTI1NTAyMDE7MjQwNTk4Oyo3MyM7Mzg1NDQxNTc1OTsxOTIuMTY4LjIu ODs7c21nLTQ7MDYxNmUxY2UwNDNhZmU4NTsxOztUMzg7bXh2dmFlM1dSMGVkQ3Roc0RVMWdxc1Vj bW50azJ2WGo3aHNMdHV5MlZVVXVqbDhUd3BNcU16N0c5Qys1QnVrT291d1VaT255cURERDdBaE9i Ylp1Unc9PQpTZXJ2aWNlOzIwMTkuMDYuMDYgMTE6NTM6MTQ7MjQwNTk4Oyo3MyM7OzswOzA7MDsw Ozs7O2ludm9jYXRpb247OzsxOzI0MDU5ODtjZnU7OzUxMjU1MDIwMTszODU0MjU1MDE0OzsyNDA1 OTg7Ozs7Ozs7O0xya0ZjMmdTSFJBNGhUZVVZeGtuWUpUSnNkOVkxZWczejJkR2RZeTgxZG5oY0VW L3BCd2NqSktCZWo2MElQQmlRUFNTYWh5YXl2RDJXY0x5UjQwQVhRPT0KQ2FsbDsyMDE5LjA2LjA2 IDExOjU2OjA5OzM4NTQyNTUwMTQ7KjczIztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25h bWU7OzEyNTswOzA7MzE7bm9ybWFsOzc7MjQwNTk4OzsxMDswOzA7Mzg1NDI1NTAxNDs7VGVybWlu YXRlZCBieSBzeXN0ZW0gYWRtaW5pc3RyYXRvcjsxMjQ1ODE1ODA4OzI0MDU5ODsqNzMjOzM4NTQ0 MTU3NTk7MTkyLjE2OC4yLjg7O3NtZy00OzA2MTZlMWNlMDQzYWZlODU7MTs7VDM4O1lmb3VSSXpQ Q3FQMWVyZnhid2UvdHJDYlhEbWdyeFJiaVZCL1A0S1pmZ3lZclowTWhxZVRIdDFVTTNiL2w2M3JS ejhGUjZPeXEvcVJpbFRZajdGbFlnPT0KU2VydmljZTsyMDE5LjA2LjA2IDExOjU2OjA5OzI0MDU5 ODsqNzMjOzs7MDswOzA7MDs7OztpbnZvY2F0aW9uOzs7MTsyNDA1OTg7Y2Z1OzsxMjQ1ODE1ODA4 OzM4NTQyNTUwMTQ7OzI0MDU5ODs7Ozs7Ozs7RnoyZkkrdGs0TmJuQnZXUzlPb3BqL3JOSi9HZDlP WUtad0lPbzh5eEVyT0JzYmRzVWR2Y3hKMlZORHRCV2o0dTlFZXVCa2l6RUxUVTgxaWpjMXlhRlE9 PQpDYWxsOzIwMTkuMDYuMDYgMTE6NTY6NDE7OTA5NjI5NDQyMDsyNDU0NDA7Yml5c2subG9jYWwu c21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTsw OzA7MjQ7MzE7bm9ybWFsOzE7MjQ1NDQwOzsxMDsxOzA7OTA5NjI5NDQyMDs7Q2FsbCBpcyBjYW5j ZWxsZWQgYnkgaW5pdGlhdG9yOzEzODA2OTk3MjU7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7 MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O05XVjlvcitvekxHUGFzd1htYkxoUGhz b1NsQTJyazEwMC95OUhXMnpBL0VHempwbnNubUJwd3JabjY0Nk9SUFBMSmxGWlMwZHlXcGNBTEx5 SWZaM1FBPT0KQ2FsbDsyMDE5LjA2LjA2IDExOjU5OjAwOzk2NTM4ODUzMDI7MjQ2NTcxO2JpeXNr LmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0 b25hbWU7MDswOzI0OzMxO25vcm1hbDsxOzI0NjU3MTs7MTA7MTswOzk2NTM4ODUzMDI7O0NhbGwg aXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxOTYzMzIxMjMxOzs7OzE5Mi4xNjguMi44OztzbWct NDtlbXMyOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtpdjNleEZwU0xOVk1KaEdl UXg5N0QxZkRxVUk4NUF0aVRmUTZaeVlPc0p2NHdaKy90endHeDJaZ3c4THdFOS9xcmZPZGcyVHBj MDE5THhmd0UrL2xGdz09CkNhbGw7MjAxOS4wNi4wNiAxMTo1OTowOTszODU0MjU1MDE0Oyo3MyM7 Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lOzsxMjM7MDswOzEyNztzeXN0ZW1GYWls dXJlOzc7MjQwNTk4OzsxMDswOzA7Mzg1NDI1NTAxNDs7UmVsZWFzZSBmcm9tIE1TUjogbXNyX25v dF9hdmFpbGFibGU7MjAwMTA2NzA4NjsyNDA1OTg7KjczIzszODU0NDE1NzU5OzE5Mi4xNjguMi44 OztzbWctNDswNjE2ZTFjZTA0M2FmZTg1OzE7O1QzODtWOEtKaDJNT1Z0YmRvK21xczI1blN4eCsv WWt0ZUhXWXNCTUxKa281a2R6ekhWbnQydFN4ZE9Ud2FCUWNCaEthZzhiOHFJWHRueUw3ejFoaUd3 NXhtUT09ClNlcnZpY2U7MjAxOS4wNi4wNiAxMTo1OTowOTsyNDA1OTg7KjczIzs7OzA7MDswOzA7 Ozs7aW52b2NhdGlvbjs7OzE7MjQwNTk4O2NmdTs7MjAwMTA2NzA4NjszODU0MjU1MDE0OzsyNDA1 OTg7Ozs7Ozs7O2xPdGYwOGhuUnVMakxYbXhqRFVTWDNaMzhISlBGSEJLdmllVWo0bWpOQldEN0Zq M1I1bmdzSTBPUUNBUmdEUmVpT3dzUytSazR0cFRyQWtvNUl3V0pRPT0KQ2FsbDsyMDE5LjA2LjA2 IDEyOjIxOjU5Ozk2MDc5MzE1Mjc7MjQ2NTcxO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRv bmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzEwMjtub3JtYWw7 MTsyNDY1NzE7OzEwOzE7MDs5NjA3OTMxNTI3OztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0 b3I7MzQ1MTk3Mzc2Mjs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMjswOztQQ01BLFBDTVUsRzcy OSx0ZWxlcGhvbmUtZXZlbnQ7aGJWMS82OUJ1Qkwycm9SaENtYXpacUQzOUgrT3NrODlEU2lYZWdh a0NkVVlYbHlCUmh6UDJFQTRiSVRBWWluaUptT2hyRHVuTlBveHZLeVpMWk1GZWc9PQpDYWxsOzIw MTkuMDYuMDYgMTI6Mjg6NDE7OTI2NDUwNzYxODsyNDY2NzM7Yml5c2subG9jYWwuc21nLmdyLnRy dW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTg7 YVB0eURpc2M7MTsyNDY2NzM7OzEwOzE7MDs5MjY0NTA3NjE4OztDYWxsIGlzIGNhbmNlbGxlZCBi eSBpbml0aWF0b3I7ODQzMzU2MjEwOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMyOzA7O1BDTUEs UENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtjTnQ1MzFkeEdmbm5XSmM2SWRYczMyclQvVVlmbHVv M2l4cE9mNTFGQ2FIYmxyZUZpbk5tYzAzaGEwa2djTzFraXhJWko3a0V3OEF5NStQYTNTcVJpZz09 CkNhbGw7MjAxOS4wNi4wNiAxMjoyOToyMDs5NjQ4MzU0NjE4OzI0NjU3MTtiaXlzay5sb2NhbC5z bWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7 MDsyNDsxMDI7bm9ybWFsOzE7MjQ2NTcxOzsxMDsxOzA7OTY0ODM1NDYxODs7Q2FsbCBpcyBjYW5j ZWxsZWQgYnkgaW5pdGlhdG9yOzEwMDczMjk5Mzc7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczI7 MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O2FTZnZOYjhJbkZ0ZVBvRFZVWVpwOVAy ZkZNQy9kNzJjOVIxSVp5cmUyWWRURnVkaThCMzNPelFsV0RkMDBJVUk5M28wei9jZDl6M09YbnV0 YkpqOGJBPT0KQ2FsbDsyMDE5LjA2LjA2IDEyOjM4OjA1OzkyNTAwMTk3NDQ7MjQ1NjI2O2JpeXNr LmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0 b25hbWU7MDswOzI0OzE2O25vcm1hbDsxOzI0NTYyNjs7MTA7MTswOzkyNTAwMTk3NDQ7O0NhbGwg aXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjszMjA4OTQ4NzEwOzs7OzE5Mi4xNjguMi44OztzbWct NDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtEMU9KaUJLb0I2QkI2T3Z4 N1dCeEZFUitlUmVxY0VEN3hLdmRDTDR0c2tnbFMvNityaTdiV21TRzZFd1A5RWZIN2dvOGpodlFv d2lMK2lRRVd1NDJqQT09CkNhbGw7MjAxOS4wNi4wNiAxMjozOTowNzs5MjY0NTA3NjE4OzI0NjY3 MztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRy dW5rLmF1dG9uYW1lOzA7MDsyNDsxODthUHR5RGlzYzsxOzI0NjY3Mzs7MTA7MTswOzkyNjQ1MDc2 MTg7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjszNDY5MjQ5NTczOzs7OzE5Mi4xNjgu Mi44OztzbWctNDtlbXMyOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtGelE5cmdp bU14VnhhdXhTaGJBQlgwZk43ZndGMGV5NzN6Y3JldzU3TkY0TlNIbGtRWmlINUM2M1l0QTlOY3k5 VU82UStpYzdqYlE0RllGWGVsOXcydz09CkNhbGw7MjAxOS4wNi4wNiAxMjo0NDozNjs5NjIzMTQw ODUxOzI0NjY3MztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwu c3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDsxMDI7bm9ybWFsOzE7MjQ2NjczOzsxMDsxOzA7 OTYyMzE0MDg1MTs7Q2FsbCBpcyBjYW5jZWxsZWQgYnkgaW5pdGlhdG9yOzU1NDUyODA1Mjs7Ozsx OTIuMTY4LjIuODs7c21nLTQ7ZW1zMjswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7 SFN5b2MrRlJ4VFdyUGQ5c0xwMW9aa2VITitZazJ2eWh6dzNUcm9mNXZCUVhKQzlaemJPVkZoNW9Z ZzM4c3drR3Z1QlY2amNXeVRrMlNHaXJoZ1Vld0E9PQpDYWxsOzIwMTkuMDYuMDYgMTI6NDU6MDA7 OTIyNDA0NzM5MjsyNDYzNTM7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNr LmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NjM1Mzs7 MTA7MTswOzkyMjQwNDczOTI7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjs2NTQ2NzQ1 NDY7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczI7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25l LWV2ZW50O2JYeXhhOHErd3hkc2s2MXluWVJMVkFuQnllOUtkcXJIZmFab2xHRzlwMDZ3SlpqUUZN ai9vdFBHUTFWa1p1a3dhSTBwNVhqQTRPUkhHSlU2bWk5UXZRPT0KQ2FsbDsyMDE5LjA2LjA2IDEy OjQ1OjI2OzkwOTY4MTA2Nzk7MjQ1NzA4O2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFt ZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzMxO25vcm1hbDsxOzI0 NTcwODs7MTA7MTswOzkwOTY4MTA2Nzk7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjs3 NjM0OTQyMjU7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7UENNQSxQQ01VLEc3MjksdGVs ZXBob25lLWV2ZW50O1R1UlRtT2hPV0laRGlTZmhYRmp0M0o4UGlKTXVZRWZXU0pnQVF4NjR0enha WEZybXJoYzkyZTBRalQ3OWRWWFFEU3NJZnlKWk9iRUFmYnY0TGRRT2JnPT0KQ2FsbDsyMDE5LjA2 LjA2IDEyOjQ2OjUxOzM4NTQzNDQwMzI7MjQ1NjczO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5h dXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI1OzE4O25vdFJl YWNoYWJsZTsxOzI0NTY3Mzs7MTA7MDswOzM4NTQzNDQwMzI7O3Rlcm1pbmF0aW9uIHNpZGUgbm90 IHJlc3BvbnNlOzExMjAyNzU4NTM7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7UENNQSxQ Q01VLEc3MjksdGVsZXBob25lLWV2ZW50O0hiL3EwU1UrUnc5L0dKeFlsb2x3RE1tQ1FoOHhhc1hP c3k1RmMxMGJBVitveDJ2b2dpQm1VM1JiSWphdWl3SlZTM2htS0oyeTh4azRPM1oyS3dLT1V3PT0K Q2FsbDsyMDE5LjA2LjA2IDEyOjQ3OjE5OzM4NTQzNDQwMzI7MjQ1NjczO2JpeXNrLmxvY2FsLnNt Zy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDsw OzM7MTY7bm9ybWFsOzE7MjQ1NjczOzsxMDsxOzA7Mzg1NDM0NDAzMjs7Q2FsbCBpcyBjYW5jZWxs ZWQgYnkgaW5pdGlhdG9yOzEyMzc2MjU5MDA7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7 UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O3hMdmdIRUFoWXdka0NoTW8zemUrUzk3cUNz ZjJtRW10cnRsWWsvVnlXTGsxclFNSEV2L1VvMnpTaGZyd1UwU2RPSTNhTCt3ZXBzT1NBTUQzdlYr OFhBPT0KQ2FsbDsyMDE5LjA2LjA2IDEyOjQ3OjI2OzM4NTQzNDQwMzI7MjQ1NjczO2JpeXNrLmxv Y2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25h bWU7MDswOzI1OzE4O25vdFJlYWNoYWJsZTsxOzI0NTY3Mzs7MTA7MDswOzM4NTQzNDQwMzI7O3Rl cm1pbmF0aW9uIHNpZGUgbm90IHJlc3BvbnNlOzEyNjc1NDk2NjQ7Ozs7MTkyLjE2OC4yLjg7O3Nt Zy00O2VtczE7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O1Z6TEMwaE9EVTMyeXdh Wms0NDFLTE1Pa2wrbUNtcUtjNVN6TC9Qc2szNHVQZjdsRnB5L3FFRTlUU042Vmcwclk5czNZZnFx SXk2eVJiRk5lSFZXRTNBPT0KQ2FsbDsyMDE5LjA2LjA2IDEyOjQ3OjU0OzM4NTQzNDQwMzI7MjQ1 NjczO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3Iu dHJ1bmsuYXV0b25hbWU7MDswOzA7MTY7bm9ybWFsOzE7MjQ1NjczOzsxMDsxOzA7Mzg1NDM0NDAz Mjs7Q2FsbCBpcyBjYW5jZWxsZWQgYnkgaW5pdGlhdG9yOzEzODQ4MDAxMTQ7Ozs7MTkyLjE2OC4y Ljg7O3NtZy00O2VtczE7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O3hUVk9WMDRH ejJMei8rN2lvTHN2UUEreW05ZU5KSk1CWnJoVkpsdU5vRjlYRGRZNEwrOXVWUzliV3M4a2RubHFU V1NEeDl2NEZkNTNCUXZhTlVCWTB3PT0KQ2FsbDsyMDE5LjA2LjA2IDEyOjQ4OjQ2OzkyMjQwNDcz OTI7MjQ2MzUzO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5z c3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzEwMjtub3JtYWw7MTsyNDYzNTM7OzEwOzE7MDs5 MjI0MDQ3MzkyOztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7MTYwMjYwNzE3MDs7Ozsx OTIuMTY4LjIuODs7c21nLTQ7ZW1zMjswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7 V3kyaU02VzJZWFRFTnRkc29rU2JrTERyc0NwM1NHR204T2hOaFAyc3RxV0ZqU3pCUVdPUWRZeVB2 Y0tlSzlJT25lVzJiUmJHOGFnU25YT0pjamwwZHc9PQpDYWxsOzIwMTkuMDYuMDYgMTI6NDk6NDU7 OTI2NDUwNzYxODsyNDY2NzM7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNr LmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTg7YVB0eURpc2M7MTsyNDY2NzM7 OzEwOzE7MDs5MjY0NTA3NjE4OztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7MTg1MDQx MTIzODs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMjswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhv bmUtZXZlbnQ7K1pxcG40c01HUTNDQ1A4NmZNRlNTaURRTDlCbXNQV1dwbDRSeGE5SlJqM21VSUpJ TFNLTFdZS2ZyLzlid2RLSkFFazRUdzdvWm1aaHdjNVZCaGY4Q1E9PQpDYWxsOzIwMTkuMDYuMDYg MTI6NTc6MDU7OTY1Mzg4NDc1NzsyNDY1NzE7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9u YW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsx OzI0NjU3MTs7MTA7MTswOzk2NTM4ODQ3NTc7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRv cjszNjk1MjEwNzIwOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMyOzA7O1BDTUEsUENNVSxHNzI5 LHRlbGVwaG9uZS1ldmVudDthUUs3L09MVEJnRkpwNEE2cHhZakhvMFhlUDh6YThBcXUyd0ZoOU9t N0lMWi9mcnZyZkpjUmQ5SGhnNWppbTFDei9PbGtLUjhWMndoQ1diZk1vVWk1QT09CkNhbGw7MjAx OS4wNi4wNiAxMzowMDoyODs5MjY0NTA3NjE4OzI0NjY3MztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1 bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDsxODth UHR5RGlzYzsxOzI0NjY3Mzs7MTA7MTswOzkyNjQ1MDc2MTg7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5 IGluaXRpYXRvcjsyNTIxMzA2NzY7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczI7MDs7UENNQSxQ Q01VLEc3MjksdGVsZXBob25lLWV2ZW50Ozk1MmpNYUdOMUR2bmVpb1NzODQrNWl4a0NnZVdzcUk3 ZHJacXRXVm1SUkt3WVFQSkxGbWYxLzZhZ3pYUGhPUDd4S1EwOHNOQlRNZHNxVmV5YitUa2dnPT0K Q2FsbDsyMDE5LjA2LjA2IDEzOjA0OjQ3OzM4NTQzNTY3MDk7MjQwNTE1O2JpeXNrLmxvY2FsLnNt Zy5nci50cnVuay5hdXRvbmFtZTs7NDQ7MTswOzE2O25vcm1hbDs3OzI0MDUxNTs7MTA7MTswOzM4 NTQzNTY3MDk7O0lTVVAgY2FsbCBpcyBjb21wbGV0ZTsxMzM4NzY1NzM4Ozs7OzE5Mi4xNjguMi44 OzE5Mi4xNjguMi4yNjtzbWctNDswNjE2ZTFjZTA0Mzg2OGVhOzE7O1BDTUEsdGVsZXBob25lLWV2 ZW50O0V6UWVHaEMxbDFiRnFabTMrdW92ZmZXSlBhc2RPazJybTQ2Qm4vdm5yWVpnS3N3V0VkKzN4 UC9uYVVlMmJRbkZYOWZ2bEJFV2E2RFNvWXp6QzRYSjlnPT0KQ2FsbDsyMDE5LjA2LjA2IDEzOjA1 OjE0OzkwNTU3NDgwNzQ7MjQ1NDQwO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTti aXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzMxO25vcm1hbDsxOzI0NTQ0 MDs7MTA7MTswOzkwNTU3NDgwNzQ7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxNDUx NzEzMjM2Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVw aG9uZS1ldmVudDtHTzhnUS9xaDNHS2xZL3YyWkFqdURnb09ndVZGcTZIVmxIbW9vbGlKTllXSDZr aGVsL0ozQ1ZtT0duVHRkRmNyWTJKcVJYdC9yejJZVlVrM3R1Y2NzZz09CkNhbGw7MjAxOS4wNi4w NiAxMzowNTo0MzszODU0MzU2NzA5OzI0MDUxNTtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0 b25hbWU7OzM3OzE7MDsxNjtub3JtYWw7NzsyNDA1MTU7OzEwOzE7MDszODU0MzU2NzA5OztJU1VQ IGNhbGwgaXMgY29tcGxldGU7MTU3MzQ1OTE0NTs7OzsxOTIuMTY4LjIuODsxOTIuMTY4LjIuMjY7 c21nLTQ7MDYxNmUxY2UwNDM4NjhlYTsxOztQQ01BLHRlbGVwaG9uZS1ldmVudDtOMnJIN2dIQnJp WmdSSXZtZnJIQ0xzenVteWV3SlpVMlc4MHAwbzJROXpMOWhEbzlmSTI0TXpaa2VNbXNhQSt5Q093 MjNoT3hvSVhtbVRwR3lDK0hVQT09CkNhbGw7MjAxOS4wNi4wNiAxMzoxMTo1NTszODU0MzQ5MzA1 OzI0NTgzOTtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3 LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNTsxODtub3RSZWFjaGFibGU7MTsyNDU4Mzk7OzEwOzA7 MDszODU0MzQ5MzA1Ozt0ZXJtaW5hdGlvbiBzaWRlIG5vdCByZXNwb25zZTszMTMzMzExODcyOzs7 OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVu dDtpVFg2amN4YkxhU0lMbXpyUmszV1BYZk1FSHFTWTg5TGNLT1J4cFQ0bjkwdXE2RU0zS2tNZ09H cmZQUDVJOXdaWFN1c2ZrMEYxVWZ6WlZQOGQ2aXVPZz09CkNhbGw7MjAxOS4wNi4wNiAxMzoxMjoy Mzs0OTU5MDEwOTg0OzI0NTgzOTtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5 c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDs3OzE2O25vcm1hbDsxOzI0NTgzOTs7 MTA7MTswOzQ5NTkwMTA5ODQ7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjszMjUxNTYy MDAxOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9u ZS1ldmVudDs5b1FwMXM5dVdTcEdwS1ZpRTJ6UzJkTmZFRFY3RDFqeCt1eTd4Mk5SU0kzeGtkbWxz aWYrTEJ0bEk5STdqRkhYOCsra1FXOGNHNDFqcFZ3SktyeStLZz09CkNhbGw7MjAxOS4wNi4wNiAx MzoxMjo0OTs5MDk5ODIwNjE0OzI0NTcwODtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25h bWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDszMTtub3JtYWw7MTsy NDU3MDg7OzEwOzE7MDs5MDk5ODIwNjE0OztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7 MzM1OTk1NTQ1Nzs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0 ZWxlcGhvbmUtZXZlbnQ7RmhIL2ZYT0xOSTJrUzF3WGtsM1duM2xDOFhHam5XZzF6TU5iZHhOYmxW UEo3dTF3QjhXQ3RVVm96dEROOVVxV0phSUxqMkJycTFKbVZMSmloc1h3ZkE9PQpDYWxsOzIwMTku MDYuMDYgMTM6MTY6MjE7NDk1NzM5MjAwNTsyNDYwMTg7Yml5c2subG9jYWwuc21nLmdyLnRydW5r LmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25v cm1hbDsxOzI0NjAxODs7MjI1OzE7MDs0OTU3MzkyMDA1OztDYWxsIGlzIGNhbmNlbGxlZCBieSBp bml0aWF0b3I7NDI0ODg0Mjg3Mzs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMjswOztQQ01BLFBD TVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7TEs5Vjg0Vmh4RXVTbUgzRTJxVUFwaVljUVhrcHZIaG1O aTk2MzJPOUFxSEM0OE0wd1B3NTdQdGNvb2NnMnNpZnp3QXBPN0ZEZXZZRkNuaCtkMnJrQWc9PQpD YWxsOzIwMTkuMDYuMDYgMTM6MTY6NDc7NDk1OTgxMTE4MTsyNDYwMTg7Yml5c2subG9jYWwuc21n LmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7 MTk7Mzg7c3M3RmFpbHVyZTsxOzI0NjAxODs7MjI4OzE7MDs0OTU5ODExMTgxOztDYWxsIGlzIGNh bmNlbGxlZCBieSBpbml0aWF0b3I7NjI5Mjk4MTY7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczI7 MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O3pFdG9VeWhaS09TQzlLZExhZzk3TDBv bWMxcHhlY3gzK09EdjRLMUQydjFkYVJGczZTdGF3VCszQjZiTENBK00wU0ZzamlWT2ZCTkdFempZ OHpld1p3PT0KQ2FsbDsyMDE5LjA2LjA2IDEzOjE3OjA3OzQ5NTk4MTExODE7MjQ2MDE4O2JpeXNr LmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0 b25hbWU7MDswOzk7MTY7bm9ybWFsOzE7MjQ2MDE4OzsyMjg7MTswOzQ5NTk4MTExODE7O0NhbGwg aXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxNDcwMjg2MzI7Ozs7MTkyLjE2OC4yLjg7O3NtZy00 O2VtczI7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O2RtdVBCaE1NRWFqVnRXWVZ4 ZkJtamRmYUJRMjZmU0FCbmF3Z3BIKy9WQkNzQnJZVHdGSDh4RnNFWlh2b1FQSlExaVZVY0M3M2hD RmRsSC8wbGN6ZVZBPT0KQ2FsbDsyMDE5LjA2LjA2IDEzOjIyOjM0OzQ5NTc4ODc5MDA7MjQ1MjY2 O2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1 bmsuYXV0b25hbWU7MDswOzI1OzE4O25vdFJlYWNoYWJsZTsxOzI0NTI2Njs7MTA7MDswOzQ5NTc4 ODc5MDA7O3Rlcm1pbmF0aW9uIHNpZGUgbm90IHJlc3BvbnNlOzE1MTg4MTExMzE7Ozs7MTkyLjE2 OC4yLjg7O3NtZy00O2VtczE7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O3JIbWZF TW4rVGJ3cE1NWUZ1MjVjRzlSeHk4VHNUa01qT2ExeWZVZ3JjQjFMbnRUNXZyOXNFelVaYXJMRncv bVNGdStqaHducHl6enI3ZFB4N2NMNnNnPT0KQ2FsbDsyMDE5LjA2LjA2IDEzOjIzOjAzOzkyNTAw MTk3NDQ7MjQ1NDQwO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2Nh bC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzE2O25vcm1hbDsxOzI0NTQ0MDs7MTA7MTsw OzkyNTAwMTk3NDQ7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxNjQwMTM0NjY4Ozs7 OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVu dDtBVnhFZzdUMWtzQkF5YUMxM1BMODB1Z0JESkZiZEVVZ05MdmY5enNqbk56VzROMmp6MmY5NFpr QjlWa3FVTFN2S0FYVWZqREUrZXpxa1RvKzh2SzVSdz09CkNhbGw7MjAxOS4wNi4wNiAxMzoyNjo1 MDs5NjI5MTI1NjA2OzI0NTcwODtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5 c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDszMTtub3JtYWw7MTsyNDU3MDg7 OzEwOzE7MDs5NjI5MTI1NjA2OztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7MjU5Mjgy ODU5MDs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhv bmUtZXZlbnQ7ell4YVJTRXVmcWVmNE94NFZUc0ZibHZUMjVOL0ZWTTVvNzc0aWZ2cll0UEJlZFhF V0xKZ3lIRjdZNG5OTlBqOU1zekNwUUZCdUJBK1pwR0VmcWJuQ3c9PQpDYWxsOzIwMTkuMDYuMDYg MTM6Mjk6MTY7OTIzNDg5MTUyNTsyNDY1NjE7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9u YW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsx OzI0NjU2MTs7MTA7MTswOzkyMzQ4OTE1MjU7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRv cjszMjA1MTUyODM5Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMyOzA7O1BDTUEsUENNVSxHNzI5 LHRlbGVwaG9uZS1ldmVudDtxdnUwNS9yb2NpOFFLdXNlM2VpZDJ6c2I2TVlhTnliQ3B0WGRPZkdv dXBJTWpOa2d2dTFndDFwS3lsWXZuN1NpQ1QvVWhwTzVQWmtDMGFEeldTY0FjUT09CkNhbGw7MjAx OS4wNi4wNiAxMzoyOTo0Mjs5MjM0ODkxNTI1OzI0NjU2MTtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1 bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDs5OzE2O25v cm1hbDsxOzI0NjU2MTs7MTA7MTswOzkyMzQ4OTE1MjU7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGlu aXRpYXRvcjszMzE0MzkzMDkwOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMyOzA7O1BDTUEsUENN VSxHNzI5LHRlbGVwaG9uZS1ldmVudDtBQTRvdUw1SUxVK1dkL0JKb0pCNnV2YVJXZFdhTWRqelFM NkpyUmRiMFg2YTRxUnExSHpBQjF3UTB0a2Z3Y3plMVRSbmZhdmFaQkFKZ1pFanRjN0pxUT09CkNh bGw7MjAxOS4wNi4wNiAxMzozMDowNTs5NjUzODg5MzIyOzI0NjU3MTtiaXlzay5sb2NhbC5zbWcu Z3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsy NDsxMDI7bm9ybWFsOzE7MjQ2NTcxOzsxMDsxOzA7OTY1Mzg4OTMyMjs7Q2FsbCBpcyBjYW5jZWxs ZWQgYnkgaW5pdGlhdG9yOzM0MTA4MDcyMDc7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczI7MDs7 UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O0hYQ05PMWc5WXVqY2lJUU5rWjZPMnAySmZs U2ZJT1QvSVRXN0tWUVJ0VTB2bDJnVk5UQlp0R2k0YnB5SEsyalNFNHpPNm1NekhIY0RwMnlpUnlH VHVRPT0KQ2FsbDsyMDE5LjA2LjA2IDEzOjMyOjIzOzkyNTAwMTk3NDQ7MjQ1NzA4O2JpeXNrLmxv Y2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25h bWU7MDswOzIzOzE2O25vcm1hbDsxOzI0NTcwODs7MTA7MTswOzkyNTAwMTk3NDQ7O0NhbGwgaXMg Y2FuY2VsbGVkIGJ5IGluaXRpYXRvcjszOTg5MzMxMjk5Ozs7OzE5Mi4xNjguMi44OztzbWctNDtl bXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtFSVk3UHE2UGdLR2g2ZTZIR1d2 RjI0Y3hhbnFhdXNkNllYN0JyTVUyaDRKRzBqNWZ3WURJY0N2cVNQRVNKSGdVd0xmQUZudjJaOXl4 TDNsRklwMHRoUT09CkZpbmFsOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1RnaXB6ZVU2 UHoram1oWDBWOEhoV0FsdFd6VVpoY3phakYzZTY1bm52S0o1MlBTR2w1VU0rcUpMSzJLRDhhNlFN UFBoWHc4bE5ycktYT283NUE5Z3lGakJqR1BJU3hiLzFBTE5Gem9sTE9RcVQwM09iejU2MjBPcDho eEdrYmt6TjFKNkZKakc0ZitRWlZHckNDbCs5Tkt6WktlcFBCeWllTENEMW5IbjlTRT0K"/> </request> </in>
Ответ:
200
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_validate_cdr.xsd"> <response valid="true"/> </out>
Файл или строка должны быть закодированы с помощью base64Binary.