华为云用户手册
-
Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333。
-
请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
-
请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme: 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint: 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以地区和终端节点获取。 例如 IAM 服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。 resource-path: 资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string: 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,同一个服务的Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
-
请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见AK/SK认证。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
-
请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-1”,您可以从地区和终端节点获取。 scope参数定义了Token的作用域,上面示例中获取的Token仅能访问project下的资源。您还可以设置Token作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
-
API概览 事件网格接口的分类与说明如表1所示。 表1 API概览 API 说明 事件订阅管理 包括创建事件订阅、查询事件订阅列表、更新事件订阅、查询事件订阅详情、删除事件订阅、更新事件订阅源、创建事件订阅目标、更新事件订阅目标、查询事件订阅目标详情、删除事件订阅目标、操作事件订阅。 事件通道管理 包括创建自定义事件通道、查询事件通道列表、更新自定义事件通道、查询事件通道详情、删除自定义事件通道。 事件管理 包括发布事件到事件通道、预校验指定事件源发布事件成功。 事件源管理 包括创建自定义事件源、查询事件源列表、更新自定义事件源、查询事件源详情、删除自定义事件源。 事件目标分类管理 包括查询事件目标分类。 事件模型管理 包括创建自定义事件模型、查询事件模型列表、更新自定义事件模型、查询事件模型详情、删除事件模型、创建自定义事件模型版本、查询事件模型版本列表、查询事件模型版本详情、删除事件模型版本、事件模型自动发现。 目标连接管理 包括创建目标连接、查询目标连接列表、更新目标连接、查询目标连接详情、删除目标连接。 服务委托管理 包括查询服务委托、创建服务委托。 配额管理 包括查询配额。 API版本管理 包括获取API版本列表。 触发器管理 包括查询单个函数的EG触发器、查询单个函数流的EG触发器。 访问端点管理 包括更新访问端点、删除访问端点、创建访问端点、查询访问端点。 obs桶管理 包括获取obs桶列表。 监控指标管理 包括查询事件通道监控指标数据、查询事件订阅监控指标数据。 事件流管理 包括创建事件流、查询事件流列表、更新事件流、查询事件流详情、删除事件流、操作事件流。 事件示例管理 包括查询事件示例列表。 专业版事件流作业管理 包括创建专业版事件流作业、查询专业版事件流作业列表、删除专业版事件流作业、查询专业版事件流作业详情、更新专业版事件流作业、操作专业版事件流作业、校验专业版事件流作业、查看专业版事件流作业同步情况。 专业版事件流集群管理 包括查询专业版事件流集群可用区、创建专业版事件流集群、查询专业版事件流集群列表、删除专业版事件流集群、查询专业版事件流集群详情、更新专业版事件流集群。
-
基本概念 账号 用户注册账号时,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域:指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户的要求,或满足不同地区的法律或其他要求。 可用区:一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见企业管理服务用户指南。
-
响应参数 状态码:200 表10 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求ID 表11 响应Body参数 参数 参数类型 描述 results Array of ValidateResult objects 作业校验结果列表 表12 ValidateResult 参数 参数类型 描述 check_item_name String 检查项标识 name String 检查项的名称 content String 检查项的内容 status String 检查项的状态 error_code String 检查失败对应的错误码 reason String 检查失败的原因 solution String 检查失败的解决方案
-
响应示例 状态码:200 请求成功 { "results" : [ { "check_item_name" : "SOURCE_NETWORK", "name" : "源端连通性", "content" : "检查数据传输服务器是否能够连通源端服务", "status" : "SUC CES S", "error_code" : null, "reason" : null, "solution" : null } ] }
-
请求示例 校验jobid=123的专业版事件流作业 POST https://{eg_endpoint}/v1/{project_id}/eventrouter/jobs/validation?validate_type=SOURCE_NETWORK&job_id=123 { "cluster_id" : "fac59513-6c18-4266-bc81-5d412dfc1926", "source_config" : { "source_dcs" : { "config_type" : "CLOUD", "region" : "roma-dev-1", "project_id" : "cb13a5c409fe40599271f44bbea5a2ad", "instance_id" : "228cdb80-fabb-4490-83bd-0a91e8bef9b4", "password" : null } } }
-
请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表4 请求Body参数 参数 是否必选 参数类型 描述 cluster_id 是 String 集群ID source_config 否 EventRouterJobSource object 专业版事件流作业源端配置 sink_config 否 EventRouterJobSink object 专业版事件流作业目标端配置 表5 EventRouterJobSource 参数 是否必选 参数类型 描述 source_kafka 否 KafkaParameters object kafka配置 source_rocketmq 否 RocketmqParameters object rocketmq配置 source_dcs 否 DcsParameters object dcs配置 表6 EventRouterJobSink 参数 是否必选 参数类型 描述 sink_kafka 否 KafkaParameters object kafka配置 sink_rocketmq 否 RocketmqParameters object rocketmq配置 sink_dcs 否 DcsParameters object dcs配置 表7 KafkaParameters 参数 是否必选 参数类型 描述 config_type 是 String 实例类型 CLOUD:云服务DMS kafka实例 region 是 String 区域ID project_id 是 String 资源空间ID instance_id 否 String kafka实例ID,配置类型选择CLOUD时必填 cluster_alias 是 String kafka集群别名 address 否 String kafka地址 authenticate_mode 否 String kafka认证方式 sasl_mechanism 否 String SASL认证机制 user_name 否 String 用户名,开启SASL_SSL时必填 password 否 String 用户密码,开启SASL_SSL时必填 表8 RocketmqParameters 参数 是否必选 参数类型 描述 config_type 是 String 实例类型。 CLOUD:云服务DMS Rocketmq实例 region 是 String 区域id project_id 是 String 资源空间ID instance_id 否 String rocketmq实例ID,配置类型选择CLOUD时必填 cluster_alias 是 String rocketmq集群别名 address 否 String rocketmq地址 ssl_open 否 String rocketmq SSL开关 true: 开启 false: 关闭 acl_open 否 Boolean rocketmq ACL开关 true: 开启 false: 关闭 user_name 否 String 用户名,开启ACL时必填 password 否 String 用户密码,开启ACL时必填 表9 DcsParameters 参数 是否必选 参数类型 描述 config_type 是 String 实例类型 CLOUD:云服务D CS 实例 region 是 String 区域id project_id 是 String 资源空间ID instance_id 否 String dcs实例ID,配置类型选择CLOUD时必填 address 否 String dcs地址 password 否 String 用户密码
-
响应示例 状态码:200 Information { "id" : "3a0eeff2-78a4-4122-dfge-7ty5e37f64er", "name" : "WEBHOOK", "provider_type" : "CUSTOM", "connection_id" : "456eekj3-778u-4tyu-dfrt-er55e37f667t", "detail" : { "url" : "http://10.213.96.90:8080/t/nodeapp/trigger-hello-nodejs" }, "retry_times" : 16, "created_time" : "2021-12-09 09:00:00", "updated_time" : "2021-12-09 09:00:00" }
-
请求示例 更新事件订阅目标定义 PUT https://{endpoint}/v1/{project_id}/subscriptions/{subscription_id}/targets/{target_id} { "connection_id" : "456eekj3-778u-4tyu-dfrt-er55e37f667t", "detail" : { "agency_name" : "EG_TARGET_AGENCY", "invoke_type" : "ASYNC", "url" : "http://10.213.96.90:8080/t/nodeapp/trigger-hello-nodejs", "urn" : "urn:fss:cn-north-7:bac852160cc743158936edaab6dda813:function:default:gxtestjava:latest", "workflow_id" : "86afc904-0019-46c8-baed-0225967c1b98" }, "id" : "3a0eeff2-78a4-4122-dfge-7ty5e37f64er", "name" : "WEBHOOK", "provider_type" : "CUSTOM", "retry_times" : 16, "transform" : { "type" : "VARIABLE" } }
-
响应参数 状态码:200 表15 响应Header参数 参数 参数类型 描述 X-Request-Id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. 表16 响应Body参数 参数 参数类型 描述 id String 订阅目标ID name String 订阅的事件目标名称 provider_type String 订阅的事件目标的提供方类型 connection_id String 订阅的事件目标使用的目标链接ID detail Object 订阅的事件目标参数列表 kafka_detail KafkaTargetDetail object 订阅的kafka事件目标参数列表,该字段序列化后总长度不超过1024字节 smn_detail SmnTargetDetail object 订阅的 SMN 事件目标参数列表,该字段序列化后总长度不超过1024字节 eg_detail EgTargetDetail object 订阅的事件eg通道目标参数列表,该字段序列化后总长度不超过1024字节,eg通道目标必填 apigw_detail ApigwTargetDetail object 订阅的事件APIGWurl目标参数列表,该字段序列化后总长度不超过1024字节,APIGW目标必填 retry_times Integer 重试次数 transform TransForm object 订阅的事件目标转换规则 dead_letter_queue DeadLetterQueue object 订阅的死信参数列表 created_time String 创建时间 updated_time String 更新时间 表17 KafkaTargetDetail 参数 参数类型 描述 topic String 主题 keyTransform keyTransform object 键值规则 表18 keyTransform 参数 参数类型 描述 type String 键值规则类型 value String 键值规则,键值规则为VARIABLE,CONSTANT时必填 template String 键值规则模板,键值规则为VARIABLE时必填 表19 SmnTargetDetail 参数 参数类型 描述 urn String 主题urn agency_name String 委托名称 subject_transform subject_transform object 标题规则 表20 subject_transform 参数 参数类型 描述 type String 标题规则类型 value String 标题规则 template String 标题规则模板,键值规则为VARIABLE时必填 表21 EgTargetDetail 参数 参数类型 描述 target_project_id String 目标项目id target_channel_id String 目标通道id target_region String 目标region cross_region Boolean 跨region开关 cross_account Boolean 跨账号开关 agency_name String 委托名称 表22 ApigwTargetDetail 参数 参数类型 描述 url String 目标url invocation_http_parameters InvocationHttpParameters object 调用Http的参数 表23 InvocationHttpParameters 参数 参数类型 描述 header_parameters Array of HeaderParameter objects 对象列表 表24 HeaderParameter 参数 参数类型 描述 is_value_secret Boolean 是否加密 key String header的key值 value String deader的value值 表25 TransForm 参数 参数类型 描述 type String 转换规则类型 value String 常量类型规则时,字段为常量内容定义; 变量类型规则时,为变量定义,内容必须为JsonObject字符串。 变量最多支持100个,且不支持嵌套结构定义; 变量名由字母、数字、点、下划线和中划线组成,必须字母或数字开头不能以HC.开头,长度不超过64个字符; 变量值表达式支持常量或JsonPath表达式,字符串长度不超过1024个字符。 template String 变量类型规则时,规则内容的模板定义,支持对已定义变量的引用。 表26 DeadLetterQueue 参数 参数类型 描述 type String 队列类型 instance_id String 实例id connection_id String 目标连接id topic String 主题
-
URI PUT /v1/{project_id}/subscriptions/{subscription_id}/targets/{target_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户资源空间ID subscription_id 是 String 事件订阅ID target_id 是 String 事件订阅目标ID 表2 Query参数 参数 是否必选 参数类型 描述 enterprise_project_id 否 String 创建订阅时所使用的企业项目id
-
请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表4 请求Body参数 参数 是否必选 参数类型 描述 id 否 String 订阅目标ID,需保证全局唯一,由小写字母、数字、中划线组成,必须字母或数字开头。 更新订阅场景时,指定ID的订阅目标存在时则进行更新,否则进行创建; 创建订阅目标场景时,指定ID作为待创建的订阅目标对象ID,未指定时由系统自动生成。 更新订阅目标时,此字段忽略; name 是 String 订阅的事件目标名称 provider_type 是 String 订阅的事件目标的提供方类型 connection_id 否 String 订阅的事件目标使用的目标链接ID detail 否 Object 订阅的事件目标参数列表,该字段序列化后总长度不超过1024字节,函数(urn、invoke_type、agency_name)、函数流(workflow_id、agency_name)、webhook(url)订阅目标必填,其中函数、函数流委托名称必填 kafka_detail 否 KafkaTargetDetail object 订阅的kafka事件目标参数列表,该字段序列化后总长度不超过1024字节 smn_detail 否 SmnTargetDetail object 订阅的SMN事件目标参数列表,该字段序列化后总长度不超过1024字节 eg_detail 否 EgTargetDetail object 订阅的事件eg通道目标参数列表,该字段序列化后总长度不超过1024字节,eg通道目标必填 apigw_detail 否 ApigwTargetDetail object 订阅的事件APIGWurl目标参数列表,该字段序列化后总长度不超过1024字节,APIGW目标必填 retry_times 否 Integer 重试次数 transform 是 TransForm object 订阅的事件目标转换规则 dead_letter_queue 否 DeadLetterQueue object 订阅的死信参数列表 表5 KafkaTargetDetail 参数 是否必选 参数类型 描述 topic 是 String 主题 keyTransform 否 keyTransform object 键值规则 表6 keyTransform 参数 是否必选 参数类型 描述 type 否 String 键值规则类型 value 否 String 键值规则,键值规则为VARIABLE,CONSTANT时必填 template 否 String 键值规则模板,键值规则为VARIABLE时必填 表7 SmnTargetDetail 参数 是否必选 参数类型 描述 urn 是 String 主题urn agency_name 是 String 委托名称 subject_transform 否 subject_transform object 标题规则 表8 subject_transform 参数 是否必选 参数类型 描述 type 是 String 标题规则类型 value 是 String 标题规则 template 否 String 标题规则模板,键值规则为VARIABLE时必填 表9 EgTargetDetail 参数 是否必选 参数类型 描述 target_project_id 是 String 目标项目id target_channel_id 是 String 目标通道id target_region 是 String 目标region cross_region 否 Boolean 跨region开关 cross_account 否 Boolean 跨账号开关 agency_name 是 String 委托名称 表10 ApigwTargetDetail 参数 是否必选 参数类型 描述 url 是 String 目标url invocation_http_parameters 否 InvocationHttpParameters object 调用Http的参数 表11 InvocationHttpParameters 参数 是否必选 参数类型 描述 header_parameters 否 Array of HeaderParameter objects 对象列表 表12 HeaderParameter 参数 是否必选 参数类型 描述 is_value_secret 否 Boolean 是否加密 key 否 String header的key值 value 否 String deader的value值 表13 TransForm 参数 是否必选 参数类型 描述 type 是 String 转换规则类型 value 否 String 常量类型规则时,字段为常量内容定义; 变量类型规则时,为变量定义,内容必须为JsonObject字符串。 变量最多支持100个,且不支持嵌套结构定义; 变量名由字母、数字、点、下划线和中划线组成,必须字母或数字开头不能以HC.开头,长度不超过64个字符; 变量值表达式支持常量或JsonPath表达式,字符串长度不超过1024个字符。 template 否 String 变量类型规则时,规则内容的模板定义,支持对已定义变量的引用。 表14 DeadLetterQueue 参数 是否必选 参数类型 描述 type 是 String 队列类型 instance_id 是 String 实例id connection_id 是 String 目标连接id topic 是 String 主题
-
响应示例 状态码:200 Information { "id" : "3a0eeff2-78a4-4122-dfge-7ty5e37f64er", "name" : "HC.OBS", "provider_type" : "OFFICIAL", "detail" : { "name" : "name" }, "filter" : { "data" : { "count" : [ { "op" : "NumberIn", "values" : [ 1, 2 ] } ] } }, "created_time" : "2021-12-09 09:00:00", "updated_time" : "2021-12-09 09:00:00" }
-
请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表4 请求Body参数 参数 是否必选 参数类型 描述 id 否 String 订阅源ID,需保证全局唯一。指定ID的订阅源存在时则进行更新,否则进行创建;未指定时由系统自动生成。由小写字母、数字、中划线组成,必须字母或数字开头。 name 是 String 订阅的事件源名称 provider_type 是 String 订阅的事件源的提供方类型 detail 否 Object 订阅的事件源参数列表, 该字段序列化后总长度不超过1024字节 filter 是 Object 订阅事件源的匹配过滤规则, 该字段序列化后总长度不超过2048字节
-
响应参数 状态码:200 表5 响应Header参数 参数 参数类型 描述 X-Request-Id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. 表6 响应Body参数 参数 参数类型 描述 id String 订阅源ID name String 订阅的事件源名称 provider_type String 订阅的事件源的提供方类型 detail Object 订阅的事件源参数列表 filter Object 订阅事件源的匹配过滤规则 created_time String 创建时间 updated_time String 更新时间
-
请求示例 更新事件订阅源 PUT https://{endpoint}/v1/{project_id}/subscriptions/{subscription_id}/sources/{source_id} { "id" : "3a0eeff2-78a4-4122-dfge-7ty5e37f64er", "name" : "HC.OBS", "provider_type" : "OFFICIAL", "detail" : { "name" : "name" }, "filter" : { "data" : { "count" : [ { "op" : "NumberIn", "values" : [ 1, 2 ] } ] } } }
-
URI PUT /v1/{project_id}/subscriptions/{subscription_id}/sources/{source_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户资源空间ID subscription_id 是 String 事件订阅ID source_id 是 String 指定查询的事件源ID 表2 Query参数 参数 是否必选 参数类型 描述 enterprise_project_id 否 String 创建订阅时所使用的企业项目id
-
响应示例 状态码:200 Information { "id" : "23709d68-54d5-423b-a6be-03302e893152", "name" : "test-subscription", "description" : "this is a test subscription", "type" : "EVENT", "status" : "CREATED", "channel_id" : "05649f9a-b324-4920-9c49-156d4cd2e546", "channel_name" : "channel006", "used" : [ { } ], "sources" : [ { } ], "targets" : [ { } ], "created_time" : "2021-12-09 09:00:00", "updated_time" : "2021-12-09 09:00:00" }
-
请求示例 更新事件订阅 PUT https://{endpoint}/v1/{project_id}/subscriptions/{subscription_id} { "description" : "开发用", "sources" : [ { "detail" : { }, "filter" : { "source" : [ { "op" : "StringIn", "values" : [ "ghm" ] } ] }, "id" : "4fca4f29-917b-44d3-bb30-4310f89d08cb", "name" : "ghm", "provider_type" : "CUSTOM" } ], "targets" : [ { "id" : "4261f07e-975c-457f-aa91-0bd33d64baba", "name" : "HC.SMN", "provider_type" : "OFFICIAL", "retry_times" : 16, "smn_detail" : { "agency_name" : "EG_TARGET_AGENCY", "urn" : "urn:smn:cn-north-7:bac852160cc743158936edaab6dda813:CES_notification_group_xMXxPQ1ry" }, "transform" : { "type" : "ORIGINAL", "value" : "" } } ] }
-
响应参数 状态码:200 表17 响应Header参数 参数 参数类型 描述 X-Request-Id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. 表18 响应Body参数 参数 参数类型 描述 id String 订阅ID name String 订阅名称 description String 订阅描述 type String 类型 status String 状态 channel_id String 通道ID channel_name String 通道名称 used Array of SubscriptionUsedInfo objects 标签信息 sources Array of SubscriptionSourceInfo objects 订阅源列表 targets Array of SubscriptionTargetInfo objects 订阅目标列表 created_time String 创建时间 updated_time String 更新时间 表19 SubscriptionUsedInfo 参数 参数类型 描述 resource_id String 关联资源ID owner String 管理租户账号 description String 描述 表20 SubscriptionSourceInfo 参数 参数类型 描述 id String 订阅源ID name String 订阅的事件源名称 provider_type String 订阅的事件源的提供方类型 detail Object 订阅的事件源参数列表 filter Object 订阅事件源的匹配过滤规则 created_time String 创建时间 updated_time String 更新时间 表21 SubscriptionTargetInfo 参数 参数类型 描述 id String 订阅目标ID name String 订阅的事件目标名称 provider_type String 订阅的事件目标的提供方类型 connection_id String 订阅的事件目标使用的目标链接ID detail Object 订阅的事件目标参数列表 kafka_detail KafkaTargetDetail object 订阅的kafka事件目标参数列表,该字段序列化后总长度不超过1024字节 smn_detail SmnTargetDetail object 订阅的SMN事件目标参数列表,该字段序列化后总长度不超过1024字节 eg_detail EgTargetDetail object 订阅的事件eg通道目标参数列表,该字段序列化后总长度不超过1024字节,eg通道目标必填 apigw_detail ApigwTargetDetail object 订阅的事件APIGWurl目标参数列表,该字段序列化后总长度不超过1024字节,APIGW目标必填 retry_times Integer 重试次数 transform TransForm object 订阅的事件目标转换规则 dead_letter_queue DeadLetterQueue object 订阅的死信参数列表 created_time String 创建时间 updated_time String 更新时间 表22 KafkaTargetDetail 参数 参数类型 描述 topic String 主题 keyTransform keyTransform object 键值规则 表23 keyTransform 参数 参数类型 描述 type String 键值规则类型 value String 键值规则,键值规则为VARIABLE,CONSTANT时必填 template String 键值规则模板,键值规则为VARIABLE时必填 表24 SmnTargetDetail 参数 参数类型 描述 urn String 主题urn agency_name String 委托名称 subject_transform subject_transform object 标题规则 表25 subject_transform 参数 参数类型 描述 type String 标题规则类型 value String 标题规则 template String 标题规则模板,键值规则为VARIABLE时必填 表26 EgTargetDetail 参数 参数类型 描述 target_project_id String 目标项目id target_channel_id String 目标通道id target_region String 目标region cross_region Boolean 跨region开关 cross_account Boolean 跨账号开关 agency_name String 委托名称 表27 ApigwTargetDetail 参数 参数类型 描述 url String 目标url invocation_http_parameters InvocationHttpParameters object 调用Http的参数 表28 InvocationHttpParameters 参数 参数类型 描述 header_parameters Array of HeaderParameter objects 对象列表 表29 HeaderParameter 参数 参数类型 描述 is_value_secret Boolean 是否加密 key String header的key值 value String deader的value值 表30 TransForm 参数 参数类型 描述 type String 转换规则类型 value String 常量类型规则时,字段为常量内容定义; 变量类型规则时,为变量定义,内容必须为JsonObject字符串。 变量最多支持100个,且不支持嵌套结构定义; 变量名由字母、数字、点、下划线和中划线组成,必须字母或数字开头不能以HC.开头,长度不超过64个字符; 变量值表达式支持常量或JsonPath表达式,字符串长度不超过1024个字符。 template String 变量类型规则时,规则内容的模板定义,支持对已定义变量的引用。 表31 DeadLetterQueue 参数 参数类型 描述 type String 队列类型 instance_id String 实例id connection_id String 目标连接id topic String 主题
-
请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表4 请求Body参数 参数 是否必选 参数类型 描述 description 否 String 订阅描述 sources 否 Array of SubscriptionSource objects 订阅事件源列表,字段存在则代表全量更新订阅源 targets 否 Array of SubscriptionTarget objects 订阅事件目标列表,字段存在则代表全量更新订阅目标 表5 SubscriptionSource 参数 是否必选 参数类型 描述 id 否 String 订阅源ID,需保证全局唯一。指定ID的订阅源存在时则进行更新,否则进行创建;未指定时由系统自动生成。由小写字母、数字、中划线组成,必须字母或数字开头。 name 是 String 订阅的事件源名称 provider_type 是 String 订阅的事件源的提供方类型 detail 否 Object 订阅的事件源参数列表, 该字段序列化后总长度不超过1024字节 filter 是 Object 订阅事件源的匹配过滤规则, 该字段序列化后总长度不超过2048字节 表6 SubscriptionTarget 参数 是否必选 参数类型 描述 id 否 String 订阅目标ID,需保证全局唯一,由小写字母、数字、中划线组成,必须字母或数字开头。 更新订阅场景时,指定ID的订阅目标存在时则进行更新,否则进行创建; 创建订阅目标场景时,指定ID作为待创建的订阅目标对象ID,未指定时由系统自动生成。 更新订阅目标时,此字段忽略; name 是 String 订阅的事件目标名称 provider_type 是 String 订阅的事件目标的提供方类型 connection_id 否 String 订阅的事件目标使用的目标链接ID detail 否 Object 订阅的事件目标参数列表,该字段序列化后总长度不超过1024字节,函数(urn、invoke_type、agency_name)、函数流(workflow_id、agency_name)、webhook(url)订阅目标必填,其中函数、函数流委托名称必填 kafka_detail 否 KafkaTargetDetail object 订阅的kafka事件目标参数列表,该字段序列化后总长度不超过1024字节 smn_detail 否 SmnTargetDetail object 订阅的SMN事件目标参数列表,该字段序列化后总长度不超过1024字节 eg_detail 否 EgTargetDetail object 订阅的事件eg通道目标参数列表,该字段序列化后总长度不超过1024字节,eg通道目标必填 apigw_detail 否 ApigwTargetDetail object 订阅的事件APIGWurl目标参数列表,该字段序列化后总长度不超过1024字节,APIGW目标必填 retry_times 否 Integer 重试次数 transform 是 TransForm object 订阅的事件目标转换规则 dead_letter_queue 否 DeadLetterQueue object 订阅的死信参数列表 表7 KafkaTargetDetail 参数 是否必选 参数类型 描述 topic 是 String 主题 keyTransform 否 keyTransform object 键值规则 表8 keyTransform 参数 是否必选 参数类型 描述 type 否 String 键值规则类型 value 否 String 键值规则,键值规则为VARIABLE,CONSTANT时必填 template 否 String 键值规则模板,键值规则为VARIABLE时必填 表9 SmnTargetDetail 参数 是否必选 参数类型 描述 urn 是 String 主题urn agency_name 是 String 委托名称 subject_transform 否 subject_transform object 标题规则 表10 subject_transform 参数 是否必选 参数类型 描述 type 是 String 标题规则类型 value 是 String 标题规则 template 否 String 标题规则模板,键值规则为VARIABLE时必填 表11 EgTargetDetail 参数 是否必选 参数类型 描述 target_project_id 是 String 目标项目id target_channel_id 是 String 目标通道id target_region 是 String 目标region cross_region 否 Boolean 跨region开关 cross_account 否 Boolean 跨账号开关 agency_name 是 String 委托名称 表12 ApigwTargetDetail 参数 是否必选 参数类型 描述 url 是 String 目标url invocation_http_parameters 否 InvocationHttpParameters object 调用Http的参数 表13 InvocationHttpParameters 参数 是否必选 参数类型 描述 header_parameters 否 Array of HeaderParameter objects 对象列表 表14 HeaderParameter 参数 是否必选 参数类型 描述 is_value_secret 否 Boolean 是否加密 key 否 String header的key值 value 否 String deader的value值 表15 TransForm 参数 是否必选 参数类型 描述 type 是 String 转换规则类型 value 否 String 常量类型规则时,字段为常量内容定义; 变量类型规则时,为变量定义,内容必须为JsonObject字符串。 变量最多支持100个,且不支持嵌套结构定义; 变量名由字母、数字、点、下划线和中划线组成,必须字母或数字开头不能以HC.开头,长度不超过64个字符; 变量值表达式支持常量或JsonPath表达式,字符串长度不超过1024个字符。 template 否 String 变量类型规则时,规则内容的模板定义,支持对已定义变量的引用。 表16 DeadLetterQueue 参数 是否必选 参数类型 描述 type 是 String 队列类型 instance_id 是 String 实例id connection_id 是 String 目标连接id topic 是 String 主题
-
URI PUT /v1/{project_id}/subscriptions/{subscription_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户资源空间ID subscription_id 是 String 事件订阅ID 表2 Query参数 参数 是否必选 参数类型 描述 enterprise_project_id 否 String 创建订阅时所使用的企业项目id
-
响应参数 状态码:200 表17 响应Header参数 参数 参数类型 描述 X-Request-Id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. 表18 响应Body参数 参数 参数类型 描述 eventStreamingID String 事件流ID
-
请求示例 更新eventstreaming_id事件流 PUT https://{eg_endpoint}/v1/{project_id}/eventstreamings/{eventstreaming_id} { "name" : "test-eventstreaming", "description" : "this is a test eventstreaming", "source" : { "source_kafka" : { "addr" : "10.10.10.10:8100", "group" : "group-test", "instance_name" : "instance-name-test", "security_protocol" : "PLAINTEXT", "instance_id" : "instance-id-test", "topic" : "topic-test", "seek_to" : "earliest", "enable_sasl_ssl" : true, "sasl_mechanism" : "PLAIN", "ssl_certificate_url" : "https://domain/kafka-certs.zip", "ssl_certificate_pwd" : null, "user_name" : "", "password" : "" }, "source_mobile_rocketmq" : { "group_id" : "string", "instance_id" : "string", "topic" : "string", "tag" : "string", "authentication_required" : true, "msg_trace_switch" : true, "access_key" : "string", "secret_key" : "string", "message_model" : "CLUSTERING", "addr_type" : "PUBLIC", "addr" : "string", "sdk_url" : "string", "consume_timeout" : 30000, "message_type" : "string", "suspend_time" : 1800, "max_reconsumer_times" : 3, "consumer_thread_nums" : 20, "consumer_batch_max_size" : 20, "consumer_max_wait" : 5, "vpc_id" : "string", "subnet_id" : "string" }, "source_community_rocketmq" : { "instance_name" : "instance-name-test", "instance_id" : "instance-id-test", "addr" : "10.10.10.10:8100", "group" : "group-test", "topic" : "topic-test", "tag" : "string", "vpc_id" : "string", "subnet_id" : "string", "ssl_enable" : true, "enable_acl" : true, "access_key" : "string", "secret_key" : "string", "message_type" : "string", "consume_timeout" : 30000, "consumer_thread_nums" : 20, "consumer_batch_max_size" : 1, "max_reconsume_times" : -1, "suspend_current_queue_time_millis" : 1000 }, "source_dms_rocketmq" : { "instance_name" : "instance-name-test", "instance_id" : "instance-id-test", "group" : "group-test", "topic" : "topic-test", "tag" : "string", "ssl_enable" : true, "enable_acl" : true, "access_key" : "string", "secret_key" : "string", "message_type" : "string", "engine_version" : "string", "consume_timeout" : 30000, "consumer_thread_nums" : 20, "consumer_batch_max_size" : 1, "max_reconsume_times" : -1, "suspend_current_queue_time_millis" : 1000 }, "name" : "string" }, "sink" : { "sink_fg" : { "invoke_type" : "SYNC/ASYNC", "urn" : "String", "agency" : "string" }, "sink_kafka" : { "topic" : "string", "keyTransform" : [ { "type" : "VARIABLE", "value" : "{\"contant_boolean\": true,\"contant_string\": \"constant\",\"varaible_string\": \"$.data.string\",\"varaible_json_object\": \"$.data.object\"}", "template" : "{\"contant_boolean\": ${contant_boolean},\"contant_string\": \"${contant_string!\\\"default\\\"}\",\"varaible_string\": \"${contant_boolean}\",\"varaible_json_object\": ${varaible_json_object!\"null\"}}" } ], "connectionId" : "string" }, "sink_obs" : { "access_key" : "string", "secret_key" : "string", "obs_bucket" : "string", "obs_path" : "string", "time_format" : "string" }, "name" : "string" }, "rule_config" : { "transform" : { "type" : "VARIABLE", "value" : "{\"contant_boolean\": true,\"contant_string\": \"constant\",\"varaible_string\": \"$.data.string\",\"varaible_json_object\": \"$.data.object\"}", "template" : "{\"contant_boolean\": ${contant_boolean},\"contant_string\": \"${contant_string!\\\"default\\\"}\",\"varaible_string\": \"${contant_boolean}\",\"varaible_json_object\": ${varaible_json_object!\"null\"}}" }, "filter" : { } }, "option" : { "thread_num" : "3", "batch_window" : { "count" : 500, "time" : 10, "interval" : 0 } } }
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 事件流名称,租户下唯一,由字母、数字、点、下划线和中划线组成,必须字母或数字开头 description 否 String 事件流描述 source 是 EventStreamingSource object 事件源,一个事件流中事件源只有一个 sink 是 EventStreamingSink object 事件目标,一个事件流中只有一个事件目标,sink_fg、sink_kafka只能选择其中一个参数 rule_config 否 rule_config object 事件规则,包括过滤规则和转换规则 option 否 RunOption object 运行配置 表4 EventStreamingSource 参数 是否必选 参数类型 描述 source_kafka 否 SourceKafkaMQParameters object 事件源参数 source_mobile_rocketmq 否 SourceMobileMQParameters object 事件流移动云rockectMq事件源参数 source_community_rocketmq 否 SourceCommunityMQParameters object 事件流社区rockectMq事件源参数 source_dms_rocketmq 否 SourceDMSMQParameters object DMS事件源参数 name 否 String 事件源类型名称 表5 SourceKafkaMQParameters 参数 是否必选 参数类型 描述 addr 否 String kafka连接地址 group 是 String kafka消费组 instance_name 否 String kafka实例名称 security_protocol 否 String 安全协议 instance_id 否 String kafka实例ID topic 是 String kafka topic名称 seek_to 否 String 消费点位 enable_sasl_ssl 否 Boolean SASL_SSL是否开启 sasl_mechanism 否 String SASL认证机制 ssl_certificate_url 否 String SASL证书地址,配置的obs地址 ssl_certificate_pwd 否 String SASL证书密码 user_name 否 String 用户名 password 否 String 用户密码 表6 SourceMobileMQParameters 参数 是否必选 参数类型 描述 group_id 是 String 消费组id instance_id 是 String 实例id topic 是 String topic tag 否 String 标签 authentication_required 否 Boolean 鉴权认证 msg_trace_switch 否 Boolean 保存消息轨迹 access_key 否 String AccessKey secret_key 否 String SecretKey message_model 是 String 订阅方式 addr_type 是 String 接入点类型 addr 是 String 地址 sdk_url 是 String 依赖SDK consume_timeout 是 Integer 消费超时时间 message_type 是 String 消息类型 suspend_time 否 Integer 失败重试的等待时间 max_reconsumer_times 否 Integer 最大重试次数 consumer_thread_nums 否 Integer 消费线程数 consumer_batch_max_size 否 Integer 批量消费最大消息数 consumer_max_wait 否 Integer 批量消费最大等待时长,单位:秒 vpc_id 否 String 虚拟私有云 subnet_id 否 String 子网 表7 SourceCommunityMQParameters 参数 是否必选 参数类型 描述 instance_name 否 String 实例名称,仅dms的rockectMq需要该字段 instance_id 否 String 实例ID,仅dms的rockectMq需要该字段 addr 是 String rockectMq连接地址 group 是 String 消费组 topic 是 String topic名称 tag 否 String 标签 vpc_id 是 String 虚拟云id subnet_id 是 String 子网id ssl_enable 否 Boolean 开启SSL enable_acl 否 Boolean ACL访问控制 access_key 否 String 用户名 secret_key 否 String 密码 message_type 否 String 消息类型 consume_timeout 否 Integer 消费超时时间 consumer_thread_nums 否 Integer 线程消费数 consumer_batch_max_size 否 Integer 批量消费最大消息数 max_reconsume_times 否 Integer 最大重试次数,-1表示一直重试 suspend_current_queue_time_millis 否 Integer 重试间隔,单位ms 表8 SourceDMSMQParameters 参数 是否必选 参数类型 描述 instance_name 否 String 实例名称,仅dms的rockectMq需要该字段 instance_id 是 String 实例ID,仅dms的rockectMq需要该字段 group 是 String 消费组 topic 是 String topic名称 tag 否 String 标签 ssl_enable 否 Boolean 开启SSL enable_acl 否 Boolean ACL访问控制 access_key 否 String 用户名 secret_key 否 String 密码 message_type 否 String 消费方式,针对不同生产顺序消息类型,选择消费方式会导致不同结果,请严格按照需求选择消费方式。1、生产顺序为:设置消息组,保证消息顺序发送。消费方式为:顺序消费,实际消息处理结果:按照消息组粒度,严格保证消息顺序。 同一消息组内的消息的消费顺序和发送顺序完全一致。2、生产顺序为:设置消息组,保证消息顺序发送。消费方式为:并发消费,实际消息处理结果:并发消费,尽可能按时间顺序处理。3、生产顺序为:未设置消息组,消息乱序发送。消费方式为:顺序消费,实际消息处理结果:按队列存储粒度,严格顺序。 基于 Apache RocketMQ 本身队列的属性,消费顺序和队列存储的顺序一致,但不保证和发送顺序一致。4、生产顺序为:未设置消息组,消息乱序发送。消费方式为:并发消费,实际消息处理结果:并发消费,尽可能按照时间顺序处理。 engine_version 否 String mq实例版本 consume_timeout 否 Integer 消费超时时间 consumer_thread_nums 否 Integer 线程消费数 consumer_batch_max_size 否 Integer 批量消费最大消息数 max_reconsume_times 否 Integer 最大重试次数,-1表示一直重试 suspend_current_queue_time_millis 否 Integer 重试间隔,单位ms 表9 EventStreamingSink 参数 是否必选 参数类型 描述 sink_fg 否 SinkFGParameters object 函数事件目标的参数 sink_kafka 否 SinkKafkaParameters object kafka事件目标的参数 sink_obs 否 SinkObsParameters object OBS事件目标的参数 name 否 String 事件目标类型名称 表10 SinkFGParameters 参数 是否必选 参数类型 描述 invoke_type 否 String 函数执行方式,同步/异步 urn 否 String 函数链接 agency 否 String 租户委托 表11 SinkKafkaParameters 参数 是否必选 参数类型 描述 topic 是 String topic名称 keyTransform 否 Array of TransForm objects key的转换规则 connectionId 是 String 目标连接id 表12 TransForm 参数 是否必选 参数类型 描述 type 是 String 转换规则类型 value 否 String 常量类型规则时,字段为常量内容定义; 变量类型规则时,为变量定义,内容必须为JsonObject字符串。 变量最多支持100个,且不支持嵌套结构定义; 变量名由字母、数字、点、下划线和中划线组成,必须字母或数字开头不能以HC.开头,长度不超过64个字符; 变量值表达式支持常量或JsonPath表达式,字符串长度不超过1024个字符。 template 否 String 变量类型规则时,规则内容的模板定义,支持对已定义变量的引用。 表13 SinkObsParameters 参数 是否必选 参数类型 描述 access_key 是 String AK secret_key 是 String SK obs_bucket 是 String 桶 obs_path 否 String 转储目录 time_format 是 String 时间目录格式 表14 rule_config 参数 是否必选 参数类型 描述 transform 否 TransForm object 订阅的事件目标转换规则 filter 否 Object 过滤规则 表15 RunOption 参数 是否必选 参数类型 描述 thread_num 否 Integer 并发数 batch_window 否 BatchWindow object 批量推送 表16 BatchWindow 参数 是否必选 参数类型 描述 count 否 Integer 批量推送条数[1,10000] time 否 Integer 重试次数 interval 否 Integer 批量推送间隔[0,15],单位秒
-
响应参数 状态码:200 表5 响应Header参数 参数 参数类型 描述 X-Request-Id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. 表6 响应Body参数 参数 参数类型 描述 id String 事件源ID name String 事件源名称 label String 事件源名称展示 description String 事件源描述 provider_type String 事件源提供方类型,OFFICIAL:官方云服务事件源;CUSTOM:用户创建的自定义事件源;PARTNER:伙伴事件源 event_types Array of event_types objects 事件源提供的事件类型列表,只有官方云服务事件源提供事件类型 created_time String 创建UTC时间 updated_time String 更新UTC时间 channel_id String 事件源归属的事件通道ID channel_name String 事件源归属的事件通道名称 type String 事件源类型 detail Object json格式封装消息实例链接信息:如RabbitMQ实例的instance_id字段、 虚拟主机 vhost字段、队列queue字段、用户名、密码等 status String 自定义事件源状态 error_info ErrorInfo object 错误信息 表7 event_types 参数 参数类型 描述 name String 事件类型名称 description String 事件类型描述 表8 ErrorInfo 参数 参数类型 描述 error_code String 错误码 error_detail String 错误详情 error_msg String 错误信息
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- ...
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333