From 01f95d21dd05ffd78912973ec2d2a47837ceccd8 Mon Sep 17 00:00:00 2001 From: huangju1993 Date: Mon, 3 Jul 2023 01:57:52 +0000 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20TensorFl?= =?UTF-8?q?ow/built-in/cv/detection/CRNN=5Ffor=5FTensorFlow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cv/detection/CRNN_for_TensorFlow/.gitkeep | 0 .../cv/detection/CRNN_for_TensorFlow/LICENSE | 21 - .../detection/CRNN_for_TensorFlow/README.md | 201 - .../CRNN_for_TensorFlow/README_ORI_2.md | 177 - .../CRNN_for_TensorFlow/config/__init__.py | 35 - .../config/global_config.py | 134 - .../config/rank_table_8p.json | 15 - .../configs/rank_table_8p.json | 23 - .../crnn_model/__init__.py | 35 - .../crnn_model/cnn_basenet.py | 663 - .../crnn_model/crnn_net.py | 292 - .../data/char_dict/char_dict.json | 38 - .../data/char_dict/char_dict_cn.json | 5826 -------- .../data/char_dict/char_dict_en.json | 38 - .../data/char_dict/ord_map.json | 74 - .../data/char_dict/ord_map_cn.json | 11650 ---------------- .../data/char_dict/ord_map_en.json | 74 - .../CRNN_for_TensorFlow/data/images/.keep | 0 .../data_provider/__init__.py | 35 - .../data_provider/convert_ic03.py | 174 - .../data_provider/convert_iiit5k.py | 97 - .../data_provider/convert_svt.py | 194 - .../data_provider/preprocess_ic03.py | 101 - .../data_provider/preprocess_ic13.py | 82 - .../shadownet_data_feed_pipline.py | 318 - .../data_provider/tf_io_pipline_fast_tools.py | 592 - .../local_utils/__init__.py | 35 - .../local_utils/establish_char_dict.py | 133 - .../local_utils/evaluation_tools.py | 184 - .../local_utils/log_utils.py | 89 - .../CRNN_for_TensorFlow/modelzoo_level.txt | 3 - .../CRNN_for_TensorFlow/requirements.txt | 12 - .../CRNN_for_TensorFlow/scripts/8p.json | 23 - .../CRNN_for_TensorFlow/scripts/env.sh | 15 - .../CRNN_for_TensorFlow/scripts/prepare_ds.sh | 59 - .../CRNN_for_TensorFlow/scripts/run_1p.sh | 25 - .../CRNN_for_TensorFlow/scripts/run_8p.sh | 26 - .../CRNN_for_TensorFlow/scripts/test.sh | 101 - .../CRNN_for_TensorFlow/scripts/train_8p.sh | 57 - .../CRNN_for_TensorFlow/test/train_full_1p.sh | 195 - .../CRNN_for_TensorFlow/test/train_full_8p.sh | 205 - .../CRNN_for_TensorFlow/tools/__init__.py | 35 - .../tools/apply_ocr_pdf.py | 35 - .../CRNN_for_TensorFlow/tools/eval_ckpt.py | 84 - .../tools/evaluate_shadownet.py | 296 - .../CRNN_for_TensorFlow/tools/frozen_graph.py | 80 - .../tools/other_dataset_evaluate_shadownet.py | 263 - .../tools/recongnize_chinese_pdf.py | 295 - .../tools/test_shadownet.py | 191 - .../CRNN_for_TensorFlow/tools/train_npu.py | 743 - .../tools/train_shadownet.py | 631 - .../tools/write_tfrecords.py | 109 - 52 files changed, 24813 deletions(-) delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/.gitkeep delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/LICENSE delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/README.md delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/README_ORI_2.md delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/config/__init__.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/config/global_config.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/config/rank_table_8p.json delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/configs/rank_table_8p.json delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/crnn_model/__init__.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/crnn_model/cnn_basenet.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/crnn_model/crnn_net.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/char_dict.json delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/char_dict_cn.json delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/char_dict_en.json delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/ord_map.json delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/ord_map_cn.json delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/ord_map_en.json delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/images/.keep delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/__init__.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/convert_ic03.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/convert_iiit5k.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/convert_svt.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/preprocess_ic03.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/preprocess_ic13.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/shadownet_data_feed_pipline.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/tf_io_pipline_fast_tools.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/__init__.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/establish_char_dict.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/evaluation_tools.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/log_utils.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/modelzoo_level.txt delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/requirements.txt delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/8p.json delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/env.sh delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/prepare_ds.sh delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/run_1p.sh delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/run_8p.sh delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/test.sh delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/train_8p.sh delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/test/train_full_1p.sh delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/test/train_full_8p.sh delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/__init__.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/apply_ocr_pdf.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/eval_ckpt.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/evaluate_shadownet.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/frozen_graph.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/other_dataset_evaluate_shadownet.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/recongnize_chinese_pdf.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/test_shadownet.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/train_npu.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/train_shadownet.py delete mode 100644 TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/write_tfrecords.py diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/.gitkeep b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/LICENSE b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/LICENSE deleted file mode 100644 index 9f3364497..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 MaybeShewill-CV - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/README.md b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/README.md deleted file mode 100644 index cb87a5628..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/README.md +++ /dev/null @@ -1,201 +0,0 @@ -- [基本信息](#基本信息.md) -- [概述](#概述.md) -- [训练环境准备](#训练环境准备.md) -- [快速上手](#快速上手.md) -- [迁移学习指导](#迁移学习指导.md) -- [高级参考](#高级参考.md) -## 基本信息 - -**发布者(Publisher):Huawei** - -**应用领域(Application Domain):Instance Segmentation** - -**版本(Version):1.1** - -**修改时间(Modified) :2021.08.28** - -**大小(Size):880KB** - -**框架(Framework):TensorFlow 1.15.0** - -**模型格式(Model Format):ckpt** - -**精度(Precision):Mixed** - -**处理器(Processor):昇腾910** - -**应用级别(Categories):Official** - -**描述(Description):基于TensorFlow框架的场景文本识别深度神经网络** - -## 概述 - -- 该网络模型通过一个CNN网络实现特征提取,然后输入给后端的RNN网络和CTC Loss计算。。 - -- 参考论文: - - https://arxiv.org/abs/1507.05717 - -- 参考实现: - - https://github.com/MaybeShewill-CV/CRNN_Tensorflow - -- 适配昇腾 AI 处理器的实现: - - - https://gitee.com/ascend/ModelZoo-TensorFlow/tree/master/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow - - -- 通过Git获取对应commit\_id的代码方法如下: - - - git clone {repository_url} # 克隆仓库的代码 - cd {repository_name} # 切换到模型的代码仓目录 - git checkout {branch} # 切换到对应分支 - git reset --hard {commit_id} # 代码设置到对应的commit_id - cd {code_path} # 切换到模型代码所在路径,若仓库下只有该模型,则无需切换 - - -#### 默认配置 - -- 训练数据集: - - 训练环节使用synth90k数据集,验证可以基于如下三个数据集执行:IIIT5K, ICDAR2003或者SVT。 - -- 训练超参 - - momentum=0.95 - - lr=0.08 - - use_nesterov=True - - warmup_step=8000 - -#### 支持特性 - -| 特性列表 | 是否支持 | -| ---------- | -------- | -| 分布式训练 | 否 | -| 混合精度 | 是 | -| 数据并行 | 是 | - - -#### 混合精度训练 - - 混合精度训练昇腾910 AI处理器提供自动混合精度功能,可以针对全网中float32数据类型的算子,按照内置的优化策略,自动将部分float32的算子降低精度到float16,从而在精度损失很小的情况下提升系统性能并减少内存使用。 - -#### 开启混合精度 - - custom_op.name = "NpuOptimizer" - custom_op.parameter_map["use_off_line"].b = True - custom_op.parameter_map["enable_data_pre_proc"].b = True - custom_op.parameter_map["precision_mode"].s = tf.compat.as_bytes('allow_mix_precision') - -## 训练环境准备 - -1. 硬件环境准备请参见各硬件产品文档"[驱动和固件安装升级指南]( https://support.huawei.com/enterprise/zh/category/ai-computing-platform-pid-1557196528909)"。需要在硬件设备上安装与CANN版本配套的固件与驱动。 -2. 宿主机上需要安装Docker并登录[Ascend Hub中心](https://ascendhub.huawei.com/#/detail?name=ascend-tensorflow-arm)获取镜像。 - - 当前模型支持的镜像列表如[表1](#zh-cn_topic_0000001074498056_table1519011227314)所示。 - - **表 1** 镜像列表 - - - - - - - - - - - - -

镜像名称

-

镜像版本

-

配套CANN版本

-
-

21.0.2

-

5.0.2

-
- - -## 快速上手 - -#### 数据集准备 - -- 以synth90k数据集为例:下载synth90k到/data目录,然后解压; - 在/scripts目录下执行bash prepare_ds.sh。 - -#### 模型训练 - -- 单击“立即下载”,并选择合适的下载方式下载源码包。 - -- 开始训练 - - 1.启动训练之前,首先要配置程序运行相关环境变量。 - - 环境变量配置信息参见: - - [Ascend 910训练平台环境变量设置](https://gitee.com/ascend/ModelZoo-TensorFlow/wikis/01.%E8%AE%AD%E7%BB%83%E8%84%9A%E6%9C%AC%E8%BF%81%E7%A7%BB%E6%A1%88%E4%BE%8B/Ascend%20910%E8%AE%AD%E7%BB%83%E5%B9%B3%E5%8F%B0%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E8%AE%BE%E7%BD%AE) - - 2.单卡训练.脚本为CRNN_for_TensorFlow/test/train_full_1p.sh - - ``` - bash train_full_1p.sh --data_path=xxx - ``` - - 3.启动8卡训练 (脚本为CRNN_for_TensorFlow/test/train_full_8p.sh) - - ``` - bash train_full_8p.sh --data_path=xxx - ``` - -## 迁移学习指导 - -- 数据集准备。 - - 1. 获取数据。 - 请参见“快速上手”中的数据集准备。 - -- 模型训练。 - - 参考“模型训练”中训练步骤。 - -- 模型评估。 - - 参考“模型训练”中验证步骤。 - -## 高级参考 - -#### 脚本和示例代码 - -``` - |-- config - |-- configs - |-- rank_table_8p.json - |-- crnn_model - |-- data - |-- data_provider - |-- local_utils - |-- scripts - |-- prepare_ds.sh - |-- test - |-- train_full_1p.sh - |-- train_full_8p.sh - |-- tools -``` - -#### 脚本参数 - -``` - - momentum=0.95 - - lr=0.08 - - use_nesterov=True - - warmup_step=8000 -``` - -#### 训练过程 - -1. 通过“模型训练”中的训练指令启动单卡训练。 -2. 将训练脚本(train_full_1p.sh)中的data_path设置为训练数据集的路径。具体的流程参见“模型训练”的示例。 -3. 模型存储路径为“${cur_path}/output/$ASCEND_DEVICE_ID”,包括训练的log以及checkpoints文件。 -4. 以单卡训练为例,loss信息在文件${cur_path}/output/${ASCEND_DEVICE_ID}/train_${ASCEND_DEVICE_ID}.log中。 - -#### \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/README_ORI_2.md b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/README_ORI_2.md deleted file mode 100644 index 91265745a..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/README_ORI_2.md +++ /dev/null @@ -1,177 +0,0 @@ -# CRNN for Tensorflow - -This repository provides a script and recipe to train the CRNN model. The code is based on https://github.com/MaybeShewill-CV/CRNN_Tensorflow, -modifications are made to run on NPU. Original README file can be found in `README_ORI.md` - -## Table Of Contents - -* [Model overview](#model-overview) - * [Model Architecture](#model-architecture) - * [Default configuration](#default-configuration) -* [Data augmentation](#data-augmentation) -* [Setup](#setup) - * [Requirements](#requirements) -* [Quick start guide](#quick-start-guide) -* [Advanced](#advanced) - * [Command line arguments](#command-line-arguments) - * [Training process](#training-process) -* [Performance](#performance) - * [Results](#results) - * [Training accuracy results](#training-accuracy-results) - * [Training performance results](#training-performance-results) - - - - -## Model overview - -CRNN model from -`Shibao Guang et al. "An End-to-End Trainable Neural Network for Image-based Sequence -Recognition and Its Application to Scene Text Recognition". .` -reference implementation: -### Model architecture - - - -### Default configuration - -The following sections introduce the default configurations and hyperparameters for CRNN model. We reproduce training setups -on synth90k datasets, evaluate on three datasets: IIIT5K, ICDAR2003 and SVT. See [Results](#results) for details. - -For detailed hpyerparameters, please refer to corresponding scripts under directory `scripts/` and -#### Optimizer - -This model uses Momentum optimizer from Tensorflow with the following hyperparameters: - -- Momentum : 0.9 -- LR schedule: cosine_annealing -- Batch size : 64 * 8 - -#### Data augmentation - -This model uses the following data augmentation: - -- For training: - - Normalize=(value/127.5-1.0) -- For inference: - - Normalize=(value/127.5-1.0) - - - -## Setup -The following section lists the requirements to start training the CRNN model. -### Requirements - -see `requirements.txt` - -## Quick Start Guide - -### 1. Clone the respository - -```shell -git clone xxx -cd ModelZoo_CRNN_TF_HARD/00-access/ -``` - -### 2. Download and preprocess the dataset - -You can use any datasets as you wish. Here, we only synth90k dataset as an example to illustrate the data generation. - -1. Download the synth90k, IIIT5K, ICDAR2003 and SVT datasets and put them under `./data`. -2. go to `/data` directory and unzip the datasets -3. go to `/scripts` and execute the shell scripts - -``` -bash prepare_ds.sh -``` -After data preparation, the directory of `data/` looks like following structure: - -|-- data/ -| |-- char_dict/ -| |-- mnt/ -| |-- images/ -| |-- test/ -| |-- tfrecords/ - - -### 3. Train - -All the scripts to tick off the training are located under `scripts/`. Make sure that all data are ready before you start training. Training on single NPU or multiple NPU devices are supported. Scripts that contain `1p` indicate single NPU training scripts or configuration. Scripts that contain `8p` indicate training on eight NPU devices. - -- For training on single NPU device, execute the shell script `run_1p.sh`, e.g. - ``` - bash scripts/run_1p.sh - ``` - By default, the checkpoints and training log are located in `results/1p/0`. - -- For training on eight NPU device, execute the shell script `run_8p.sh`, e.g. - ``` - bash scripts/run_8p.sh - ``` - By default, the checkpoints and training log are located in `results/8p/`. - - -***Note***: As the time consumption of the training for single NPU is much higher than that of 8 NPUs, it is recommended to train on eight NPUs. - - -### 4. Test -Three datases are used to evaluate the trained model. To test, just run test script 'scripts/test.sh ${DIR_TO_CHECKPOINTS}' (replace the ${DIR_TO_CHECKPOINTS} with real path to checkpoint file). When finished, test results will be saved as text file under project directory with name `test_result.txt` by default. - ``` - bash scripts/test.sh ${DIR_TO_CHECKPOINTS} - ``` - - -## Advanced -### Commmand-line options - - -``` - --root_dir Root directory of the project, default ./ - --dataset_dir path to tfrecords file, default data/ - --weights_path pretrained checkpoint when continuing training, default None - --momentum momentum factor, default: 0.9 - --num_iters the number of training steps , default 240000 - --lr_sched the lr scheduling policy, default cosine - --use_nesterov whether to use nesterov in the sgd optimizer, default ,False - --warmup_step number of warmup step used in lr schedular -``` -for a complete list of options, please refer to `tools/train_npu.py` and `config/global_config.py` - -### Training process - -All the results of the training will be stored in the directory `results`. -Script will store: - - checkpoints - - log - -## Performance - -### Result - -Our result were obtained by running the applicable training script. To achieve the same results, follow the steps in the Quick Start Guide. - - -#### Evaluation results -The accuracy is measured in term of full sequence in a lexicon-free decoding mode - -| **training steps**| SVT | ICDAR2003 | IIIT5k | -| :----------------: | :----------:| :------: |:------: | -| 8 | 80.8% + | 89.4%+ | 78.2% + | - - -#### Training performance - -| **NPUs** | batch size | train performance | -| :------: | :---------------: |:---------------: | -| 8 | 64*8 | ~ 168ms/step | - - - - - - - - - - - diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/config/__init__.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/config/__init__.py deleted file mode 100644 index 4a7849063..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/config/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -## @Time : 17-9-22 涓嬪崍3:25 -# @Author : Luo Yao -# @Site : http://github.com/TJCVRS -# @File : __init__.py.py -# @IDE: PyCharm Community Edition \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/config/global_config.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/config/global_config.py deleted file mode 100644 index 786d7c505..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/config/global_config.py +++ /dev/null @@ -1,134 +0,0 @@ - -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -## @Time : 17-9-22 涓嬪崍3:25 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : global_config.py -# @IDE: PyCharm Community Edition -""" -Set some global configuration -""" -from easydict import EasyDict as edict - -__C = edict() -# Consumers can get config by: from config import cfg - -cfg = __C - -__C.ARCH = edict() - -# Number of units in each LSTM cell -__C.ARCH.HIDDEN_UNITS = 256 -# Number of stacked LSTM cells -__C.ARCH.HIDDEN_LAYERS = 2 -# Sequence length. This has to be the width of the final feature map of the CNN, which is input size width / 4 -# __C.ARCH.SEQ_LENGTH = 70 # cn dataset -__C.ARCH.SEQ_LENGTH = 25 # synth90k dataset -__C.ARCH.MAX_LENGTH = 23 # synth90k dataset -# Width x height into which training / testing images are resized before feeding into the network -# __C.ARCH.INPUT_SIZE = (280, 32) # cn dataset -__C.ARCH.INPUT_SIZE = (100, 32) # synth90k dataset -# Number of channels in images -__C.ARCH.INPUT_CHANNELS = 3 -# Number character classes -# __C.ARCH.NUM_CLASSES = 5825 # cn dataset -__C.ARCH.NUM_CLASSES = 37 # synth90k dataset - - -# modified for NPU estimator -# Save checkpoint every 1000 steps -__C.SAVE_CHECKPOINT_STEPS=1000 -# Max Checkpoint files -__C.MAX_TO_KEEP=5 -#data directory -__C.LOG_DIR="log" -# -__C.LOG_NAME="training_log" -# -__C.ITERATIONS_PER_LOOP=100 - - -# Train options -__C.TRAIN = edict() - -# Use early stopping? -__C.TRAIN.EARLY_STOPPING = False -# Wait at least this many epochs without improvement in the cost function -__C.TRAIN.PATIENCE_EPOCHS = 6 -# Expect at least this improvement in one epoch in order to reset the early stopping counter -__C.TRAIN.PATIENCE_DELTA = 1e-3 - - -# Set the shadownet training iterations -# first choice -__C.TRAIN.EPOCHS = 80010 - -# Set the display step -__C.TRAIN.DISPLAY_STEP = 100 -# Set the test display step during training process -__C.TRAIN.TEST_DISPLAY_STEP = 100 -# Set the momentum parameter of the optimizer -__C.TRAIN.MOMENTUM = 0.9 -# Set the initial learning rate -__C.TRAIN.LEARNING_RATE = 0.01 -# Set the GPU resource used during training process -__C.TRAIN.GPU_MEMORY_FRACTION = 0.9 -# Set the GPU allow growth parameter during tensorflow training process -__C.TRAIN.TF_ALLOW_GROWTH = True -# Set the shadownet training batch size -__C.TRAIN.BATCH_SIZE = 64 -#__C.TRAIN.BATCH_SIZE = 512 -# Set the shadownet validation batch size -__C.TRAIN.VAL_BATCH_SIZE = 32 -# Set the learning rate decay steps -__C.TRAIN.LR_DECAY_STEPS = 500000 -# Set the learning rate decay rate -__C.TRAIN.LR_DECAY_RATE = 0.1 -# Update learning rate in jumps? -__C.TRAIN.LR_STAIRCASE = True -# Set multi process nums -__C.TRAIN.CPU_MULTI_PROCESS_NUMS = 6 -# Set Gpu nums -__C.TRAIN.GPU_NUM = 2 -# Set moving average decay -__C.TRAIN.MOVING_AVERAGE_DECAY = 0.9999 -# Set val display step -__C.TRAIN.VAL_DISPLAY_STEP = 1000 - -# Test options -__C.TEST = edict() - -# Set the GPU resource used during testing process -__C.TEST.GPU_MEMORY_FRACTION = 0.6 -# Set the GPU allow growth parameter during tensorflow testing process -__C.TEST.TF_ALLOW_GROWTH = False -# Set the test batch size -__C.TEST.BATCH_SIZE = 32 diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/config/rank_table_8p.json b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/config/rank_table_8p.json deleted file mode 100644 index 1c58ed513..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/config/rank_table_8p.json +++ /dev/null @@ -1,15 +0,0 @@ -{ -"server_count":"1", -"server_list":[{ - "device":[{"device_id":"0","device_ip":"192.168.100.101","rank_id":"0"}, - {"device_id":"1","device_ip":"192.168.101.101","rank_id":"1"}, - {"device_id":"2","device_ip":"192.168.102.101","rank_id":"2"}, - {"device_id":"3","device_ip":"192.168.103.101","rank_id":"3"}, - {"device_id":"4","device_ip":"192.168.100.100","rank_id":"4"}, - {"device_id":"5","device_ip":"192.168.101.100","rank_id":"5"}, - {"device_id":"6","device_ip":"192.168.102.100","rank_id":"6"}, - {"device_id":"7","device_ip":"192.168.103.100","rank_id":"7"}], - "server_id":"127.0.0.2"}], -"status":"completed", -"version":"1.0" -} diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/configs/rank_table_8p.json b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/configs/rank_table_8p.json deleted file mode 100644 index 8c47d503f..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/configs/rank_table_8p.json +++ /dev/null @@ -1,23 +0,0 @@ -{ -"group_count": "1", -"group_list": [ -{ - "group_name": "worker", - "device_count": "8", - "instance_count": "1", - "instance_list": [{"devices": - [{"device_id":"0","device_ip":"192.168.100.101"}, - {"device_id":"1","device_ip":"192.168.101.101"}, - {"device_id":"2","device_ip":"192.168.102.101"}, - {"device_id":"3","device_ip":"192.168.103.101"}, - {"device_id":"4","device_ip":"192.168.100.100"}, - {"device_id":"5","device_ip":"192.168.101.100"}, - {"device_id":"6","device_ip":"192.168.102.100"}, - {"device_id":"7","device_ip":"192.168.103.100"}], - "pod_name":"npu8p", - "server_id":"127.0.0.1"}] -} -], -"status": "completed" -} - diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/crnn_model/__init__.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/crnn_model/__init__.py deleted file mode 100644 index 3067a5b38..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/crnn_model/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -## @Time : 17-9-21 涓嬪崍6:37 -# @Author : Luo Yao -# @Site : http://github.com/TJCVRS -# @File : __init__.py.py -# @IDE: PyCharm Community Edition \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/crnn_model/cnn_basenet.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/crnn_model/cnn_basenet.py deleted file mode 100644 index 4b46bcdaa..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/crnn_model/cnn_basenet.py +++ /dev/null @@ -1,663 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 17-9-18 涓嬪崍3:59 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : cnn_basenet.py -# @IDE: PyCharm Community Edition -""" -The base convolution neural networks mainly implement some useful cnn functions -""" -import tensorflow as tf -from tensorflow.python.training import moving_averages -from tensorflow.contrib.framework import add_model_variable -import numpy as np - - -class CNNBaseModel(object): - """ - Base model for other specific cnn ctpn_models - """ - - def __init__(self): - pass - - @staticmethod - def conv2d(inputdata, out_channel, kernel_size, padding='SAME', - stride=1, w_init=None, b_init=None, - split=1, use_bias=True, data_format='NHWC', name=None): - """ - Packing the tensorflow conv2d function. - :param name: op name - :param inputdata: A 4D tensorflow tensor which ust have known number of channels, but can have other - unknown dimensions. - :param out_channel: number of output channel. - :param kernel_size: int so only support square kernel convolution - :param padding: 'VALID' or 'SAME' - :param stride: int so only support square stride - :param w_init: initializer for convolution weights - :param b_init: initializer for bias - :param split: split channels as used in Alexnet mainly group for GPU memory save. - :param use_bias: whether to use bias. - :param data_format: default set to NHWC according tensorflow - :return: tf.Tensor named ``output`` - """ - with tf.variable_scope(name): - in_shape = inputdata.get_shape().as_list() - channel_axis = 3 if data_format == 'NHWC' else 1 - in_channel = in_shape[channel_axis] - - assert in_channel is not None, "[Conv2D] Input cannot have unknown channel!" - assert in_channel % split == 0 - assert out_channel % split == 0 - - padding = padding.upper() - - if isinstance(kernel_size, list): - filter_shape = [kernel_size[0], kernel_size[1]] + [in_channel / split, out_channel] - else: - filter_shape = [kernel_size, kernel_size] + [in_channel / split, out_channel] - - if isinstance(stride, list): - strides = [1, stride[0], stride[1], 1] if data_format == 'NHWC' \ - else [1, 1, stride[0], stride[1]] - else: - strides = [1, stride, stride, 1] if data_format == 'NHWC' \ - else [1, 1, stride, stride] - - if w_init is None: - w_init = tf.contrib.layers.variance_scaling_initializer() - if b_init is None: - b_init = tf.constant_initializer() - - w = tf.get_variable('W', filter_shape, initializer=w_init) - b = None - - if use_bias: - b = tf.get_variable('b', [out_channel], initializer=b_init) - - if split == 1: - conv = tf.nn.conv2d(inputdata, w, strides, padding, data_format=data_format) - else: - inputs = tf.split(inputdata, split, channel_axis) - kernels = tf.split(w, split, 3) - outputs = [tf.nn.conv2d(i, k, strides, padding, data_format=data_format) - for i, k in zip(inputs, kernels)] - conv = tf.concat(outputs, channel_axis) - - ret = tf.identity(tf.nn.bias_add(conv, b, data_format=data_format) - if use_bias else conv, name=name) - - return ret - - @staticmethod - def relu(inputdata, name=None): - """ - - :param name: - :param inputdata: - :return: - """ - return tf.nn.relu(features=inputdata, name=name) - - @staticmethod - def sigmoid(inputdata, name=None): - """ - - :param name: - :param inputdata: - :return: - """ - return tf.nn.sigmoid(x=inputdata, name=name) - - @staticmethod - def maxpooling(inputdata, kernel_size, stride=None, padding='VALID', - data_format='NHWC', name=None): - """ - - :param name: - :param inputdata: - :param kernel_size: - :param stride: - :param padding: - :param data_format: - :return: - """ - padding = padding.upper() - - if stride is None: - stride = kernel_size - - if isinstance(kernel_size, list): - kernel = [1, kernel_size[0], kernel_size[1], 1] if data_format == 'NHWC' else \ - [1, 1, kernel_size[0], kernel_size[1]] - else: - kernel = [1, kernel_size, kernel_size, 1] if data_format == 'NHWC' \ - else [1, 1, kernel_size, kernel_size] - - if isinstance(stride, list): - strides = [1, stride[0], stride[1], 1] if data_format == 'NHWC' \ - else [1, 1, stride[0], stride[1]] - else: - strides = [1, stride, stride, 1] if data_format == 'NHWC' \ - else [1, 1, stride, stride] - - return tf.nn.max_pool(value=inputdata, ksize=kernel, strides=strides, padding=padding, - data_format=data_format, name=name) - - @staticmethod - def avgpooling(inputdata, kernel_size, stride=None, padding='VALID', - data_format='NHWC', name=None): - """ - - :param name: - :param inputdata: - :param kernel_size: - :param stride: - :param padding: - :param data_format: - :return: - """ - if stride is None: - stride = kernel_size - - kernel = [1, kernel_size, kernel_size, 1] if data_format == 'NHWC' \ - else [1, 1, kernel_size, kernel_size] - - strides = [1, stride, stride, 1] if data_format == 'NHWC' else [1, 1, stride, stride] - - return tf.nn.avg_pool(value=inputdata, ksize=kernel, strides=strides, padding=padding, - data_format=data_format, name=name) - - @staticmethod - def globalavgpooling(inputdata, data_format='NHWC', name=None): - """ - - :param name: - :param inputdata: - :param data_format: - :return: - """ - assert inputdata.shape.ndims == 4 - assert data_format in ['NHWC', 'NCHW'] - - axis = [1, 2] if data_format == 'NHWC' else [2, 3] - - return tf.reduce_mean(input_tensor=inputdata, axis=axis, name=name) - - @staticmethod - def layernorm(inputdata, epsilon=1e-5, use_bias=True, use_scale=True, - data_format='NHWC', name=None): - """ - :param name: - :param inputdata: - :param epsilon: epsilon to avoid divide-by-zero. - :param use_bias: whether to use the extra affine transformation or not. - :param use_scale: whether to use the extra affine transformation or not. - :param data_format: - :return: - """ - shape = inputdata.get_shape().as_list() - ndims = len(shape) - assert ndims in [2, 4] - - mean, var = tf.nn.moments(inputdata, list(range(1, len(shape))), keep_dims=True) - - if data_format == 'NCHW': - channnel = shape[1] - new_shape = [1, channnel, 1, 1] - else: - channnel = shape[-1] - new_shape = [1, 1, 1, channnel] - if ndims == 2: - new_shape = [1, channnel] - - if use_bias: - beta = tf.get_variable('beta', [channnel], initializer=tf.constant_initializer()) - beta = tf.reshape(beta, new_shape) - else: - beta = tf.zeros([1] * ndims, name='beta') - if use_scale: - gamma = tf.get_variable('gamma', [channnel], initializer=tf.constant_initializer(1.0)) - gamma = tf.reshape(gamma, new_shape) - else: - gamma = tf.ones([1] * ndims, name='gamma') - - return tf.nn.batch_normalization(inputdata, mean, var, beta, gamma, epsilon, name=name) - - @staticmethod - def instancenorm(inputdata, epsilon=1e-5, data_format='NHWC', use_affine=True, name=None): - """ - - :param name: - :param inputdata: - :param epsilon: - :param data_format: - :param use_affine: - :return: - """ - shape = inputdata.get_shape().as_list() - if len(shape) != 4: - raise ValueError("Input data of instancebn layer has to be 4D tensor") - - if data_format == 'NHWC': - axis = [1, 2] - ch = shape[3] - new_shape = [1, 1, 1, ch] - else: - axis = [2, 3] - ch = shape[1] - new_shape = [1, ch, 1, 1] - if ch is None: - raise ValueError("Input of instancebn require known channel!") - - mean, var = tf.nn.moments(inputdata, axis, keep_dims=True) - - if not use_affine: - return tf.divide(inputdata - mean, tf.sqrt(var + epsilon), name='output') - - beta = tf.get_variable('beta', [ch], initializer=tf.constant_initializer()) - beta = tf.reshape(beta, new_shape) - gamma = tf.get_variable('gamma', [ch], initializer=tf.constant_initializer(1.0)) - gamma = tf.reshape(gamma, new_shape) - return tf.nn.batch_normalization(inputdata, mean, var, beta, gamma, epsilon, name=name) - - @staticmethod - def dropout(inputdata, keep_prob, is_training, name, noise_shape=None): - """ - - :param name: - :param inputdata: - :param keep_prob: - :param is_training - :param noise_shape: - :return: - """ - - return tf.cond( - pred=is_training, - true_fn=lambda: tf.nn.dropout( - inputdata, keep_prob=keep_prob, noise_shape=noise_shape - ), - false_fn=lambda: inputdata, - name=name - ) - - @staticmethod - def fullyconnect(inputdata, out_dim, w_init=None, b_init=None, - use_bias=True, name=None): - """ - Fully-Connected layer, takes a N>1D tensor and returns a 2D tensor. - It is an equivalent of `tf.layers.dense` except for naming conventions. - - :param inputdata: a tensor to be flattened except for the first dimension. - :param out_dim: output dimension - :param w_init: initializer for w. Defaults to `variance_scaling_initializer`. - :param b_init: initializer for b. Defaults to zero - :param use_bias: whether to use bias. - :param name: - :return: tf.Tensor: a NC tensor named ``output`` with attribute `variables`. - """ - shape = inputdata.get_shape().as_list()[1:] - if None not in shape: - inputdata = tf.reshape(inputdata, [-1, int(np.prod(shape))]) - else: - inputdata = tf.reshape(inputdata, tf.stack([tf.shape(inputdata)[0], -1])) - - if w_init is None: - w_init = tf.contrib.layers.variance_scaling_initializer() - if b_init is None: - b_init = tf.constant_initializer() - - ret = tf.layers.dense(inputs=inputdata, activation=lambda x: tf.identity(x, name='output'), - use_bias=use_bias, name=name, - kernel_initializer=w_init, - bias_initializer=b_init, - trainable=True, units=out_dim) - return ret - - @staticmethod - def layerbn(inputdata, is_training, name, momentum=0.999, eps=1e-3): - """ - - :param inputdata: - :param is_training: - :param name: - :param momentum: - :param eps: - :return: - """ - - return tf.layers.batch_normalization( - inputs=inputdata, training=is_training, name=name, momentum=momentum, epsilon=eps) - - @staticmethod - def layerbn_distributed(list_input, stats_mode, data_format='NHWC', - float_type=tf.float32, trainable=True, - use_gamma=True, use_beta=True, bn_epsilon=1e-5, - bn_ema=0.9, name='BatchNorm'): - """ - Batch norm for distributed training process - :param list_input: - :param stats_mode: - :param data_format: - :param float_type: - :param trainable: - :param use_gamma: - :param use_beta: - :param bn_epsilon: - :param bn_ema: - :param name: - :return: - """ - - def _get_bn_variables(_n_out, _use_scale, _use_bias, _trainable, _float_type): - - if _use_bias: - _beta = tf.get_variable('beta', [_n_out], - initializer=tf.constant_initializer(), - trainable=_trainable, - dtype=_float_type) - else: - _beta = tf.zeros([_n_out], name='beta') - if _use_scale: - _gamma = tf.get_variable('gamma', [_n_out], - initializer=tf.constant_initializer(1.0), - trainable=_trainable, - dtype=_float_type) - else: - _gamma = tf.ones([_n_out], name='gamma') - - _moving_mean = tf.get_variable('moving_mean', [_n_out], - initializer=tf.constant_initializer(), - trainable=False, - dtype=_float_type) - _moving_var = tf.get_variable('moving_variance', [_n_out], - initializer=tf.constant_initializer(1), - trainable=False, - dtype=_float_type) - return _beta, _gamma, _moving_mean, _moving_var - - def _update_bn_ema(_xn, _batch_mean, _batch_var, _moving_mean, _moving_var, _decay): - - _update_op1 = moving_averages.assign_moving_average( - _moving_mean, _batch_mean, _decay, zero_debias=False, - name='mean_ema_op') - _update_op2 = moving_averages.assign_moving_average( - _moving_var, _batch_var, _decay, zero_debias=False, - name='var_ema_op') - add_model_variable(moving_mean) - add_model_variable(moving_var) - - # seems faster than delayed update, but might behave otherwise in distributed settings. - with tf.control_dependencies([_update_op1, _update_op2]): - return tf.identity(xn, name='output') - - # ======================== Checking valid values ========================= - if data_format not in ['NHWC', 'NCHW']: - raise TypeError( - "Only two data formats are supported at this moment: 'NHWC' or 'NCHW', " - "%s is an unknown data format." % data_format) - assert type(list_input) == list - - # ======================== Setting default values ========================= - shape = list_input[0].get_shape().as_list() - assert len(shape) in [2, 4] - n_out = shape[-1] - if data_format == 'NCHW': - n_out = shape[1] - - # ======================== Main operations ============================= - means = [] - square_means = [] - for i in range(len(list_input)): - with tf.device('/gpu:%d' % i): - batch_mean = tf.reduce_mean(list_input[i], [0, 1, 2]) - batch_square_mean = tf.reduce_mean(tf.square(list_input[i]), [0, 1, 2]) - means.append(batch_mean) - square_means.append(batch_square_mean) - - # if your GPUs have NVLinks and you've install NCCL2, you can change `/cpu:0` to `/gpu:0` - with tf.device('/cpu:0'): - shape = tf.shape(list_input[0]) - num = shape[0] * shape[1] * shape[2] * len(list_input) - mean = tf.reduce_mean(means, axis=0) - var = tf.reduce_mean(square_means, axis=0) - tf.square(mean) - var *= tf.cast(num, float_type) / tf.cast(num - 1, float_type) # unbiased variance - - list_output = [] - for i in range(len(list_input)): - with tf.device('/gpu:%d' % i): - with tf.variable_scope(name, reuse=i > 0): - beta, gamma, moving_mean, moving_var = _get_bn_variables( - n_out, use_gamma, use_beta, trainable, float_type) - - if 'train' in stats_mode: - xn = tf.nn.batch_normalization( - list_input[i], mean, var, beta, gamma, bn_epsilon) - if tf.get_variable_scope().reuse or 'gather' not in stats_mode: - list_output.append(xn) - else: - # gather stats and it is the main gpu device. - xn = _update_bn_ema(xn, mean, var, moving_mean, moving_var, bn_ema) - list_output.append(xn) - else: - xn = tf.nn.batch_normalization( - list_input[i], moving_mean, moving_var, beta, gamma, bn_epsilon) - list_output.append(xn) - - return list_output - - @staticmethod - def layergn(inputdata, name, group_size=32, esp=1e-5): - """ - - :param inputdata: - :param name: - :param group_size: - :param esp: - :return: - """ - with tf.variable_scope(name): - inputdata = tf.transpose(inputdata, [0, 3, 1, 2]) - n, c, h, w = inputdata.get_shape().as_list() - group_size = min(group_size, c) - inputdata = tf.reshape(inputdata, [-1, group_size, c // group_size, h, w]) - mean, var = tf.nn.moments(inputdata, [2, 3, 4], keep_dims=True) - inputdata = (inputdata - mean) / tf.sqrt(var + esp) - - # 姣忎釜閫氶亾鐨刧amma鍜宐eta - gamma = tf.Variable(tf.constant(1.0, shape=[c]), dtype=tf.float32, name='gamma') - beta = tf.Variable(tf.constant(0.0, shape=[c]), dtype=tf.float32, name='beta') - gamma = tf.reshape(gamma, [1, c, 1, 1]) - beta = tf.reshape(beta, [1, c, 1, 1]) - - # 鏍规嵁璁烘枃杩涜杞崲 [n, c, h, w, c] 鍒 [n, h, w, c] - output = tf.reshape(inputdata, [-1, c, h, w]) - output = output * gamma + beta - output = tf.transpose(output, [0, 2, 3, 1]) - - return output - - @staticmethod - def squeeze(inputdata, axis=None, name=None): - """ - - :param inputdata: - :param axis: - :param name: - :return: - """ - return tf.squeeze(input=inputdata, axis=axis, name=name) - - @staticmethod - def deconv2d(inputdata, out_channel, kernel_size, padding='SAME', - stride=1, w_init=None, b_init=None, - use_bias=True, activation=None, data_format='channels_last', - trainable=True, name=None): - """ - Packing the tensorflow conv2d function. - :param name: op name - :param inputdata: A 4D tensorflow tensor which ust have known number of channels, but can have other - unknown dimensions. - :param out_channel: number of output channel. - :param kernel_size: int so only support square kernel convolution - :param padding: 'VALID' or 'SAME' - :param stride: int so only support square stride - :param w_init: initializer for convolution weights - :param b_init: initializer for bias - :param activation: whether to apply a activation func to deconv result - :param use_bias: whether to use bias. - :param data_format: default set to NHWC according tensorflow - :param trainable: - :return: tf.Tensor named ``output`` - """ - with tf.variable_scope(name): - in_shape = inputdata.get_shape().as_list() - channel_axis = 3 if data_format == 'channels_last' else 1 - in_channel = in_shape[channel_axis] - assert in_channel is not None, "[Deconv2D] Input cannot have unknown channel!" - - padding = padding.upper() - - if w_init is None: - w_init = tf.contrib.layers.variance_scaling_initializer() - if b_init is None: - b_init = tf.constant_initializer() - - ret = tf.layers.conv2d_transpose(inputs=inputdata, filters=out_channel, - kernel_size=kernel_size, - strides=stride, padding=padding, - data_format=data_format, - activation=activation, use_bias=use_bias, - kernel_initializer=w_init, - bias_initializer=b_init, trainable=trainable, - name=name) - return ret - - @staticmethod - def dilation_conv(input_tensor, k_size, out_dims, rate, padding='SAME', - w_init=None, b_init=None, use_bias=False, name=None): - """ - - :param input_tensor: - :param k_size: - :param out_dims: - :param rate: - :param padding: - :param w_init: - :param b_init: - :param use_bias: - :param name: - :return: - """ - with tf.variable_scope(name): - in_shape = input_tensor.get_shape().as_list() - in_channel = in_shape[3] - - assert in_channel is not None, "[Conv2D] Input cannot have unknown channel!" - - padding = padding.upper() - - if isinstance(k_size, list): - filter_shape = [k_size[0], k_size[1]] + [in_channel, out_dims] - else: - filter_shape = [k_size, k_size] + [in_channel, out_dims] - - if w_init is None: - w_init = tf.contrib.layers.variance_scaling_initializer() - if b_init is None: - b_init = tf.constant_initializer() - - w = tf.get_variable('W', filter_shape, initializer=w_init) - b = None - - if use_bias: - b = tf.get_variable('b', [out_dims], initializer=b_init) - - conv = tf.nn.atrous_conv2d(value=input_tensor, filters=w, rate=rate, - padding=padding, name='dilation_conv') - - if use_bias: - ret = tf.add(conv, b) - else: - ret = conv - - return ret - - @staticmethod - def spatial_dropout(input_tensor, keep_prob, is_training, name, seed=1234): - """ - 绌洪棿dropout瀹炵幇 - :param input_tensor: - :param keep_prob: - :param is_training: - :param name: - :param seed: - :return: - """ - - def f1(): - input_shape = input_tensor.get_shape().as_list() - noise_shape = tf.constant(value=[input_shape[0], 1, 1, input_shape[3]]) - return tf.nn.dropout(input_tensor, keep_prob, noise_shape, seed=seed, name="spatial_dropout") - - def f2(): - return input_tensor - - with tf.variable_scope(name_or_scope=name): - - output = tf.cond(is_training, f1, f2) - - return output - - @staticmethod - def lrelu(inputdata, name, alpha=0.2): - """ - - :param inputdata: - :param alpha: - :param name: - :return: - """ - with tf.variable_scope(name): - return tf.nn.relu(inputdata) - alpha * tf.nn.relu(-inputdata) - - @staticmethod - def pad(inputdata, paddings, name): - """ - - :param inputdata: - :param paddings: - :return: - """ - with tf.variable_scope(name_or_scope=name): - return tf.pad(tensor=inputdata, paddings=paddings) diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/crnn_model/crnn_net.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/crnn_model/crnn_net.py deleted file mode 100644 index 57610d517..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/crnn_model/crnn_net.py +++ /dev/null @@ -1,292 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 17-9-21 涓嬪崍6:39 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : crnn_net.py -# @IDE: PyCharm Community Edition -""" -Implement the crnn model mentioned in An End-to-End Trainable Neural Network for Image-based Sequence -Recognition and Its Application to Scene Text Recognition paper -""" -import numpy as np -import tensorflow as tf -from tensorflow.contrib import rnn - -from crnn_model import cnn_basenet -from config import global_config - -CFG = global_config.cfg - - -class ShadowNet(cnn_basenet.CNNBaseModel): - """ - Implement the crnn model for squence recognition - """ - def __init__(self, phase, hidden_nums, layers_nums, num_classes): - """ - - :param phase: 'Train' or 'Test' - :param hidden_nums: Number of hidden units in each LSTM cell (block) - :param layers_nums: Number of LSTM cells (blocks) - :param num_classes: Number of classes (different symbols) to detect - """ - super(ShadowNet, self).__init__() - - if phase == 'train': - self._phase = tf.constant(1, dtype=tf.int8) - else: - self._phase = tf.constant(0, dtype=tf.int8) - - self._hidden_nums = hidden_nums - self._layers_nums = layers_nums - self._num_classes = num_classes - self._is_training = self._init_phase() - - def _init_phase(self): - """ - - :return: - """ - return tf.equal(self._phase, tf.constant(1, dtype=tf.int8)) - - def _conv_stage(self, inputdata, out_dims, name): - """ Standard VGG convolutional stage: 2d conv, relu, and maxpool - - :param inputdata: 4D tensor batch x width x height x channels - :param out_dims: number of output channels / filters - :return: the maxpooled output of the stage - """ - with tf.variable_scope(name_or_scope=name): - - conv = self.conv2d( - inputdata=inputdata, out_channel=out_dims, - kernel_size=3, stride=1, use_bias=True, name='conv' - ) - bn = self.layerbn( - inputdata=conv, is_training=self._is_training, name='bn' - ) - relu = self.relu( - inputdata=bn, name='relu' - ) - max_pool = self.maxpooling( - inputdata=relu, kernel_size=2, stride=2, name='max_pool' - ) - return max_pool - - def _feature_sequence_extraction(self, inputdata, name): - """ Implements section 2.1 of the paper: "Feature Sequence Extraction" - - :param inputdata: eg. batch*32*100*3 NHWC format - :param name: - :return: - """ - with tf.variable_scope(name_or_scope=name): - conv1 = self._conv_stage( - inputdata=inputdata, out_dims=64, name='conv1' - ) - conv2 = self._conv_stage( - inputdata=conv1, out_dims=128, name='conv2' - ) - conv3 = self.conv2d( - inputdata=conv2, out_channel=256, kernel_size=3, stride=1, use_bias=False, name='conv3' - ) - bn3 = self.layerbn( - inputdata=conv3, is_training=self._is_training, name='bn3' - ) - relu3 = self.relu( - inputdata=bn3, name='relu3' - ) - conv4 = self.conv2d( - inputdata=relu3, out_channel=256, kernel_size=3, stride=1, use_bias=False, name='conv4' - ) - bn4 = self.layerbn( - inputdata=conv4, is_training=self._is_training, name='bn4' - ) - relu4 = self.relu( - inputdata=bn4, name='relu4') - max_pool4 = self.maxpooling( - inputdata=relu4, kernel_size=[2, 1], stride=[2, 1], padding='VALID', name='max_pool4' - ) - conv5 = self.conv2d( - inputdata=max_pool4, out_channel=512, kernel_size=3, stride=1, use_bias=False, name='conv5' - ) - bn5 = self.layerbn( - inputdata=conv5, is_training=self._is_training, name='bn5' - ) - relu5 = self.relu( - inputdata=bn5, name='bn5' - ) - conv6 = self.conv2d( - inputdata=relu5, out_channel=512, kernel_size=3, stride=1, use_bias=False, name='conv6' - ) - bn6 = self.layerbn( - inputdata=conv6, is_training=self._is_training, name='bn6' - ) - relu6 = self.relu( - inputdata=bn6, name='relu6' - ) - max_pool6 = self.maxpooling( - inputdata=relu6, kernel_size=[2, 1], stride=[2, 1], name='max_pool6' - ) - conv7 = self.conv2d( - inputdata=max_pool6, out_channel=512, kernel_size=2, stride=[2, 1], use_bias=False, name='conv7' - ) - bn7 = self.layerbn( - inputdata=conv7, is_training=self._is_training, name='bn7' - ) - relu7 = self.relu( - inputdata=bn7, name='bn7' - ) - - return relu7 - - def _map_to_sequence(self, inputdata, name): - """ Implements the map to sequence part of the network. - - This is used to convert the CNN feature map to the sequence used in the stacked LSTM layers later on. - Note that this determines the length of the sequences that the LSTM expects - :param inputdata: - :param name: - :return: - """ - with tf.variable_scope(name_or_scope=name): - - shape = inputdata.get_shape().as_list() - assert shape[1] == 1 # H of the feature map must equal to 1 - - ret = self.squeeze(inputdata=inputdata, axis=1, name='squeeze') - - return ret - - def _sequence_label(self, inputdata, name): - """ Implements the sequence label part of the network - - :param inputdata: - :param name: - :return: - """ - with tf.variable_scope(name_or_scope=name): - # construct stack lstm rcnn layer - # forward lstm cell - fw_cell_list = [tf.nn.rnn_cell.LSTMCell(nh, forget_bias=1.0) for - nh in [self._hidden_nums] * self._layers_nums] - # Backward direction cells - bw_cell_list = [tf.nn.rnn_cell.LSTMCell(nh, forget_bias=1.0) for - nh in [self._hidden_nums] * self._layers_nums] - - stack_lstm_layer, _, _ = rnn.stack_bidirectional_dynamic_rnn( - fw_cell_list, bw_cell_list, inputdata, - dtype=tf.float32 - ) - stack_lstm_layer = self.dropout( - inputdata=stack_lstm_layer, - keep_prob=0.5, - is_training=self._is_training, - name='sequence_drop_out' - ) - - [batch_s, _, hidden_nums] = inputdata.get_shape().as_list() # [batch, width, 2*n_hidden] - - shape = tf.shape(stack_lstm_layer) - rnn_reshaped = tf.reshape(stack_lstm_layer, [shape[0] * shape[1], shape[2]]) - - w = tf.get_variable( - name='w', - shape=[hidden_nums, self._num_classes], - initializer=tf.truncated_normal_initializer(stddev=0.2), - trainable=True - ) - - # Doing the affine projection - logits = tf.matmul(rnn_reshaped, w, name='logits') - - logits = tf.reshape(logits, [shape[0], shape[1], self._num_classes], name='logits_reshape') - - raw_pred = tf.argmax(tf.nn.softmax(logits), axis=2, name='raw_prediction') - - # Swap batch and batch axis - rnn_out = tf.transpose(logits, [1, 0, 2], name='transpose_time_major') # [width, batch, n_classes] - - return rnn_out, raw_pred - - def inference(self, inputdata, name, reuse=False): - """ - Main routine to construct the network - :param inputdata: - :param name: - :param reuse: - :return: - """ - with tf.variable_scope(name_or_scope=name, reuse=reuse): - - # first apply the cnn feature extraction stage - cnn_out = self._feature_sequence_extraction( - inputdata=inputdata, name='feature_extraction_module' - ) - - # second apply the map to sequence stage - sequence = self._map_to_sequence( - inputdata=cnn_out, name='map_to_sequence_module' - ) - - # third apply the sequence label stage - net_out, raw_pred = self._sequence_label( - inputdata=sequence, name='sequence_rnn_module' - ) - - return net_out - - def compute_loss(self, inputdata, labels, labels_length,name, reuse): - """ - - :param inputdata: - :param labels: - :return: - """ - - inference_ret = self.inference( - inputdata=inputdata, name=name, reuse=reuse - ) - - - loss = tf.reduce_mean( - tf.nn.ctc_loss_v2( - labels=labels, logits=inference_ret, - label_length=labels_length, - logit_length=CFG.ARCH.SEQ_LENGTH * np.ones(CFG.TRAIN.BATCH_SIZE,dtype=np.int32), - blank_index=CFG.ARCH.NUM_CLASSES-1 - - ), - name='ctc_loss' - ) - - return inference_ret, loss diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/char_dict.json b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/char_dict.json deleted file mode 100644 index b41694625..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/char_dict.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "100_ord": "d", - "101_ord": "e", - "102_ord": "f", - "103_ord": "g", - "104_ord": "h", - "105_ord": "i", - "106_ord": "j", - "107_ord": "k", - "108_ord": "l", - "109_ord": "m", - "110_ord": "n", - "111_ord": "o", - "112_ord": "p", - "113_ord": "q", - "114_ord": "r", - "115_ord": "s", - "116_ord": "t", - "117_ord": "u", - "118_ord": "v", - "119_ord": "w", - "120_ord": "x", - "121_ord": "y", - "122_ord": "z", - "48_ord": "0", - "49_ord": "1", - "50_ord": "2", - "51_ord": "3", - "52_ord": "4", - "53_ord": "5", - "54_ord": "6", - "55_ord": "7", - "56_ord": "8", - "57_ord": "9", - "97_ord": "a", - "98_ord": "b", - "99_ord": "c" -} \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/char_dict_cn.json b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/char_dict_cn.json deleted file mode 100644 index a60a0fcf8..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/char_dict_cn.json +++ /dev/null @@ -1,5826 +0,0 @@ -{ - "100_ord": "d", - "101_ord": "e", - "102_ord": "f", - "103_ord": "g", - "104_ord": "h", - "1054_ord": "\u041e", - "1055_ord": "\u041f", - "1056_ord": "\u0420", - "105_ord": "i", - "106_ord": "j", - "107_ord": "k", - "108_ord": "l", - "109_ord": "m", - "110_ord": "n", - "111_ord": "o", - "112_ord": "p", - "113_ord": "q", - "114_ord": "r", - "115_ord": "s", - "116_ord": "t", - "117_ord": "u", - "118_ord": "v", - "119_ord": "w", - "120_ord": "x", - "121_ord": "y", - "12289_ord": "\u3001", - "12290_ord": "\u3002", - "12295_ord": "\u3007", - "12296_ord": "\u3008", - "12297_ord": "\u3009", - "12298_ord": "\u300a", - "12299_ord": "\u300b", - "122_ord": "z", - "12300_ord": "\u300c", - "12301_ord": "\u300d", - "12302_ord": "\u300e", - "12303_ord": "\u300f", - "12304_ord": "\u3010", - "12305_ord": "\u3011", - "12308_ord": "\u3014", - "12309_ord": "\u3015", - "12390_ord": "\u3066", - "12394_ord": "\u306a", - "123_ord": "{", - "124_ord": "|", - "125_ord": "}", - "126_ord": "~", - "176_ord": "\u00b0", - "177_ord": "\u00b1", - "183_ord": "\u00b7", - "19968_ord": "\u4e00", - "19969_ord": "\u4e01", - "19971_ord": "\u4e03", - "19975_ord": "\u4e07", - "19976_ord": "\u4e08", - "19977_ord": "\u4e09", - "19978_ord": "\u4e0a", - "19979_ord": "\u4e0b", - "19981_ord": "\u4e0d", - "19982_ord": "\u4e0e", - "19984_ord": "\u4e10", - "19985_ord": "\u4e11", - "19987_ord": "\u4e13", - "19988_ord": "\u4e14", - "19989_ord": "\u4e15", - "19990_ord": "\u4e16", - "19992_ord": "\u4e18", - "19993_ord": "\u4e19", - "19994_ord": "\u4e1a", - "19995_ord": "\u4e1b", - "19996_ord": "\u4e1c", - "19997_ord": "\u4e1d", - "19998_ord": "\u4e1e", - "20002_ord": "\u4e22", - "20004_ord": "\u4e24", - "20005_ord": "\u4e25", - "20007_ord": "\u4e27", - "20010_ord": "\u4e2a", - "20011_ord": "\u4e2b", - "20013_ord": "\u4e2d", - "20016_ord": "\u4e30", - "20018_ord": "\u4e32", - "20020_ord": "\u4e34", - "20024_ord": "\u4e38", - "20025_ord": "\u4e39", - "20026_ord": "\u4e3a", - "20027_ord": "\u4e3b", - "20029_ord": "\u4e3d", - "20030_ord": "\u4e3e", - "20034_ord": "\u4e42", - "20035_ord": "\u4e43", - "20037_ord": "\u4e45", - "20040_ord": "\u4e48", - "20041_ord": "\u4e49", - "20043_ord": "\u4e4b", - "20044_ord": "\u4e4c", - "20045_ord": "\u4e4d", - "20046_ord": "\u4e4e", - "20047_ord": "\u4e4f", - "20048_ord": "\u4e50", - "20050_ord": "\u4e52", - "20051_ord": "\u4e53", - "20052_ord": "\u4e54", - "20054_ord": "\u4e56", - "20056_ord": "\u4e58", - "20057_ord": "\u4e59", - "20061_ord": "\u4e5d", - "20062_ord": "\u4e5e", - "20063_ord": "\u4e5f", - "20064_ord": "\u4e60", - "20065_ord": "\u4e61", - "20070_ord": "\u4e66", - "20073_ord": "\u4e69", - "20080_ord": "\u4e70", - "20081_ord": "\u4e71", - "20083_ord": "\u4e73", - "20094_ord": "\u4e7e", - "20102_ord": "\u4e86", - "20104_ord": "\u4e88", - "20105_ord": "\u4e89", - "20107_ord": "\u4e8b", - "20108_ord": "\u4e8c", - "20110_ord": "\u4e8e", - "20111_ord": "\u4e8f", - "20113_ord": "\u4e91", - "20114_ord": "\u4e92", - "20115_ord": "\u4e93", - "20116_ord": "\u4e94", - "20117_ord": "\u4e95", - "20120_ord": "\u4e98", - "20122_ord": "\u4e9a", - "20123_ord": "\u4e9b", - "20127_ord": "\u4e9f", - "20129_ord": "\u4ea1", - "20130_ord": "\u4ea2", - "20132_ord": "\u4ea4", - "20133_ord": "\u4ea5", - "20134_ord": "\u4ea6", - "20135_ord": "\u4ea7", - "20136_ord": "\u4ea8", - "20137_ord": "\u4ea9", - "20139_ord": "\u4eab", - "20140_ord": "\u4eac", - "20141_ord": "\u4ead", - "20142_ord": "\u4eae", - "20146_ord": "\u4eb2", - "20147_ord": "\u4eb3", - "20149_ord": "\u4eb5", - "20150_ord": "\u4eb6", - "20154_ord": "\u4eba", - "20159_ord": "\u4ebf", - "20160_ord": "\u4ec0", - "20161_ord": "\u4ec1", - "20163_ord": "\u4ec3", - "20164_ord": "\u4ec4", - "20165_ord": "\u4ec5", - "20166_ord": "\u4ec6", - "20167_ord": "\u4ec7", - "20170_ord": "\u4eca", - "20171_ord": "\u4ecb", - "20173_ord": "\u4ecd", - "20174_ord": "\u4ece", - "20177_ord": "\u4ed1", - "20179_ord": "\u4ed3", - "20180_ord": "\u4ed4", - "20181_ord": "\u4ed5", - "20182_ord": "\u4ed6", - "20183_ord": "\u4ed7", - "20184_ord": "\u4ed8", - "20185_ord": "\u4ed9", - "20190_ord": "\u4ede", - "20193_ord": "\u4ee1", - "20195_ord": "\u4ee3", - "20196_ord": "\u4ee4", - "20197_ord": "\u4ee5", - "20202_ord": "\u4eea", - "20203_ord": "\u4eeb", - "20204_ord": "\u4eec", - "20208_ord": "\u4ef0", - "20210_ord": "\u4ef2", - "20214_ord": "\u4ef6", - "20215_ord": "\u4ef7", - "20219_ord": "\u4efb", - "20221_ord": "\u4efd", - "20223_ord": "\u4eff", - "20225_ord": "\u4f01", - "20233_ord": "\u4f09", - "20234_ord": "\u4f0a", - "20237_ord": "\u4f0d", - "20238_ord": "\u4f0e", - "20239_ord": "\u4f0f", - "20240_ord": "\u4f10", - "20241_ord": "\u4f11", - "20247_ord": "\u4f17", - "20248_ord": "\u4f18", - "20249_ord": "\u4f19", - "20250_ord": "\u4f1a", - "20251_ord": "\u4f1b", - "20254_ord": "\u4f1e", - "20255_ord": "\u4f1f", - "20256_ord": "\u4f20", - "20260_ord": "\u4f24", - "20262_ord": "\u4f26", - "20263_ord": "\u4f27", - "20266_ord": "\u4f2a", - "20267_ord": "\u4f2b", - "20271_ord": "\u4f2f", - "20272_ord": "\u4f30", - "20276_ord": "\u4f34", - "20278_ord": "\u4f36", - "20280_ord": "\u4f38", - "20282_ord": "\u4f3a", - "20283_ord": "\u4f3b", - "20284_ord": "\u4f3c", - "20285_ord": "\u4f3d", - "20291_ord": "\u4f43", - "20294_ord": "\u4f46", - "20296_ord": "\u4f48", - "20301_ord": "\u4f4d", - "20302_ord": "\u4f4e", - "20303_ord": "\u4f4f", - "20304_ord": "\u4f50", - "20305_ord": "\u4f51", - "20307_ord": "\u4f53", - "20309_ord": "\u4f55", - "20311_ord": "\u4f57", - "20312_ord": "\u4f58", - "20313_ord": "\u4f59", - "20314_ord": "\u4f5a", - "20315_ord": "\u4f5b", - "20316_ord": "\u4f5c", - "20317_ord": "\u4f5d", - "20318_ord": "\u4f5e", - "20319_ord": "\u4f5f", - "20320_ord": "\u4f60", - "20323_ord": "\u4f63", - "20324_ord": "\u4f64", - "20329_ord": "\u4f69", - "20332_ord": "\u4f6c", - "20335_ord": "\u4f6f", - "20336_ord": "\u4f70", - "20339_ord": "\u4f73", - "20342_ord": "\u4f76", - "20347_ord": "\u4f7b", - "20348_ord": "\u4f7c", - "20351_ord": "\u4f7f", - "20355_ord": "\u4f83", - "20356_ord": "\u4f84", - "20360_ord": "\u4f88", - "20363_ord": "\u4f8b", - "20365_ord": "\u4f8d", - "20367_ord": "\u4f8f", - "20369_ord": "\u4f91", - "20372_ord": "\u4f94", - "20375_ord": "\u4f97", - "20379_ord": "\u4f9b", - "20381_ord": "\u4f9d", - "20384_ord": "\u4fa0", - "20387_ord": "\u4fa3", - "20389_ord": "\u4fa5", - "20390_ord": "\u4fa6", - "20391_ord": "\u4fa7", - "20392_ord": "\u4fa8", - "20393_ord": "\u4fa9", - "20394_ord": "\u4faa", - "20396_ord": "\u4fac", - "20398_ord": "\u4fae", - "20399_ord": "\u4faf", - "20405_ord": "\u4fb5", - "20415_ord": "\u4fbf", - "20419_ord": "\u4fc3", - "20420_ord": "\u4fc4", - "20421_ord": "\u4fc5", - "20426_ord": "\u4fca", - "20430_ord": "\u4fce", - "20431_ord": "\u4fcf", - "20432_ord": "\u4fd0", - "20433_ord": "\u4fd1", - "20439_ord": "\u4fd7", - "20440_ord": "\u4fd8", - "20442_ord": "\u4fda", - "20443_ord": "\u4fdb", - "20445_ord": "\u4fdd", - "20446_ord": "\u4fde", - "20447_ord": "\u4fdf", - "20449_ord": "\u4fe1", - "20454_ord": "\u4fe6", - "20456_ord": "\u4fe8", - "20457_ord": "\u4fe9", - "20458_ord": "\u4fea", - "20461_ord": "\u4fed", - "20462_ord": "\u4fee", - "20463_ord": "\u4fef", - "20465_ord": "\u4ff1", - "20467_ord": "\u4ff3", - "20472_ord": "\u4ff8", - "20474_ord": "\u4ffa", - "20478_ord": "\u4ffe", - "20493_ord": "\u500d", - "20495_ord": "\u500f", - "20498_ord": "\u5012", - "20500_ord": "\u5014", - "20504_ord": "\u5018", - "20505_ord": "\u5019", - "20506_ord": "\u501a", - "20508_ord": "\u501c", - "20511_ord": "\u501f", - "20513_ord": "\u5021", - "20518_ord": "\u5026", - "20520_ord": "\u5028", - "20521_ord": "\u5029", - "20522_ord": "\u502a", - "20524_ord": "\u502c", - "20525_ord": "\u502d", - "20538_ord": "\u503a", - "20540_ord": "\u503c", - "20542_ord": "\u503e", - "20547_ord": "\u5043", - "20551_ord": "\u5047", - "20552_ord": "\u5048", - "20556_ord": "\u504c", - "20558_ord": "\u504e", - "20559_ord": "\u504f", - "20565_ord": "\u5055", - "20570_ord": "\u505a", - "20572_ord": "\u505c", - "20581_ord": "\u5065", - "20598_ord": "\u5076", - "20599_ord": "\u5077", - "20603_ord": "\u507b", - "20607_ord": "\u507f", - "20608_ord": "\u5080", - "20613_ord": "\u5085", - "20616_ord": "\u5088", - "20621_ord": "\u508d", - "20629_ord": "\u5095", - "20643_ord": "\u50a3", - "20645_ord": "\u50a5", - "20648_ord": "\u50a8", - "20649_ord": "\u50a9", - "20652_ord": "\u50ac", - "20658_ord": "\u50b2", - "20667_ord": "\u50bb", - "20687_ord": "\u50cf", - "20694_ord": "\u50d6", - "20698_ord": "\u50da", - "20710_ord": "\u50e6", - "20711_ord": "\u50e7", - "20717_ord": "\u50ed", - "20718_ord": "\u50ee", - "20723_ord": "\u50f3", - "20725_ord": "\u50f5", - "20729_ord": "\u50f9", - "20731_ord": "\u50fb", - "20742_ord": "\u5106", - "20743_ord": "\u5107", - "20747_ord": "\u510b", - "20754_ord": "\u5112", - "20769_ord": "\u5121", - "20799_ord": "\u513f", - "20800_ord": "\u5140", - "20801_ord": "\u5141", - "20803_ord": "\u5143", - "20804_ord": "\u5144", - "20805_ord": "\u5145", - "20806_ord": "\u5146", - "20808_ord": "\u5148", - "20809_ord": "\u5149", - "20811_ord": "\u514b", - "20813_ord": "\u514d", - "20817_ord": "\u5151", - "20818_ord": "\u5152", - "20820_ord": "\u5154", - "20821_ord": "\u5155", - "20822_ord": "\u5156", - "20826_ord": "\u515a", - "20828_ord": "\u515c", - "20834_ord": "\u5162", - "20837_ord": "\u5165", - "20840_ord": "\u5168", - "20843_ord": "\u516b", - "20844_ord": "\u516c", - "20845_ord": "\u516d", - "20846_ord": "\u516e", - "20848_ord": "\u5170", - "20849_ord": "\u5171", - "20851_ord": "\u5173", - "20852_ord": "\u5174", - "20853_ord": "\u5175", - "20854_ord": "\u5176", - "20855_ord": "\u5177", - "20856_ord": "\u5178", - "20857_ord": "\u5179", - "20859_ord": "\u517b", - "20860_ord": "\u517c", - "20861_ord": "\u517d", - "20864_ord": "\u5180", - "20865_ord": "\u5181", - "20869_ord": "\u5185", - "20872_ord": "\u5188", - "20873_ord": "\u5189", - "20876_ord": "\u518c", - "20877_ord": "\u518d", - "20879_ord": "\u518f", - "20881_ord": "\u5191", - "20882_ord": "\u5192", - "20885_ord": "\u5195", - "20887_ord": "\u5197", - "20889_ord": "\u5199", - "20891_ord": "\u519b", - "20892_ord": "\u519c", - "20896_ord": "\u51a0", - "20898_ord": "\u51a2", - "20900_ord": "\u51a4", - "20901_ord": "\u51a5", - "20908_ord": "\u51ac", - "20911_ord": "\u51af", - "20912_ord": "\u51b0", - "20914_ord": "\u51b2", - "20915_ord": "\u51b3", - "20917_ord": "\u51b5", - "20918_ord": "\u51b6", - "20919_ord": "\u51b7", - "20923_ord": "\u51bb", - "20925_ord": "\u51bd", - "20928_ord": "\u51c0", - "20932_ord": "\u51c4", - "20934_ord": "\u51c6", - "20935_ord": "\u51c7", - "20937_ord": "\u51c9", - "20939_ord": "\u51cb", - "20940_ord": "\u51cc", - "20943_ord": "\u51cf", - "20945_ord": "\u51d1", - "20955_ord": "\u51db", - "20957_ord": "\u51dd", - "20960_ord": "\u51e0", - "20961_ord": "\u51e1", - "20964_ord": "\u51e4", - "20971_ord": "\u51eb", - "20973_ord": "\u51ed", - "20975_ord": "\u51ef", - "20976_ord": "\u51f0", - "20979_ord": "\u51f3", - "20982_ord": "\u51f6", - "20984_ord": "\u51f8", - "20985_ord": "\u51f9", - "20986_ord": "\u51fa", - "20987_ord": "\u51fb", - "20989_ord": "\u51fd", - "20991_ord": "\u51ff", - "20992_ord": "\u5200", - "20993_ord": "\u5201", - "20995_ord": "\u5203", - "20998_ord": "\u5206", - "20999_ord": "\u5207", - "21000_ord": "\u5208", - "21002_ord": "\u520a", - "21005_ord": "\u520d", - "21006_ord": "\u520e", - "21009_ord": "\u5211", - "21010_ord": "\u5212", - "21011_ord": "\u5213", - "21014_ord": "\u5216", - "21015_ord": "\u5217", - "21016_ord": "\u5218", - "21017_ord": "\u5219", - "21018_ord": "\u521a", - "21019_ord": "\u521b", - "21021_ord": "\u521d", - "21024_ord": "\u5220", - "21028_ord": "\u5224", - "21032_ord": "\u5228", - "21033_ord": "\u5229", - "21035_ord": "\u522b", - "21037_ord": "\u522d", - "21038_ord": "\u522e", - "21040_ord": "\u5230", - "21043_ord": "\u5233", - "21046_ord": "\u5236", - "21047_ord": "\u5237", - "21048_ord": "\u5238", - "21049_ord": "\u5239", - "21050_ord": "\u523a", - "21051_ord": "\u523b", - "21053_ord": "\u523d", - "21057_ord": "\u5241", - "21058_ord": "\u5242", - "21059_ord": "\u5243", - "21066_ord": "\u524a", - "21068_ord": "\u524c", - "21069_ord": "\u524d", - "21070_ord": "\u524e", - "21072_ord": "\u5250", - "21073_ord": "\u5251", - "21076_ord": "\u5254", - "21078_ord": "\u5256", - "21084_ord": "\u525c", - "21093_ord": "\u5265", - "21095_ord": "\u5267", - "21097_ord": "\u5269", - "21098_ord": "\u526a", - "21103_ord": "\u526f", - "21106_ord": "\u5272", - "21117_ord": "\u527d", - "21119_ord": "\u527f", - "21128_ord": "\u5288", - "21139_ord": "\u5293", - "21145_ord": "\u5299", - "21147_ord": "\u529b", - "21149_ord": "\u529d", - "21150_ord": "\u529e", - "21151_ord": "\u529f", - "21152_ord": "\u52a0", - "21153_ord": "\u52a1", - "21155_ord": "\u52a3", - "21160_ord": "\u52a8", - "21161_ord": "\u52a9", - "21162_ord": "\u52aa", - "21163_ord": "\u52ab", - "21164_ord": "\u52ac", - "21165_ord": "\u52ad", - "21169_ord": "\u52b1", - "21170_ord": "\u52b2", - "21171_ord": "\u52b3", - "21182_ord": "\u52be", - "21183_ord": "\u52bf", - "21187_ord": "\u52c3", - "21191_ord": "\u52c7", - "21193_ord": "\u52c9", - "21195_ord": "\u52cb", - "21200_ord": "\u52d0", - "21202_ord": "\u52d2", - "21206_ord": "\u52d6", - "21208_ord": "\u52d8", - "21215_ord": "\u52df", - "21220_ord": "\u52e4", - "21242_ord": "\u52fa", - "21246_ord": "\u52fe", - "21247_ord": "\u52ff", - "21248_ord": "\u5300", - "21253_ord": "\u5305", - "21254_ord": "\u5306", - "21256_ord": "\u5308", - "21261_ord": "\u530d", - "21263_ord": "\u530f", - "21264_ord": "\u5310", - "21269_ord": "\u5315", - "21270_ord": "\u5316", - "21271_ord": "\u5317", - "21273_ord": "\u5319", - "21277_ord": "\u531d", - "21280_ord": "\u5320", - "21281_ord": "\u5321", - "21283_ord": "\u5323", - "21290_ord": "\u532a", - "21294_ord": "\u532e", - "21299_ord": "\u5333", - "21305_ord": "\u5339", - "21306_ord": "\u533a", - "21307_ord": "\u533b", - "21310_ord": "\u533e", - "21311_ord": "\u533f", - "21313_ord": "\u5341", - "21315_ord": "\u5343", - "21317_ord": "\u5345", - "21319_ord": "\u5347", - "21320_ord": "\u5348", - "21321_ord": "\u5349", - "21322_ord": "\u534a", - "21326_ord": "\u534e", - "21327_ord": "\u534f", - "21329_ord": "\u5351", - "21330_ord": "\u5352", - "21331_ord": "\u5353", - "21333_ord": "\u5355", - "21334_ord": "\u5356", - "21335_ord": "\u5357", - "21338_ord": "\u535a", - "21340_ord": "\u535c", - "21342_ord": "\u535e", - "21344_ord": "\u5360", - "21345_ord": "\u5361", - "21346_ord": "\u5362", - "21348_ord": "\u5364", - "21350_ord": "\u5366", - "21351_ord": "\u5367", - "21355_ord": "\u536b", - "21356_ord": "\u536c", - "21358_ord": "\u536e", - "21359_ord": "\u536f", - "21360_ord": "\u5370", - "21361_ord": "\u5371", - "21363_ord": "\u5373", - "21364_ord": "\u5374", - "21365_ord": "\u5375", - "21367_ord": "\u5377", - "21368_ord": "\u5378", - "21370_ord": "\u537a", - "21375_ord": "\u537f", - "21378_ord": "\u5382", - "21380_ord": "\u5384", - "21381_ord": "\u5385", - "21382_ord": "\u5386", - "21385_ord": "\u5389", - "21387_ord": "\u538b", - "21388_ord": "\u538c", - "21389_ord": "\u538d", - "21397_ord": "\u5395", - "21400_ord": "\u5398", - "21402_ord": "\u539a", - "21405_ord": "\u539d", - "21407_ord": "\u539f", - "21410_ord": "\u53a2", - "21413_ord": "\u53a5", - "21414_ord": "\u53a6", - "21416_ord": "\u53a8", - "21417_ord": "\u53a9", - "21422_ord": "\u53ae", - "21435_ord": "\u53bb", - "21439_ord": "\u53bf", - "21442_ord": "\u53c2", - "21448_ord": "\u53c8", - "21449_ord": "\u53c9", - "21450_ord": "\u53ca", - "21451_ord": "\u53cb", - "21452_ord": "\u53cc", - "21453_ord": "\u53cd", - "21457_ord": "\u53d1", - "21460_ord": "\u53d4", - "21462_ord": "\u53d6", - "21463_ord": "\u53d7", - "21464_ord": "\u53d8", - "21465_ord": "\u53d9", - "21467_ord": "\u53db", - "21471_ord": "\u53df", - "21472_ord": "\u53e0", - "21473_ord": "\u53e1", - "21475_ord": "\u53e3", - "21476_ord": "\u53e4", - "21477_ord": "\u53e5", - "21478_ord": "\u53e6", - "21480_ord": "\u53e8", - "21481_ord": "\u53e9", - "21482_ord": "\u53ea", - "21483_ord": "\u53eb", - "21484_ord": "\u53ec", - "21485_ord": "\u53ed", - "21486_ord": "\u53ee", - "21487_ord": "\u53ef", - "21488_ord": "\u53f0", - "21489_ord": "\u53f1", - "21490_ord": "\u53f2", - "21491_ord": "\u53f3", - "21493_ord": "\u53f5", - "21494_ord": "\u53f6", - "21495_ord": "\u53f7", - "21496_ord": "\u53f8", - "21497_ord": "\u53f9", - "21500_ord": "\u53fc", - "21501_ord": "\u53fd", - "21505_ord": "\u5401", - "21507_ord": "\u5403", - "21508_ord": "\u5404", - "21510_ord": "\u5406", - "21512_ord": "\u5408", - "21513_ord": "\u5409", - "21514_ord": "\u540a", - "21516_ord": "\u540c", - "21517_ord": "\u540d", - "21518_ord": "\u540e", - "21519_ord": "\u540f", - "21520_ord": "\u5410", - "21521_ord": "\u5411", - "21522_ord": "\u5412", - "21523_ord": "\u5413", - "21525_ord": "\u5415", - "21527_ord": "\u5417", - "21531_ord": "\u541b", - "21533_ord": "\u541d", - "21534_ord": "\u541e", - "21535_ord": "\u541f", - "21536_ord": "\u5420", - "21542_ord": "\u5426", - "21543_ord": "\u5427", - "21544_ord": "\u5428", - "21545_ord": "\u5429", - "21547_ord": "\u542b", - "21548_ord": "\u542c", - "21549_ord": "\u542d", - "21550_ord": "\u542e", - "21551_ord": "\u542f", - "21553_ord": "\u5431", - "21556_ord": "\u5434", - "21557_ord": "\u5435", - "21560_ord": "\u5438", - "21561_ord": "\u5439", - "21563_ord": "\u543b", - "21564_ord": "\u543c", - "21566_ord": "\u543e", - "21568_ord": "\u5440", - "21571_ord": "\u5443", - "21574_ord": "\u5446", - "21576_ord": "\u5448", - "21578_ord": "\u544a", - "21584_ord": "\u5450", - "21587_ord": "\u5453", - "21589_ord": "\u5455", - "21591_ord": "\u5457", - "21592_ord": "\u5458", - "21595_ord": "\u545b", - "21596_ord": "\u545c", - "215_ord": "\u00d7", - "21602_ord": "\u5462", - "21604_ord": "\u5464", - "21606_ord": "\u5466", - "21608_ord": "\u5468", - "21617_ord": "\u5471", - "21619_ord": "\u5473", - "21621_ord": "\u5475", - "21622_ord": "\u5476", - "21623_ord": "\u5477", - "21627_ord": "\u547b", - "21628_ord": "\u547c", - "21629_ord": "\u547d", - "21632_ord": "\u5480", - "21634_ord": "\u5482", - "21636_ord": "\u5484", - "21638_ord": "\u5486", - "21643_ord": "\u548b", - "21644_ord": "\u548c", - "21646_ord": "\u548e", - "21647_ord": "\u548f", - "21648_ord": "\u5490", - "21650_ord": "\u5492", - "21652_ord": "\u5494", - "21653_ord": "\u5495", - "21654_ord": "\u5496", - "21657_ord": "\u5499", - "21658_ord": "\u549a", - "21659_ord": "\u549b", - "21667_ord": "\u54a3", - "21668_ord": "\u54a4", - "21670_ord": "\u54a6", - "21671_ord": "\u54a7", - "21672_ord": "\u54a8", - "21674_ord": "\u54aa", - "21675_ord": "\u54ab", - "21676_ord": "\u54ac", - "21679_ord": "\u54af", - "21681_ord": "\u54b1", - "21683_ord": "\u54b3", - "21688_ord": "\u54b8", - "21691_ord": "\u54bb", - "21693_ord": "\u54bd", - "21695_ord": "\u54bf", - "21696_ord": "\u54c0", - "21697_ord": "\u54c1", - "21698_ord": "\u54c2", - "21700_ord": "\u54c4", - "21702_ord": "\u54c6", - "21703_ord": "\u54c7", - "21704_ord": "\u54c8", - "21705_ord": "\u54c9", - "21708_ord": "\u54cc", - "21709_ord": "\u54cd", - "21710_ord": "\u54ce", - "21711_ord": "\u54cf", - "21713_ord": "\u54d1", - "21719_ord": "\u54d7", - "21721_ord": "\u54d9", - "21725_ord": "\u54dd", - "21727_ord": "\u54df", - "21733_ord": "\u54e5", - "21734_ord": "\u54e6", - "21735_ord": "\u54e7", - "21736_ord": "\u54e8", - "21737_ord": "\u54e9", - "21738_ord": "\u54ea", - "21741_ord": "\u54ed", - "21742_ord": "\u54ee", - "21746_ord": "\u54f2", - "21754_ord": "\u54fa", - "21756_ord": "\u54fc", - "21757_ord": "\u54fd", - "21761_ord": "\u5501", - "21766_ord": "\u5506", - "21767_ord": "\u5507", - "21769_ord": "\u5509", - "21775_ord": "\u550f", - "21776_ord": "\u5510", - "21777_ord": "\u5511", - "21780_ord": "\u5514", - "21792_ord": "\u5520", - "21794_ord": "\u5522", - "21796_ord": "\u5524", - "21799_ord": "\u5527", - "21804_ord": "\u552c", - "21806_ord": "\u552e", - "21807_ord": "\u552f", - "21809_ord": "\u5531", - "21811_ord": "\u5533", - "21814_ord": "\u5536", - "21822_ord": "\u553e", - "21823_ord": "\u553f", - "21825_ord": "\u5541", - "21827_ord": "\u5543", - "21828_ord": "\u5544", - "21830_ord": "\u5546", - "21834_ord": "\u554a", - "21840_ord": "\u5550", - "21845_ord": "\u5555", - "21846_ord": "\u5556", - "21852_ord": "\u555c", - "21857_ord": "\u5561", - "21860_ord": "\u5564", - "21861_ord": "\u5565", - "21862_ord": "\u5566", - "21863_ord": "\u5567", - "21866_ord": "\u556a", - "21868_ord": "\u556c", - "21870_ord": "\u556e", - "21872_ord": "\u5570", - "21878_ord": "\u5576", - "21880_ord": "\u5578", - "21883_ord": "\u557b", - "21884_ord": "\u557c", - "21886_ord": "\u557e", - "21888_ord": "\u5580", - "21889_ord": "\u5581", - "21890_ord": "\u5582", - "21891_ord": "\u5583", - "21892_ord": "\u5584", - "21894_ord": "\u5586", - "21895_ord": "\u5587", - "21897_ord": "\u5589", - "21898_ord": "\u558a", - "21899_ord": "\u558b", - "21903_ord": "\u558f", - "21905_ord": "\u5591", - "21908_ord": "\u5594", - "21912_ord": "\u5598", - "21913_ord": "\u5599", - "21916_ord": "\u559c", - "21917_ord": "\u559d", - "21919_ord": "\u559f", - "21927_ord": "\u55a7", - "21937_ord": "\u55b1", - "21939_ord": "\u55b3", - "21943_ord": "\u55b7", - "21945_ord": "\u55b9", - "21947_ord": "\u55bb", - "21949_ord": "\u55bd", - "21950_ord": "\u55be", - "21956_ord": "\u55c4", - "21957_ord": "\u55c5", - "21964_ord": "\u55cc", - "21969_ord": "\u55d1", - "21970_ord": "\u55d2", - "21971_ord": "\u55d3", - "21972_ord": "\u55d4", - "21974_ord": "\u55d6", - "21979_ord": "\u55db", - "21980_ord": "\u55dc", - "21981_ord": "\u55dd", - "21983_ord": "\u55df", - "21985_ord": "\u55e1", - "21987_ord": "\u55e3", - "21988_ord": "\u55e4", - "21989_ord": "\u55e5", - "21990_ord": "\u55e6", - "21992_ord": "\u55e8", - "21994_ord": "\u55ea", - "21995_ord": "\u55eb", - "21999_ord": "\u55ef", - "22002_ord": "\u55f2", - "22003_ord": "\u55f3", - "22007_ord": "\u55f7", - "22013_ord": "\u55fd", - "22014_ord": "\u55fe", - "22016_ord": "\u5600", - "22024_ord": "\u5608", - "22025_ord": "\u5609", - "22028_ord": "\u560c", - "22030_ord": "\u560e", - "22040_ord": "\u5618", - "22043_ord": "\u561b", - "22047_ord": "\u561f", - "22052_ord": "\u5624", - "22061_ord": "\u562d", - "22065_ord": "\u5631", - "22066_ord": "\u5632", - "22068_ord": "\u5634", - "22070_ord": "\u5636", - "22073_ord": "\u5639", - "22075_ord": "\u563b", - "22079_ord": "\u563f", - "22089_ord": "\u5649", - "22092_ord": "\u564c", - "22094_ord": "\u564e", - "22100_ord": "\u5654", - "22103_ord": "\u5657", - "22105_ord": "\u5659", - "22108_ord": "\u565c", - "22114_ord": "\u5662", - "22116_ord": "\u5664", - "22120_ord": "\u5668", - "22121_ord": "\u5669", - "22122_ord": "\u566a", - "22123_ord": "\u566b", - "22124_ord": "\u566c", - "22125_ord": "\u566d", - "22129_ord": "\u5671", - "22134_ord": "\u5676", - "22139_ord": "\u567b", - "22149_ord": "\u5685", - "22158_ord": "\u568e", - "22159_ord": "\u568f", - "22163_ord": "\u5693", - "22179_ord": "\u56a3", - "22188_ord": "\u56ac", - "22199_ord": "\u56b7", - "22204_ord": "\u56bc", - "22218_ord": "\u56ca", - "22228_ord": "\u56d4", - "22234_ord": "\u56da", - "22235_ord": "\u56db", - "22238_ord": "\u56de", - "22240_ord": "\u56e0", - "22242_ord": "\u56e2", - "22244_ord": "\u56e4", - "22251_ord": "\u56eb", - "22253_ord": "\u56ed", - "22256_ord": "\u56f0", - "22257_ord": "\u56f1", - "22260_ord": "\u56f4", - "22261_ord": "\u56f5", - "22265_ord": "\u56f9", - "22266_ord": "\u56fa", - "22269_ord": "\u56fd", - "22270_ord": "\u56fe", - "22271_ord": "\u56ff", - "22275_ord": "\u5703", - "22276_ord": "\u5704", - "22278_ord": "\u5706", - "22280_ord": "\u5708", - "22281_ord": "\u5709", - "22300_ord": "\u571c", - "22303_ord": "\u571f", - "22307_ord": "\u5723", - "22312_ord": "\u5728", - "22313_ord": "\u5729", - "22317_ord": "\u572d", - "22319_ord": "\u572f", - "22320_ord": "\u5730", - "22323_ord": "\u5733", - "22329_ord": "\u5739", - "22330_ord": "\u573a", - "22334_ord": "\u573e", - "22336_ord": "\u5740", - "22338_ord": "\u5742", - "22343_ord": "\u5747", - "22346_ord": "\u574a", - "22348_ord": "\u574c", - "22349_ord": "\u574d", - "22350_ord": "\u574e", - "22351_ord": "\u574f", - "22352_ord": "\u5750", - "22353_ord": "\u5751", - "22359_ord": "\u5757", - "22362_ord": "\u575a", - "22363_ord": "\u575b", - "22365_ord": "\u575d", - "22366_ord": "\u575e", - "22367_ord": "\u575f", - "22368_ord": "\u5760", - "22369_ord": "\u5761", - "22372_ord": "\u5764", - "22374_ord": "\u5766", - "22376_ord": "\u5768", - "22378_ord": "\u576a", - "22381_ord": "\u576d", - "22383_ord": "\u576f", - "22387_ord": "\u5773", - "22391_ord": "\u5777", - "22396_ord": "\u577c", - "22402_ord": "\u5782", - "22403_ord": "\u5783", - "22404_ord": "\u5784", - "22411_ord": "\u578b", - "22418_ord": "\u5792", - "22419_ord": "\u5793", - "22427_ord": "\u579b", - "22429_ord": "\u579d", - "22432_ord": "\u57a0", - "22434_ord": "\u57a2", - "22435_ord": "\u57a3", - "22438_ord": "\u57a6", - "22441_ord": "\u57a9", - "22443_ord": "\u57ab", - "22446_ord": "\u57ae", - "22467_ord": "\u57c3", - "22475_ord": "\u57cb", - "22478_ord": "\u57ce", - "22482_ord": "\u57d2", - "22484_ord": "\u57d4", - "22495_ord": "\u57df", - "22496_ord": "\u57e0", - "224_ord": "\u00e0", - "22500_ord": "\u57e4", - "22521_ord": "\u57f9", - "22522_ord": "\u57fa", - "22530_ord": "\u5802", - "22531_ord": "\u5803", - "22534_ord": "\u5806", - "22545_ord": "\u5811", - "22549_ord": "\u5815", - "22553_ord": "\u5819", - "22561_ord": "\u5821", - "22564_ord": "\u5824", - "22570_ord": "\u582a", - "22576_ord": "\u5830", - "22581_ord": "\u5835", - "22604_ord": "\u584c", - "22609_ord": "\u5851", - "22612_ord": "\u5854", - "22616_ord": "\u5858", - "22622_ord": "\u585e", - "22635_ord": "\u586b", - "22654_ord": "\u587e", - "22656_ord": "\u5880", - "22659_ord": "\u5883", - "22661_ord": "\u5885", - "22665_ord": "\u5889", - "22675_ord": "\u5893", - "22681_ord": "\u5899", - "22686_ord": "\u589e", - "22687_ord": "\u589f", - "22688_ord": "\u58a0", - "22696_ord": "\u58a8", - "22697_ord": "\u58a9", - "22721_ord": "\u58c1", - "22725_ord": "\u58c5", - "22737_ord": "\u58d1", - "22741_ord": "\u58d5", - "22756_ord": "\u58e4", - "22763_ord": "\u58eb", - "22764_ord": "\u58ec", - "22766_ord": "\u58ee", - "22768_ord": "\u58f0", - "22771_ord": "\u58f3", - "22774_ord": "\u58f6", - "22777_ord": "\u58f9", - "22788_ord": "\u5904", - "22791_ord": "\u5907", - "22797_ord": "\u590d", - "22799_ord": "\u590f", - "22804_ord": "\u5914", - "22805_ord": "\u5915", - "22806_ord": "\u5916", - "22809_ord": "\u5919", - "22810_ord": "\u591a", - "22812_ord": "\u591c", - "22815_ord": "\u591f", - "22820_ord": "\u5924", - "22821_ord": "\u5925", - "22823_ord": "\u5927", - "22825_ord": "\u5929", - "22826_ord": "\u592a", - "22827_ord": "\u592b", - "22829_ord": "\u592d", - "22830_ord": "\u592e", - "22831_ord": "\u592f", - "22833_ord": "\u5931", - "22836_ord": "\u5934", - "22839_ord": "\u5937", - "22840_ord": "\u5938", - "22841_ord": "\u5939", - "22842_ord": "\u593a", - "22849_ord": "\u5941", - "22850_ord": "\u5942", - "22852_ord": "\u5944", - "22855_ord": "\u5947", - "22856_ord": "\u5948", - "22857_ord": "\u5949", - "22859_ord": "\u594b", - "22862_ord": "\u594e", - "22863_ord": "\u594f", - "22865_ord": "\u5951", - "22868_ord": "\u5954", - "22869_ord": "\u5955", - "22870_ord": "\u5956", - "22871_ord": "\u5957", - "22872_ord": "\u5958", - "22874_ord": "\u595a", - "22880_ord": "\u5960", - "22882_ord": "\u5962", - "22885_ord": "\u5965", - "22893_ord": "\u596d", - "22899_ord": "\u5973", - "22900_ord": "\u5974", - "22902_ord": "\u5976", - "22904_ord": "\u5978", - "22905_ord": "\u5979", - "22909_ord": "\u597d", - "22913_ord": "\u5981", - "22914_ord": "\u5982", - "22915_ord": "\u5983", - "22916_ord": "\u5984", - "22918_ord": "\u5986", - "22919_ord": "\u5987", - "22920_ord": "\u5988", - "22922_ord": "\u598a", - "22925_ord": "\u598d", - "22930_ord": "\u5992", - "22931_ord": "\u5993", - "22934_ord": "\u5996", - "22935_ord": "\u5997", - "22937_ord": "\u5999", - "22942_ord": "\u599e", - "22948_ord": "\u59a4", - "22949_ord": "\u59a5", - "22952_ord": "\u59a8", - "22953_ord": "\u59a9", - "22954_ord": "\u59aa", - "22958_ord": "\u59ae", - "22962_ord": "\u59b2", - "22963_ord": "\u59b3", - "22969_ord": "\u59b9", - "22971_ord": "\u59bb", - "22974_ord": "\u59be", - "22977_ord": "\u59c1", - "22982_ord": "\u59c6", - "22986_ord": "\u59ca", - "22987_ord": "\u59cb", - "22992_ord": "\u59d0", - "22993_ord": "\u59d1", - "22994_ord": "\u59d2", - "22995_ord": "\u59d3", - "22996_ord": "\u59d4", - "22999_ord": "\u59d7", - "23002_ord": "\u59da", - "23004_ord": "\u59dc", - "23005_ord": "\u59dd", - "23011_ord": "\u59e3", - "23013_ord": "\u59e5", - "23016_ord": "\u59e8", - "23020_ord": "\u59ec", - "23022_ord": "\u59ee", - "23033_ord": "\u59f9", - "23035_ord": "\u59fb", - "23039_ord": "\u59ff", - "23041_ord": "\u5a01", - "23043_ord": "\u5a03", - "23044_ord": "\u5a04", - "23045_ord": "\u5a05", - "23046_ord": "\u5a06", - "23047_ord": "\u5a07", - "23048_ord": "\u5a08", - "23049_ord": "\u5a09", - "23057_ord": "\u5a11", - "23059_ord": "\u5a13", - "23064_ord": "\u5a18", - "23068_ord": "\u5a1c", - "23071_ord": "\u5a1f", - "23072_ord": "\u5a20", - "23073_ord": "\u5a21", - "23075_ord": "\u5a23", - "23077_ord": "\u5a25", - "23081_ord": "\u5a29", - "23089_ord": "\u5a31", - "23090_ord": "\u5a32", - "23092_ord": "\u5a34", - "23094_ord": "\u5a36", - "23100_ord": "\u5a3c", - "23104_ord": "\u5a40", - "23110_ord": "\u5a46", - "23113_ord": "\u5a49", - "23114_ord": "\u5a4a", - "23125_ord": "\u5a55", - "23130_ord": "\u5a5a", - "23138_ord": "\u5a62", - "23143_ord": "\u5a67", - "23146_ord": "\u5a6a", - "23156_ord": "\u5a74", - "23158_ord": "\u5a76", - "23159_ord": "\u5a77", - "23162_ord": "\u5a7a", - "23167_ord": "\u5a7f", - "23186_ord": "\u5a92", - "23194_ord": "\u5a9a", - "23195_ord": "\u5a9b", - "23210_ord": "\u5aaa", - "23218_ord": "\u5ab2", - "23219_ord": "\u5ab3", - "23221_ord": "\u5ab5", - "23224_ord": "\u5ab8", - "23230_ord": "\u5abe", - "23233_ord": "\u5ac1", - "23234_ord": "\u5ac2", - "23241_ord": "\u5ac9", - "23244_ord": "\u5acc", - "23252_ord": "\u5ad4", - "23254_ord": "\u5ad6", - "23258_ord": "\u5ada", - "23260_ord": "\u5adc", - "23265_ord": "\u5ae1", - "23267_ord": "\u5ae3", - "23270_ord": "\u5ae6", - "23273_ord": "\u5ae9", - "23274_ord": "\u5aea", - "23281_ord": "\u5af1", - "23305_ord": "\u5b09", - "23318_ord": "\u5b16", - "23319_ord": "\u5b17", - "23323_ord": "\u5b1b", - "23348_ord": "\u5b34", - "23360_ord": "\u5b40", - "23376_ord": "\u5b50", - "23377_ord": "\u5b51", - "23380_ord": "\u5b54", - "23381_ord": "\u5b55", - "23383_ord": "\u5b57", - "23384_ord": "\u5b58", - "23385_ord": "\u5b59", - "23386_ord": "\u5b5a", - "23387_ord": "\u5b5b", - "23388_ord": "\u5b5c", - "23389_ord": "\u5b5d", - "23391_ord": "\u5b5f", - "23394_ord": "\u5b62", - "23395_ord": "\u5b63", - "23396_ord": "\u5b64", - "23397_ord": "\u5b65", - "23398_ord": "\u5b66", - "233_ord": "\u00e9", - "23401_ord": "\u5b69", - "23402_ord": "\u5b6a", - "23408_ord": "\u5b70", - "23409_ord": "\u5b71", - "23411_ord": "\u5b73", - "23413_ord": "\u5b75", - "23418_ord": "\u5b7a", - "23421_ord": "\u5b7d", - "23425_ord": "\u5b81", - "23427_ord": "\u5b83", - "23429_ord": "\u5b85", - "23431_ord": "\u5b87", - "23432_ord": "\u5b88", - "23433_ord": "\u5b89", - "23435_ord": "\u5b8b", - "23436_ord": "\u5b8c", - "23439_ord": "\u5b8f", - "23443_ord": "\u5b93", - "23445_ord": "\u5b95", - "23447_ord": "\u5b97", - "23448_ord": "\u5b98", - "23449_ord": "\u5b99", - "23450_ord": "\u5b9a", - "23451_ord": "\u5b9b", - "23452_ord": "\u5b9c", - "23453_ord": "\u5b9d", - "23454_ord": "\u5b9e", - "23456_ord": "\u5ba0", - "23457_ord": "\u5ba1", - "23458_ord": "\u5ba2", - "23459_ord": "\u5ba3", - "23460_ord": "\u5ba4", - "23461_ord": "\u5ba5", - "23462_ord": "\u5ba6", - "23466_ord": "\u5baa", - "23467_ord": "\u5bab", - "23472_ord": "\u5bb0", - "23475_ord": "\u5bb3", - "23476_ord": "\u5bb4", - "23477_ord": "\u5bb5", - "23478_ord": "\u5bb6", - "23480_ord": "\u5bb8", - "23481_ord": "\u5bb9", - "23485_ord": "\u5bbd", - "23486_ord": "\u5bbe", - "23487_ord": "\u5bbf", - "23490_ord": "\u5bc2", - "23492_ord": "\u5bc4", - "23493_ord": "\u5bc5", - "23494_ord": "\u5bc6", - "23495_ord": "\u5bc7", - "23500_ord": "\u5bcc", - "23504_ord": "\u5bd0", - "23506_ord": "\u5bd2", - "23507_ord": "\u5bd3", - "23510_ord": "\u5bd6", - "23512_ord": "\u5bd8", - "23517_ord": "\u5bdd", - "23518_ord": "\u5bde", - "23519_ord": "\u5bdf", - "23521_ord": "\u5be1", - "23524_ord": "\u5be4", - "23525_ord": "\u5be5", - "23528_ord": "\u5be8", - "23536_ord": "\u5bf0", - "23544_ord": "\u5bf8", - "23545_ord": "\u5bf9", - "23546_ord": "\u5bfa", - "23547_ord": "\u5bfb", - "23548_ord": "\u5bfc", - "23551_ord": "\u5bff", - "23553_ord": "\u5c01", - "23556_ord": "\u5c04", - "23558_ord": "\u5c06", - "23561_ord": "\u5c09", - "23562_ord": "\u5c0a", - "23567_ord": "\u5c0f", - "23569_ord": "\u5c11", - "23572_ord": "\u5c14", - "23574_ord": "\u5c16", - "23576_ord": "\u5c18", - "23578_ord": "\u5c1a", - "23581_ord": "\u5c1d", - "23588_ord": "\u5c24", - "23591_ord": "\u5c27", - "23596_ord": "\u5c2c", - "23601_ord": "\u5c31", - "23604_ord": "\u5c34", - "23608_ord": "\u5c38", - "23609_ord": "\u5c39", - "23610_ord": "\u5c3a", - "23611_ord": "\u5c3b", - "23612_ord": "\u5c3c", - "23613_ord": "\u5c3d", - "23614_ord": "\u5c3e", - "23615_ord": "\u5c3f", - "23616_ord": "\u5c40", - "23617_ord": "\u5c41", - "23618_ord": "\u5c42", - "23621_ord": "\u5c45", - "23624_ord": "\u5c48", - "23625_ord": "\u5c49", - "23626_ord": "\u5c4a", - "23627_ord": "\u5c4b", - "23630_ord": "\u5c4e", - "23631_ord": "\u5c4f", - "23633_ord": "\u5c51", - "23637_ord": "\u5c55", - "23646_ord": "\u5c5e", - "23648_ord": "\u5c60", - "23649_ord": "\u5c61", - "23651_ord": "\u5c63", - "23653_ord": "\u5c65", - "23654_ord": "\u5c66", - "23663_ord": "\u5c6f", - "23665_ord": "\u5c71", - "23673_ord": "\u5c79", - "23679_ord": "\u5c7f", - "23681_ord": "\u5c81", - "23682_ord": "\u5c82", - "23692_ord": "\u5c8c", - "23696_ord": "\u5c90", - "23697_ord": "\u5c91", - "23700_ord": "\u5c94", - "23702_ord": "\u5c96", - "23703_ord": "\u5c97", - "23706_ord": "\u5c9a", - "23707_ord": "\u5c9b", - "23721_ord": "\u5ca9", - "23723_ord": "\u5cab", - "23724_ord": "\u5cac", - "23725_ord": "\u5cad", - "23729_ord": "\u5cb1", - "23731_ord": "\u5cb3", - "23735_ord": "\u5cb7", - "23736_ord": "\u5cb8", - "23743_ord": "\u5cbf", - "23748_ord": "\u5cc4", - "23751_ord": "\u5cc7", - "23755_ord": "\u5ccb", - "23762_ord": "\u5cd2", - "23769_ord": "\u5cd9", - "23777_ord": "\u5ce1", - "23780_ord": "\u5ce4", - "23781_ord": "\u5ce5", - "23782_ord": "\u5ce6", - "23784_ord": "\u5ce8", - "23786_ord": "\u5cea", - "23789_ord": "\u5ced", - "23792_ord": "\u5cf0", - "23803_ord": "\u5cfb", - "23810_ord": "\u5d02", - "23811_ord": "\u5d03", - "23814_ord": "\u5d06", - "23815_ord": "\u5d07", - "23822_ord": "\u5d0e", - "23828_ord": "\u5d14", - "23830_ord": "\u5d16", - "23834_ord": "\u5d1a", - "23835_ord": "\u5d1b", - "23847_ord": "\u5d27", - "23849_ord": "\u5d29", - "23853_ord": "\u5d2d", - "23860_ord": "\u5d34", - "23883_ord": "\u5d4b", - "23884_ord": "\u5d4c", - "23896_ord": "\u5d58", - "23913_ord": "\u5d69", - "23916_ord": "\u5d6c", - "23919_ord": "\u5d6f", - "23938_ord": "\u5d82", - "23961_ord": "\u5d99", - "23991_ord": "\u5db7", - "24005_ord": "\u5dc5", - "24009_ord": "\u5dc9", - "24013_ord": "\u5dcd", - "24029_ord": "\u5ddd", - "24030_ord": "\u5dde", - "24033_ord": "\u5de1", - "24034_ord": "\u5de2", - "24037_ord": "\u5de5", - "24038_ord": "\u5de6", - "24039_ord": "\u5de7", - "24040_ord": "\u5de8", - "24041_ord": "\u5de9", - "24043_ord": "\u5deb", - "24046_ord": "\u5dee", - "24049_ord": "\u5df1", - "24050_ord": "\u5df2", - "24051_ord": "\u5df3", - "24052_ord": "\u5df4", - "24055_ord": "\u5df7", - "24061_ord": "\u5dfd", - "24062_ord": "\u5dfe", - "24063_ord": "\u5dff", - "24065_ord": "\u5e01", - "24066_ord": "\u5e02", - "24067_ord": "\u5e03", - "24069_ord": "\u5e05", - "24070_ord": "\u5e06", - "24072_ord": "\u5e08", - "24076_ord": "\u5e0c", - "24079_ord": "\u5e0f", - "24080_ord": "\u5e10", - "24081_ord": "\u5e11", - "24084_ord": "\u5e14", - "24085_ord": "\u5e15", - "24086_ord": "\u5e16", - "24088_ord": "\u5e18", - "24090_ord": "\u5e1a", - "24091_ord": "\u5e1b", - "24092_ord": "\u5e1c", - "24093_ord": "\u5e1d", - "24102_ord": "\u5e26", - "24103_ord": "\u5e27", - "24104_ord": "\u5e28", - "24109_ord": "\u5e2d", - "24110_ord": "\u5e2e", - "24119_ord": "\u5e37", - "24120_ord": "\u5e38", - "24124_ord": "\u5e3c", - "24125_ord": "\u5e3d", - "24130_ord": "\u5e42", - "24132_ord": "\u5e44", - "24133_ord": "\u5e45", - "24140_ord": "\u5e4c", - "24148_ord": "\u5e54", - "24149_ord": "\u5e55", - "24155_ord": "\u5e5b", - "24158_ord": "\u5e5e", - "24161_ord": "\u5e61", - "24162_ord": "\u5e62", - "24178_ord": "\u5e72", - "24179_ord": "\u5e73", - "24180_ord": "\u5e74", - "24182_ord": "\u5e76", - "24184_ord": "\u5e78", - "24186_ord": "\u5e7a", - "24187_ord": "\u5e7b", - "24188_ord": "\u5e7c", - "24189_ord": "\u5e7d", - "24191_ord": "\u5e7f", - "24196_ord": "\u5e84", - "24198_ord": "\u5e86", - "24199_ord": "\u5e87", - "24202_ord": "\u5e8a", - "24207_ord": "\u5e8f", - "24208_ord": "\u5e90", - "24209_ord": "\u5e91", - "24211_ord": "\u5e93", - "24212_ord": "\u5e94", - "24213_ord": "\u5e95", - "24214_ord": "\u5e96", - "24215_ord": "\u5e97", - "24217_ord": "\u5e99", - "24218_ord": "\u5e9a", - "24220_ord": "\u5e9c", - "24222_ord": "\u5e9e", - "24223_ord": "\u5e9f", - "24224_ord": "\u5ea0", - "24229_ord": "\u5ea5", - "24230_ord": "\u5ea6", - "24231_ord": "\u5ea7", - "24237_ord": "\u5ead", - "24245_ord": "\u5eb5", - "24246_ord": "\u5eb6", - "24247_ord": "\u5eb7", - "24248_ord": "\u5eb8", - "24254_ord": "\u5ebe", - "24265_ord": "\u5ec9", - "24266_ord": "\u5eca", - "24275_ord": "\u5ed3", - "24278_ord": "\u5ed6", - "24283_ord": "\u5edb", - "24296_ord": "\u5ee8", - "24298_ord": "\u5eea", - "24310_ord": "\u5ef6", - "24311_ord": "\u5ef7", - "24314_ord": "\u5efa", - "24319_ord": "\u5eff", - "24320_ord": "\u5f00", - "24321_ord": "\u5f01", - "24322_ord": "\u5f02", - "24323_ord": "\u5f03", - "24324_ord": "\u5f04", - "24328_ord": "\u5f08", - "24330_ord": "\u5f0a", - "24331_ord": "\u5f0b", - "24335_ord": "\u5f0f", - "24337_ord": "\u5f11", - "24339_ord": "\u5f13", - "24341_ord": "\u5f15", - "24343_ord": "\u5f17", - "24344_ord": "\u5f18", - "24347_ord": "\u5f1b", - "24351_ord": "\u5f1f", - "24352_ord": "\u5f20", - "24354_ord": "\u5f22", - "24357_ord": "\u5f25", - "24358_ord": "\u5f26", - "24359_ord": "\u5f27", - "24361_ord": "\u5f29", - "24365_ord": "\u5f2d", - "24367_ord": "\u5f2f", - "24369_ord": "\u5f31", - "24373_ord": "\u5f35", - "24377_ord": "\u5f39", - "24378_ord": "\u5f3a", - "24380_ord": "\u5f3c", - "24384_ord": "\u5f40", - "24394_ord": "\u5f4a", - "24402_ord": "\u5f52", - "24403_ord": "\u5f53", - "24405_ord": "\u5f55", - "24407_ord": "\u5f57", - "24408_ord": "\u5f58", - "24413_ord": "\u5f5d", - "24418_ord": "\u5f62", - "24420_ord": "\u5f64", - "24422_ord": "\u5f66", - "24425_ord": "\u5f69", - "24426_ord": "\u5f6a", - "24428_ord": "\u5f6c", - "24429_ord": "\u5f6d", - "24432_ord": "\u5f70", - "24433_ord": "\u5f71", - "24439_ord": "\u5f77", - "24441_ord": "\u5f79", - "24443_ord": "\u5f7b", - "24444_ord": "\u5f7c", - "24448_ord": "\u5f80", - "24449_ord": "\u5f81", - "24450_ord": "\u5f82", - "24452_ord": "\u5f84", - "24453_ord": "\u5f85", - "24455_ord": "\u5f87", - "24456_ord": "\u5f88", - "24457_ord": "\u5f89", - "24458_ord": "\u5f8a", - "24459_ord": "\u5f8b", - "24460_ord": "\u5f8c", - "24464_ord": "\u5f90", - "24466_ord": "\u5f92", - "24469_ord": "\u5f95", - "24471_ord": "\u5f97", - "24472_ord": "\u5f98", - "24473_ord": "\u5f99", - "24476_ord": "\u5f9c", - "24481_ord": "\u5fa1", - "24488_ord": "\u5fa8", - "24490_ord": "\u5faa", - "24493_ord": "\u5fad", - "24494_ord": "\u5fae", - "24499_ord": "\u5fb3", - "24501_ord": "\u5fb5", - "24503_ord": "\u5fb7", - "24508_ord": "\u5fbc", - "24509_ord": "\u5fbd", - "24515_ord": "\u5fc3", - "24517_ord": "\u5fc5", - "24518_ord": "\u5fc6", - "24524_ord": "\u5fcc", - "24525_ord": "\u5fcd", - "24527_ord": "\u5fcf", - "24528_ord": "\u5fd0", - "24529_ord": "\u5fd1", - "24530_ord": "\u5fd2", - "24534_ord": "\u5fd6", - "24535_ord": "\u5fd7", - "24536_ord": "\u5fd8", - "24537_ord": "\u5fd9", - "24541_ord": "\u5fdd", - "24544_ord": "\u5fe0", - "24545_ord": "\u5fe1", - "24548_ord": "\u5fe4", - "24551_ord": "\u5fe7", - "24554_ord": "\u5fea", - "24555_ord": "\u5feb", - "24561_ord": "\u5ff1", - "24565_ord": "\u5ff5", - "24571_ord": "\u5ffb", - "24573_ord": "\u5ffd", - "24575_ord": "\u5fff", - "24576_ord": "\u6000", - "24577_ord": "\u6001", - "24578_ord": "\u6002", - "24581_ord": "\u6005", - "24582_ord": "\u6006", - "24589_ord": "\u600d", - "24590_ord": "\u600e", - "24591_ord": "\u600f", - "24594_ord": "\u6012", - "24596_ord": "\u6014", - "24597_ord": "\u6015", - "24598_ord": "\u6016", - "24601_ord": "\u6019", - "24603_ord": "\u601b", - "24604_ord": "\u601c", - "24605_ord": "\u601d", - "24608_ord": "\u6020", - "24609_ord": "\u6021", - "24613_ord": "\u6025", - "24614_ord": "\u6026", - "24615_ord": "\u6027", - "24616_ord": "\u6028", - "24618_ord": "\u602a", - "24619_ord": "\u602b", - "24623_ord": "\u602f", - "24629_ord": "\u6035", - "24635_ord": "\u603b", - "24636_ord": "\u603c", - "24639_ord": "\u603f", - "24642_ord": "\u6042", - "24643_ord": "\u6043", - "24651_ord": "\u604b", - "24653_ord": "\u604d", - "24656_ord": "\u6050", - "24658_ord": "\u6052", - "24661_ord": "\u6055", - "24665_ord": "\u6059", - "24666_ord": "\u605a", - "24669_ord": "\u605d", - "24674_ord": "\u6062", - "24675_ord": "\u6063", - "24676_ord": "\u6064", - "24680_ord": "\u6068", - "24681_ord": "\u6069", - "24682_ord": "\u606a", - "24683_ord": "\u606b", - "24684_ord": "\u606c", - "24685_ord": "\u606d", - "24687_ord": "\u606f", - "24688_ord": "\u6070", - "24691_ord": "\u6073", - "24694_ord": "\u6076", - "24696_ord": "\u6078", - "24697_ord": "\u6079", - "24698_ord": "\u607a", - "24699_ord": "\u607b", - "24700_ord": "\u607c", - "24701_ord": "\u607d", - "24703_ord": "\u607f", - "24708_ord": "\u6084", - "24713_ord": "\u6089", - "24716_ord": "\u608c", - "24717_ord": "\u608d", - "24722_ord": "\u6092", - "24724_ord": "\u6094", - "24726_ord": "\u6096", - "24730_ord": "\u609a", - "24733_ord": "\u609d", - "24734_ord": "\u609e", - "24735_ord": "\u609f", - "24736_ord": "\u60a0", - "24739_ord": "\u60a3", - "24742_ord": "\u60a6", - "24744_ord": "\u60a8", - "24747_ord": "\u60ab", - "24748_ord": "\u60ac", - "24749_ord": "\u60ad", - "24751_ord": "\u60af", - "24754_ord": "\u60b2", - "24756_ord": "\u60b4", - "24760_ord": "\u60b8", - "24763_ord": "\u60bb", - "24764_ord": "\u60bc", - "24773_ord": "\u60c5", - "24774_ord": "\u60c6", - "24775_ord": "\u60c7", - "24778_ord": "\u60ca", - "24779_ord": "\u60cb", - "24785_ord": "\u60d1", - "24789_ord": "\u60d5", - "24792_ord": "\u60d8", - "24794_ord": "\u60da", - "24796_ord": "\u60dc", - "24799_ord": "\u60df", - "247_ord": "\u00f7", - "24800_ord": "\u60e0", - "24806_ord": "\u60e6", - "24807_ord": "\u60e7", - "24808_ord": "\u60e8", - "24809_ord": "\u60e9", - "24811_ord": "\u60eb", - "24812_ord": "\u60ec", - "24813_ord": "\u60ed", - "24814_ord": "\u60ee", - "24815_ord": "\u60ef", - "24816_ord": "\u60f0", - "24819_ord": "\u60f3", - "24820_ord": "\u60f4", - "24822_ord": "\u60f6", - "24825_ord": "\u60f9", - "24826_ord": "\u60fa", - "24832_ord": "\u6100", - "24833_ord": "\u6101", - "24838_ord": "\u6106", - "24840_ord": "\u6108", - "24841_ord": "\u6109", - "24845_ord": "\u610d", - "24846_ord": "\u610e", - "24847_ord": "\u610f", - "24853_ord": "\u6115", - "24858_ord": "\u611a", - "24859_ord": "\u611b", - "24863_ord": "\u611f", - "24864_ord": "\u6120", - "24867_ord": "\u6123", - "24868_ord": "\u6124", - "24870_ord": "\u6126", - "24871_ord": "\u6127", - "24875_ord": "\u612b", - "24876_ord": "\u612c", - "24895_ord": "\u613f", - "24904_ord": "\u6148", - "24908_ord": "\u614c", - "24910_ord": "\u614e", - "24913_ord": "\u6151", - "24917_ord": "\u6155", - "24921_ord": "\u6159", - "24930_ord": "\u6162", - "24935_ord": "\u6167", - "24936_ord": "\u6168", - "24944_ord": "\u6170", - "24949_ord": "\u6175", - "24951_ord": "\u6177", - "24971_ord": "\u618b", - "24974_ord": "\u618e", - "24980_ord": "\u6194", - "24999_ord": "\u61a7", - "25000_ord": "\u61a8", - "25001_ord": "\u61a9", - "25004_ord": "\u61ac", - "25022_ord": "\u61be", - "25026_ord": "\u61c2", - "25032_ord": "\u61c8", - "25034_ord": "\u61ca", - "25035_ord": "\u61cb", - "25041_ord": "\u61d1", - "25042_ord": "\u61d2", - "25052_ord": "\u61dc", - "25062_ord": "\u61e6", - "25077_ord": "\u61f5", - "25087_ord": "\u61ff", - "25094_ord": "\u6206", - "25096_ord": "\u6208", - "25098_ord": "\u620a", - "25100_ord": "\u620c", - "25101_ord": "\u620d", - "25102_ord": "\u620e", - "25103_ord": "\u620f", - "25104_ord": "\u6210", - "25105_ord": "\u6211", - "25106_ord": "\u6212", - "25109_ord": "\u6215", - "25110_ord": "\u6216", - "25111_ord": "\u6217", - "25112_ord": "\u6218", - "25114_ord": "\u621a", - "25115_ord": "\u621b", - "25119_ord": "\u621f", - "25122_ord": "\u6222", - "25130_ord": "\u622a", - "25134_ord": "\u622e", - "25139_ord": "\u6233", - "25140_ord": "\u6234", - "25143_ord": "\u6237", - "25150_ord": "\u623e", - "25151_ord": "\u623f", - "25152_ord": "\u6240", - "25153_ord": "\u6241", - "25155_ord": "\u6243", - "25159_ord": "\u6247", - "25160_ord": "\u6248", - "25161_ord": "\u6249", - "25163_ord": "\u624b", - "25164_ord": "\u624c", - "25165_ord": "\u624d", - "25166_ord": "\u624e", - "25169_ord": "\u6251", - "25170_ord": "\u6252", - "25171_ord": "\u6253", - "25172_ord": "\u6254", - "25176_ord": "\u6258", - "25179_ord": "\u625b", - "25182_ord": "\u625e", - "25186_ord": "\u6262", - "25187_ord": "\u6263", - "25191_ord": "\u6267", - "25193_ord": "\u6269", - "25194_ord": "\u626a", - "25195_ord": "\u626b", - "25196_ord": "\u626c", - "25197_ord": "\u626d", - "25198_ord": "\u626e", - "25199_ord": "\u626f", - "25200_ord": "\u6270", - "25203_ord": "\u6273", - "25206_ord": "\u6276", - "25209_ord": "\u6279", - "25212_ord": "\u627c", - "25214_ord": "\u627e", - "25215_ord": "\u627f", - "25216_ord": "\u6280", - "25220_ord": "\u6284", - "25225_ord": "\u6289", - "25226_ord": "\u628a", - "25233_ord": "\u6291", - "25234_ord": "\u6292", - "25235_ord": "\u6293", - "25237_ord": "\u6295", - "25238_ord": "\u6296", - "25239_ord": "\u6297", - "25240_ord": "\u6298", - "25242_ord": "\u629a", - "25243_ord": "\u629b", - "25247_ord": "\u629f", - "25248_ord": "\u62a0", - "25249_ord": "\u62a1", - "25250_ord": "\u62a2", - "25252_ord": "\u62a4", - "25253_ord": "\u62a5", - "25256_ord": "\u62a8", - "25259_ord": "\u62ab", - "25260_ord": "\u62ac", - "25265_ord": "\u62b1", - "25269_ord": "\u62b5", - "25273_ord": "\u62b9", - "25276_ord": "\u62bc", - "25277_ord": "\u62bd", - "25279_ord": "\u62bf", - "25282_ord": "\u62c2", - "25284_ord": "\u62c4", - "25285_ord": "\u62c5", - "25286_ord": "\u62c6", - "25287_ord": "\u62c7", - "25288_ord": "\u62c8", - "25289_ord": "\u62c9", - "25290_ord": "\u62ca", - "25292_ord": "\u62cc", - "25293_ord": "\u62cd", - "25294_ord": "\u62ce", - "25296_ord": "\u62d0", - "25298_ord": "\u62d2", - "25299_ord": "\u62d3", - "252_ord": "\u00fc", - "25300_ord": "\u62d4", - "25302_ord": "\u62d6", - "25303_ord": "\u62d7", - "25304_ord": "\u62d8", - "25305_ord": "\u62d9", - "25306_ord": "\u62da", - "25307_ord": "\u62db", - "25308_ord": "\u62dc", - "25311_ord": "\u62df", - "25314_ord": "\u62e2", - "25315_ord": "\u62e3", - "25317_ord": "\u62e5", - "25318_ord": "\u62e6", - "25319_ord": "\u62e7", - "25320_ord": "\u62e8", - "25321_ord": "\u62e9", - "25324_ord": "\u62ec", - "25325_ord": "\u62ed", - "25326_ord": "\u62ee", - "25327_ord": "\u62ef", - "25329_ord": "\u62f1", - "25331_ord": "\u62f3", - "25332_ord": "\u62f4", - "25335_ord": "\u62f7", - "25340_ord": "\u62fc", - "25341_ord": "\u62fd", - "25342_ord": "\u62fe", - "25343_ord": "\u62ff", - "25345_ord": "\u6301", - "25346_ord": "\u6302", - "25351_ord": "\u6307", - "25352_ord": "\u6308", - "25353_ord": "\u6309", - "25358_ord": "\u630e", - "25361_ord": "\u6311", - "25366_ord": "\u6316", - "25370_ord": "\u631a", - "25371_ord": "\u631b", - "25373_ord": "\u631d", - "25374_ord": "\u631e", - "25375_ord": "\u631f", - "25376_ord": "\u6320", - "25377_ord": "\u6321", - "25379_ord": "\u6323", - "25380_ord": "\u6324", - "25381_ord": "\u6325", - "25384_ord": "\u6328", - "25386_ord": "\u632a", - "25387_ord": "\u632b", - "25391_ord": "\u632f", - "25401_ord": "\u6339", - "25402_ord": "\u633a", - "25405_ord": "\u633d", - "25410_ord": "\u6342", - "25413_ord": "\u6345", - "25414_ord": "\u6346", - "25417_ord": "\u6349", - "25419_ord": "\u634b", - "25421_ord": "\u634d", - "25422_ord": "\u634e", - "25423_ord": "\u634f", - "25424_ord": "\u6350", - "25429_ord": "\u6355", - "25438_ord": "\u635e", - "25439_ord": "\u635f", - "25441_ord": "\u6361", - "25442_ord": "\u6362", - "25443_ord": "\u6363", - "25447_ord": "\u6367", - "25453_ord": "\u636d", - "25454_ord": "\u636e", - "25457_ord": "\u6371", - "25462_ord": "\u6376", - "25463_ord": "\u6377", - "25466_ord": "\u637a", - "25467_ord": "\u637b", - "25469_ord": "\u637d", - "25472_ord": "\u6380", - "25474_ord": "\u6382", - "25479_ord": "\u6387", - "25480_ord": "\u6388", - "25481_ord": "\u6389", - "25484_ord": "\u638c", - "25487_ord": "\u638f", - "25488_ord": "\u6390", - "25490_ord": "\u6392", - "25494_ord": "\u6396", - "25496_ord": "\u6398", - "25504_ord": "\u63a0", - "25506_ord": "\u63a2", - "25507_ord": "\u63a3", - "25509_ord": "\u63a5", - "25511_ord": "\u63a7", - "25512_ord": "\u63a8", - "25513_ord": "\u63a9", - "25514_ord": "\u63aa", - "25516_ord": "\u63ac", - "25520_ord": "\u63b0", - "25523_ord": "\u63b3", - "25527_ord": "\u63b7", - "25530_ord": "\u63ba", - "25532_ord": "\u63bc", - "25534_ord": "\u63be", - "25540_ord": "\u63c4", - "25542_ord": "\u63c6", - "25545_ord": "\u63c9", - "25549_ord": "\u63cd", - "25551_ord": "\u63cf", - "25552_ord": "\u63d0", - "25554_ord": "\u63d2", - "25558_ord": "\u63d6", - "25564_ord": "\u63dc", - "25569_ord": "\u63e1", - "25571_ord": "\u63e3", - "25577_ord": "\u63e9", - "25578_ord": "\u63ea", - "25581_ord": "\u63ed", - "25588_ord": "\u63f4", - "25590_ord": "\u63f6", - "25597_ord": "\u63fd", - "25600_ord": "\u6400", - "25601_ord": "\u6401", - "25602_ord": "\u6402", - "25605_ord": "\u6405", - "25615_ord": "\u640f", - "25616_ord": "\u6410", - "25618_ord": "\u6412", - "25619_ord": "\u6413", - "25620_ord": "\u6414", - "25628_ord": "\u641c", - "25630_ord": "\u641e", - "25632_ord": "\u6420", - "25634_ord": "\u6422", - "25642_ord": "\u642a", - "25644_ord": "\u642c", - "25645_ord": "\u642d", - "25652_ord": "\u6434", - "25658_ord": "\u643a", - "25661_ord": "\u643d", - "25665_ord": "\u6441", - "25668_ord": "\u6444", - "25670_ord": "\u6446", - "25671_ord": "\u6447", - "25672_ord": "\u6448", - "25674_ord": "\u644a", - "25682_ord": "\u6452", - "25684_ord": "\u6454", - "25688_ord": "\u6458", - "25694_ord": "\u645e", - "25703_ord": "\u6467", - "25705_ord": "\u6469", - "25720_ord": "\u6478", - "25721_ord": "\u6479", - "25730_ord": "\u6482", - "25735_ord": "\u6487", - "25745_ord": "\u6491", - "25746_ord": "\u6492", - "25749_ord": "\u6495", - "25757_ord": "\u649d", - "25758_ord": "\u649e", - "25764_ord": "\u64a4", - "25769_ord": "\u64a9", - "25772_ord": "\u64ac", - "25773_ord": "\u64ad", - "25774_ord": "\u64ae", - "25776_ord": "\u64b0", - "25781_ord": "\u64b5", - "25783_ord": "\u64b7", - "25786_ord": "\u64ba", - "25788_ord": "\u64bc", - "25794_ord": "\u64c2", - "25797_ord": "\u64c5", - "25805_ord": "\u64cd", - "25806_ord": "\u64ce", - "25810_ord": "\u64d2", - "25816_ord": "\u64d8", - "25822_ord": "\u64de", - "25826_ord": "\u64e2", - "25830_ord": "\u64e6", - "25856_ord": "\u6500", - "25874_ord": "\u6512", - "25880_ord": "\u6518", - "25893_ord": "\u6525", - "25899_ord": "\u652b", - "25903_ord": "\u652f", - "25910_ord": "\u6536", - "25912_ord": "\u6538", - "25913_ord": "\u6539", - "25915_ord": "\u653b", - "25918_ord": "\u653e", - "25919_ord": "\u653f", - "25925_ord": "\u6545", - "25928_ord": "\u6548", - "25932_ord": "\u654c", - "25935_ord": "\u654f", - "25937_ord": "\u6551", - "25941_ord": "\u6555", - "25942_ord": "\u6556", - "25945_ord": "\u6559", - "25947_ord": "\u655b", - "25949_ord": "\u655d", - "25950_ord": "\u655e", - "25954_ord": "\u6562", - "25955_ord": "\u6563", - "25958_ord": "\u6566", - "25964_ord": "\u656c", - "25968_ord": "\u6570", - "25970_ord": "\u6572", - "25972_ord": "\u6574", - "25975_ord": "\u6577", - "25991_ord": "\u6587", - "25995_ord": "\u658b", - "25996_ord": "\u658c", - "26000_ord": "\u6590", - "26001_ord": "\u6591", - "26003_ord": "\u6593", - "26007_ord": "\u6597", - "26009_ord": "\u6599", - "26011_ord": "\u659b", - "26012_ord": "\u659c", - "26015_ord": "\u659f", - "26017_ord": "\u65a1", - "26020_ord": "\u65a4", - "26021_ord": "\u65a5", - "26023_ord": "\u65a7", - "26025_ord": "\u65a9", - "26027_ord": "\u65ab", - "26029_ord": "\u65ad", - "26031_ord": "\u65af", - "26032_ord": "\u65b0", - "26034_ord": "\u65b2", - "26041_ord": "\u65b9", - "26044_ord": "\u65bc", - "26045_ord": "\u65bd", - "26049_ord": "\u65c1", - "26051_ord": "\u65c3", - "26052_ord": "\u65c4", - "26053_ord": "\u65c5", - "26059_ord": "\u65cb", - "26060_ord": "\u65cc", - "26062_ord": "\u65ce", - "26063_ord": "\u65cf", - "26066_ord": "\u65d2", - "26070_ord": "\u65d6", - "26071_ord": "\u65d7", - "26080_ord": "\u65e0", - "26082_ord": "\u65e2", - "26085_ord": "\u65e5", - "26086_ord": "\u65e6", - "26087_ord": "\u65e7", - "26088_ord": "\u65e8", - "26089_ord": "\u65e9", - "26092_ord": "\u65ec", - "26093_ord": "\u65ed", - "26097_ord": "\u65f1", - "26102_ord": "\u65f6", - "26103_ord": "\u65f7", - "26106_ord": "\u65fa", - "26107_ord": "\u65fb", - "26112_ord": "\u6600", - "26114_ord": "\u6602", - "26115_ord": "\u6603", - "26118_ord": "\u6606", - "26119_ord": "\u6607", - "26122_ord": "\u660a", - "26124_ord": "\u660c", - "26126_ord": "\u660e", - "26127_ord": "\u660f", - "26131_ord": "\u6613", - "26132_ord": "\u6614", - "26133_ord": "\u6615", - "26137_ord": "\u6619", - "26143_ord": "\u661f", - "26144_ord": "\u6620", - "26149_ord": "\u6625", - "26151_ord": "\u6627", - "26152_ord": "\u6628", - "26157_ord": "\u662d", - "26159_ord": "\u662f", - "26161_ord": "\u6631", - "26164_ord": "\u6634", - "26165_ord": "\u6635", - "26172_ord": "\u663c", - "26174_ord": "\u663e", - "26177_ord": "\u6641", - "26179_ord": "\u6643", - "26187_ord": "\u664b", - "26188_ord": "\u664c", - "26191_ord": "\u664f", - "26194_ord": "\u6652", - "26195_ord": "\u6653", - "26196_ord": "\u6654", - "26197_ord": "\u6655", - "26198_ord": "\u6656", - "26199_ord": "\u6657", - "26202_ord": "\u665a", - "26206_ord": "\u665e", - "26207_ord": "\u665f", - "26209_ord": "\u6661", - "26212_ord": "\u6664", - "26214_ord": "\u6666", - "26216_ord": "\u6668", - "26222_ord": "\u666e", - "26223_ord": "\u666f", - "26224_ord": "\u6670", - "26228_ord": "\u6674", - "26230_ord": "\u6676", - "26234_ord": "\u667a", - "26238_ord": "\u667e", - "26242_ord": "\u6682", - "26244_ord": "\u6684", - "26247_ord": "\u6687", - "26257_ord": "\u6691", - "26262_ord": "\u6696", - "26263_ord": "\u6697", - "26279_ord": "\u66a7", - "26280_ord": "\u66a8", - "26286_ord": "\u66ae", - "26290_ord": "\u66b2", - "26292_ord": "\u66b4", - "26297_ord": "\u66b9", - "26302_ord": "\u66be", - "26329_ord": "\u66d9", - "26331_ord": "\u66db", - "26332_ord": "\u66dc", - "26333_ord": "\u66dd", - "26342_ord": "\u66e6", - "26345_ord": "\u66e9", - "26352_ord": "\u66f0", - "26354_ord": "\u66f2", - "26355_ord": "\u66f3", - "26356_ord": "\u66f4", - "26359_ord": "\u66f7", - "26360_ord": "\u66f8", - "26361_ord": "\u66f9", - "26364_ord": "\u66fc", - "26366_ord": "\u66fe", - "26367_ord": "\u66ff", - "26368_ord": "\u6700", - "26376_ord": "\u6708", - "26377_ord": "\u6709", - "26379_ord": "\u670b", - "26381_ord": "\u670d", - "26384_ord": "\u6710", - "26388_ord": "\u6714", - "26389_ord": "\u6715", - "26391_ord": "\u6717", - "26395_ord": "\u671b", - "26397_ord": "\u671d", - "26399_ord": "\u671f", - "26406_ord": "\u6726", - "26408_ord": "\u6728", - "26410_ord": "\u672a", - "26411_ord": "\u672b", - "26412_ord": "\u672c", - "26413_ord": "\u672d", - "26415_ord": "\u672f", - "26417_ord": "\u6731", - "26420_ord": "\u6734", - "26421_ord": "\u6735", - "26426_ord": "\u673a", - "26429_ord": "\u673d", - "26432_ord": "\u6740", - "26434_ord": "\u6742", - "26435_ord": "\u6743", - "26438_ord": "\u6746", - "26441_ord": "\u6749", - "26444_ord": "\u674c", - "26446_ord": "\u674e", - "26447_ord": "\u674f", - "26448_ord": "\u6750", - "26449_ord": "\u6751", - "26451_ord": "\u6753", - "26454_ord": "\u6756", - "26460_ord": "\u675c", - "26462_ord": "\u675e", - "26463_ord": "\u675f", - "26464_ord": "\u6760", - "26465_ord": "\u6761", - "26469_ord": "\u6765", - "26472_ord": "\u6768", - "26474_ord": "\u676a", - "26477_ord": "\u676d", - "26479_ord": "\u676f", - "26480_ord": "\u6770", - "26482_ord": "\u6772", - "26483_ord": "\u6773", - "26485_ord": "\u6775", - "26487_ord": "\u6777", - "26494_ord": "\u677e", - "26495_ord": "\u677f", - "26497_ord": "\u6781", - "26500_ord": "\u6784", - "26503_ord": "\u6787", - "26505_ord": "\u6789", - "26507_ord": "\u678b", - "26512_ord": "\u6790", - "26517_ord": "\u6795", - "26519_ord": "\u6797", - "26522_ord": "\u679a", - "26524_ord": "\u679c", - "26525_ord": "\u679d", - "26526_ord": "\u679e", - "26530_ord": "\u67a2", - "26531_ord": "\u67a3", - "26533_ord": "\u67a5", - "26538_ord": "\u67aa", - "26539_ord": "\u67ab", - "26541_ord": "\u67ad", - "26543_ord": "\u67af", - "26544_ord": "\u67b0", - "26547_ord": "\u67b3", - "26549_ord": "\u67b5", - "26550_ord": "\u67b6", - "26551_ord": "\u67b7", - "26552_ord": "\u67b8", - "26564_ord": "\u67c4", - "26568_ord": "\u67c8", - "26575_ord": "\u67cf", - "26576_ord": "\u67d0", - "26577_ord": "\u67d1", - "26579_ord": "\u67d3", - "26580_ord": "\u67d4", - "26584_ord": "\u67d8", - "26586_ord": "\u67da", - "26588_ord": "\u67dc", - "26590_ord": "\u67de", - "26592_ord": "\u67e0", - "26594_ord": "\u67e2", - "26597_ord": "\u67e5", - "26601_ord": "\u67e9", - "26604_ord": "\u67ec", - "26607_ord": "\u67ef", - "26608_ord": "\u67f0", - "26609_ord": "\u67f1", - "26611_ord": "\u67f3", - "26612_ord": "\u67f4", - "26623_ord": "\u67ff", - "26624_ord": "\u6800", - "26629_ord": "\u6805", - "26631_ord": "\u6807", - "26632_ord": "\u6808", - "26633_ord": "\u6809", - "26635_ord": "\u680b", - "26638_ord": "\u680e", - "26639_ord": "\u680f", - "26641_ord": "\u6811", - "26643_ord": "\u6813", - "26646_ord": "\u6816", - "26647_ord": "\u6817", - "26657_ord": "\u6821", - "26665_ord": "\u6829", - "26666_ord": "\u682a", - "26679_ord": "\u6837", - "26680_ord": "\u6838", - "26681_ord": "\u6839", - "26684_ord": "\u683c", - "26685_ord": "\u683d", - "26686_ord": "\u683e", - "26688_ord": "\u6840", - "26690_ord": "\u6842", - "26691_ord": "\u6843", - "26693_ord": "\u6845", - "26694_ord": "\u6846", - "26696_ord": "\u6848", - "26700_ord": "\u684c", - "26702_ord": "\u684e", - "26704_ord": "\u6850", - "26705_ord": "\u6851", - "26707_ord": "\u6853", - "26708_ord": "\u6854", - "26720_ord": "\u6860", - "26721_ord": "\u6861", - "26722_ord": "\u6862", - "26723_ord": "\u6863", - "26725_ord": "\u6865", - "26726_ord": "\u6866", - "26727_ord": "\u6867", - "26728_ord": "\u6868", - "26729_ord": "\u6869", - "26742_ord": "\u6876", - "26753_ord": "\u6881", - "26755_ord": "\u6883", - "26757_ord": "\u6885", - "26758_ord": "\u6886", - "26767_ord": "\u688f", - "26771_ord": "\u6893", - "26775_ord": "\u6897", - "26786_ord": "\u68a2", - "26790_ord": "\u68a6", - "26791_ord": "\u68a7", - "26792_ord": "\u68a8", - "26797_ord": "\u68ad", - "26799_ord": "\u68af", - "26800_ord": "\u68b0", - "26803_ord": "\u68b3", - "26805_ord": "\u68b5", - "26816_ord": "\u68c0", - "26818_ord": "\u68c2", - "26825_ord": "\u68c9", - "26827_ord": "\u68cb", - "26829_ord": "\u68cd", - "26834_ord": "\u68d2", - "26835_ord": "\u68d3", - "26837_ord": "\u68d5", - "26840_ord": "\u68d8", - "26842_ord": "\u68da", - "26848_ord": "\u68e0", - "26851_ord": "\u68e3", - "26862_ord": "\u68ee", - "26864_ord": "\u68f0", - "26865_ord": "\u68f1", - "26869_ord": "\u68f5", - "26873_ord": "\u68f9", - "26874_ord": "\u68fa", - "26880_ord": "\u6900", - "26881_ord": "\u6901", - "26885_ord": "\u6905", - "26893_ord": "\u690d", - "26894_ord": "\u690e", - "26896_ord": "\u6910", - "26898_ord": "\u6912", - "26911_ord": "\u691f", - "26925_ord": "\u692d", - "26928_ord": "\u6930", - "26937_ord": "\u6939", - "26941_ord": "\u693d", - "26943_ord": "\u693f", - "26946_ord": "\u6942", - "26964_ord": "\u6954", - "26967_ord": "\u6957", - "26970_ord": "\u695a", - "26974_ord": "\u695e", - "26976_ord": "\u6960", - "26979_ord": "\u6963", - "26987_ord": "\u696b", - "26990_ord": "\u696e", - "26999_ord": "\u6977", - "27000_ord": "\u6978", - "27001_ord": "\u6979", - "27004_ord": "\u697c", - "27010_ord": "\u6982", - "27012_ord": "\u6984", - "27014_ord": "\u6986", - "27015_ord": "\u6987", - "27016_ord": "\u6988", - "27028_ord": "\u6994", - "27029_ord": "\u6995", - "27035_ord": "\u699b", - "27036_ord": "\u699c", - "27047_ord": "\u69a7", - "27048_ord": "\u69a8", - "27051_ord": "\u69ab", - "27053_ord": "\u69ad", - "27057_ord": "\u69b1", - "27060_ord": "\u69b4", - "27063_ord": "\u69b7", - "27067_ord": "\u69bb", - "27068_ord": "\u69bc", - "27073_ord": "\u69c1", - "27075_ord": "\u69c3", - "27082_ord": "\u69ca", - "27084_ord": "\u69cc", - "27088_ord": "\u69d0", - "27099_ord": "\u69db", - "27103_ord": "\u69df", - "27133_ord": "\u69fd", - "27135_ord": "\u69ff", - "27146_ord": "\u6a0a", - "27159_ord": "\u6a17", - "27167_ord": "\u6a1f", - "27169_ord": "\u6a21", - "27178_ord": "\u6a2a", - "27183_ord": "\u6a2f", - "27185_ord": "\u6a31", - "27189_ord": "\u6a35", - "27197_ord": "\u6a3d", - "27198_ord": "\u6a3e", - "27204_ord": "\u6a44", - "27207_ord": "\u6a47", - "27216_ord": "\u6a50", - "27224_ord": "\u6a58", - "27225_ord": "\u6a59", - "27233_ord": "\u6a61", - "27249_ord": "\u6a71", - "27257_ord": "\u6a79", - "27264_ord": "\u6a80", - "27268_ord": "\u6a84", - "27280_ord": "\u6a90", - "27296_ord": "\u6aa0", - "27308_ord": "\u6aac", - "27424_ord": "\u6b20", - "27425_ord": "\u6b21", - "27426_ord": "\u6b22", - "27427_ord": "\u6b23", - "27428_ord": "\u6b24", - "27431_ord": "\u6b27", - "27442_ord": "\u6b32", - "27447_ord": "\u6b37", - "27450_ord": "\u6b3a", - "27451_ord": "\u6b3b", - "27454_ord": "\u6b3e", - "27462_ord": "\u6b46", - "27463_ord": "\u6b47", - "27465_ord": "\u6b49", - "27468_ord": "\u6b4c", - "27476_ord": "\u6b54", - "27480_ord": "\u6b58", - "27481_ord": "\u6b59", - "27490_ord": "\u6b62", - "27491_ord": "\u6b63", - "27492_ord": "\u6b64", - "27493_ord": "\u6b65", - "27494_ord": "\u6b66", - "27495_ord": "\u6b67", - "27498_ord": "\u6b6a", - "27513_ord": "\u6b79", - "27515_ord": "\u6b7b", - "27516_ord": "\u6b7c", - "27521_ord": "\u6b81", - "27522_ord": "\u6b82", - "27523_ord": "\u6b83", - "27524_ord": "\u6b84", - "27526_ord": "\u6b86", - "27527_ord": "\u6b87", - "27529_ord": "\u6b89", - "27530_ord": "\u6b8a", - "27531_ord": "\u6b8b", - "27538_ord": "\u6b92", - "27539_ord": "\u6b93", - "27542_ord": "\u6b96", - "27546_ord": "\u6b9a", - "27547_ord": "\u6b9b", - "27553_ord": "\u6ba1", - "27562_ord": "\u6baa", - "27572_ord": "\u6bb4", - "27573_ord": "\u6bb5", - "27575_ord": "\u6bb7", - "27581_ord": "\u6bbd", - "27583_ord": "\u6bbf", - "27585_ord": "\u6bc1", - "27586_ord": "\u6bc2", - "27589_ord": "\u6bc5", - "27595_ord": "\u6bcb", - "27597_ord": "\u6bcd", - "27599_ord": "\u6bcf", - "27602_ord": "\u6bd2", - "27603_ord": "\u6bd3", - "27604_ord": "\u6bd4", - "27605_ord": "\u6bd5", - "27607_ord": "\u6bd7", - "27609_ord": "\u6bd9", - "27611_ord": "\u6bdb", - "27617_ord": "\u6be1", - "27627_ord": "\u6beb", - "27631_ord": "\u6bef", - "27653_ord": "\u6c05", - "27654_ord": "\u6c06", - "27655_ord": "\u6c07", - "27663_ord": "\u6c0f", - "27664_ord": "\u6c10", - "27665_ord": "\u6c11", - "27667_ord": "\u6c13", - "27668_ord": "\u6c14", - "27670_ord": "\u6c16", - "27675_ord": "\u6c1b", - "27679_ord": "\u6c1f", - "27681_ord": "\u6c21", - "27682_ord": "\u6c22", - "27684_ord": "\u6c24", - "27686_ord": "\u6c26", - "27687_ord": "\u6c27", - "27688_ord": "\u6c28", - "27689_ord": "\u6c29", - "27694_ord": "\u6c2e", - "27695_ord": "\u6c2f", - "27696_ord": "\u6c30", - "27698_ord": "\u6c32", - "27700_ord": "\u6c34", - "27704_ord": "\u6c38", - "27712_ord": "\u6c40", - "27713_ord": "\u6c41", - "27714_ord": "\u6c42", - "27719_ord": "\u6c47", - "27721_ord": "\u6c49", - "27728_ord": "\u6c50", - "27733_ord": "\u6c55", - "27735_ord": "\u6c57", - "27739_ord": "\u6c5b", - "27740_ord": "\u6c5c", - "27741_ord": "\u6c5d", - "27742_ord": "\u6c5e", - "27743_ord": "\u6c5f", - "27744_ord": "\u6c60", - "27745_ord": "\u6c61", - "27748_ord": "\u6c64", - "27752_ord": "\u6c68", - "27753_ord": "\u6c69", - "27754_ord": "\u6c6a", - "27757_ord": "\u6c6d", - "27760_ord": "\u6c70", - "27762_ord": "\u6c72", - "27764_ord": "\u6c74", - "27766_ord": "\u6c76", - "27769_ord": "\u6c79", - "27773_ord": "\u6c7d", - "27774_ord": "\u6c7e", - "27777_ord": "\u6c81", - "27778_ord": "\u6c82", - "27779_ord": "\u6c83", - "27781_ord": "\u6c85", - "27784_ord": "\u6c88", - "27785_ord": "\u6c89", - "27788_ord": "\u6c8c", - "27792_ord": "\u6c90", - "27795_ord": "\u6c93", - "27796_ord": "\u6c94", - "27801_ord": "\u6c99", - "27803_ord": "\u6c9b", - "27807_ord": "\u6c9f", - "27809_ord": "\u6ca1", - "27811_ord": "\u6ca3", - "27813_ord": "\u6ca5", - "27814_ord": "\u6ca6", - "27815_ord": "\u6ca7", - "27818_ord": "\u6caa", - "27819_ord": "\u6cab", - "27820_ord": "\u6cac", - "27822_ord": "\u6cae", - "27825_ord": "\u6cb1", - "27827_ord": "\u6cb3", - "27832_ord": "\u6cb8", - "27833_ord": "\u6cb9", - "27835_ord": "\u6cbb", - "27836_ord": "\u6cbc", - "27837_ord": "\u6cbd", - "27838_ord": "\u6cbe", - "27839_ord": "\u6cbf", - "27844_ord": "\u6cc4", - "27845_ord": "\u6cc5", - "27849_ord": "\u6cc9", - "27850_ord": "\u6cca", - "27852_ord": "\u6ccc", - "27859_ord": "\u6cd3", - "27861_ord": "\u6cd5", - "27863_ord": "\u6cd7", - "27867_ord": "\u6cdb", - "27870_ord": "\u6cde", - "27872_ord": "\u6ce0", - "27873_ord": "\u6ce1", - "27874_ord": "\u6ce2", - "27875_ord": "\u6ce3", - "27877_ord": "\u6ce5", - "27880_ord": "\u6ce8", - "27882_ord": "\u6cea", - "27883_ord": "\u6ceb", - "27886_ord": "\u6cee", - "27887_ord": "\u6cef", - "27888_ord": "\u6cf0", - "27889_ord": "\u6cf1", - "27891_ord": "\u6cf3", - "27893_ord": "\u6cf5", - "27895_ord": "\u6cf7", - "27896_ord": "\u6cf8", - "27899_ord": "\u6cfb", - "27900_ord": "\u6cfc", - "27901_ord": "\u6cfd", - "27902_ord": "\u6cfe", - "27905_ord": "\u6d01", - "27915_ord": "\u6d0b", - "27922_ord": "\u6d12", - "27927_ord": "\u6d17", - "27929_ord": "\u6d19", - "27931_ord": "\u6d1b", - "27934_ord": "\u6d1e", - "27935_ord": "\u6d1f", - "27941_ord": "\u6d25", - "27946_ord": "\u6d2a", - "27950_ord": "\u6d2e", - "27953_ord": "\u6d31", - "27954_ord": "\u6d32", - "27961_ord": "\u6d39", - "27963_ord": "\u6d3b", - "27964_ord": "\u6d3c", - "27965_ord": "\u6d3d", - "27966_ord": "\u6d3e", - "27969_ord": "\u6d41", - "27971_ord": "\u6d43", - "27973_ord": "\u6d45", - "27974_ord": "\u6d46", - "27975_ord": "\u6d47", - "27978_ord": "\u6d4a", - "27979_ord": "\u6d4b", - "27981_ord": "\u6d4d", - "27982_ord": "\u6d4e", - "27983_ord": "\u6d4f", - "27984_ord": "\u6d50", - "27985_ord": "\u6d51", - "27986_ord": "\u6d52", - "27987_ord": "\u6d53", - "27988_ord": "\u6d54", - "27993_ord": "\u6d59", - "27994_ord": "\u6d5a", - "27996_ord": "\u6d5c", - "27998_ord": "\u6d5e", - "28003_ord": "\u6d63", - "28006_ord": "\u6d66", - "28009_ord": "\u6d69", - "28010_ord": "\u6d6a", - "28014_ord": "\u6d6e", - "28020_ord": "\u6d74", - "28023_ord": "\u6d77", - "28024_ord": "\u6d78", - "28028_ord": "\u6d7c", - "28034_ord": "\u6d82", - "28037_ord": "\u6d85", - "28040_ord": "\u6d88", - "28041_ord": "\u6d89", - "28044_ord": "\u6d8c", - "28046_ord": "\u6d8e", - "28051_ord": "\u6d93", - "28052_ord": "\u6d94", - "28053_ord": "\u6d95", - "28059_ord": "\u6d9b", - "28061_ord": "\u6d9d", - "28063_ord": "\u6d9f", - "28065_ord": "\u6da1", - "28067_ord": "\u6da3", - "28068_ord": "\u6da4", - "28070_ord": "\u6da6", - "28071_ord": "\u6da7", - "28072_ord": "\u6da8", - "28073_ord": "\u6da9", - "28074_ord": "\u6daa", - "28078_ord": "\u6dae", - "28079_ord": "\u6daf", - "28082_ord": "\u6db2", - "28085_ord": "\u6db5", - "28088_ord": "\u6db8", - "28095_ord": "\u6dbf", - "28096_ord": "\u6dc0", - "28100_ord": "\u6dc4", - "28101_ord": "\u6dc5", - "28102_ord": "\u6dc6", - "28103_ord": "\u6dc7", - "28107_ord": "\u6dcb", - "28108_ord": "\u6dcc", - "28113_ord": "\u6dd1", - "28118_ord": "\u6dd6", - "28120_ord": "\u6dd8", - "28121_ord": "\u6dd9", - "28126_ord": "\u6dde", - "28129_ord": "\u6de1", - "28132_ord": "\u6de4", - "28139_ord": "\u6deb", - "28140_ord": "\u6dec", - "28142_ord": "\u6dee", - "28145_ord": "\u6df1", - "28147_ord": "\u6df3", - "28151_ord": "\u6df7", - "28153_ord": "\u6df9", - "28155_ord": "\u6dfb", - "28156_ord": "\u6dfc", - "28165_ord": "\u6e05", - "28170_ord": "\u6e0a", - "28173_ord": "\u6e0d", - "28174_ord": "\u6e0e", - "28176_ord": "\u6e10", - "28177_ord": "\u6e11", - "28180_ord": "\u6e14", - "28182_ord": "\u6e16", - "28183_ord": "\u6e17", - "28186_ord": "\u6e1a", - "28189_ord": "\u6e1d", - "28192_ord": "\u6e20", - "28193_ord": "\u6e21", - "28195_ord": "\u6e23", - "28196_ord": "\u6e24", - "28197_ord": "\u6e25", - "28201_ord": "\u6e29", - "28205_ord": "\u6e2d", - "28207_ord": "\u6e2f", - "28210_ord": "\u6e32", - "28212_ord": "\u6e34", - "28216_ord": "\u6e38", - "28218_ord": "\u6e3a", - "28227_ord": "\u6e43", - "28228_ord": "\u6e44", - "28237_ord": "\u6e4d", - "28238_ord": "\u6e4e", - "28246_ord": "\u6e56", - "28248_ord": "\u6e58", - "28251_ord": "\u6e5b", - "28255_ord": "\u6e5f", - "28267_ord": "\u6e6b", - "28270_ord": "\u6e6e", - "28286_ord": "\u6e7e", - "28287_ord": "\u6e7f", - "28291_ord": "\u6e83", - "28293_ord": "\u6e85", - "28297_ord": "\u6e89", - "28301_ord": "\u6e8d", - "28304_ord": "\u6e90", - "28316_ord": "\u6e9c", - "28319_ord": "\u6e9f", - "28322_ord": "\u6ea2", - "28325_ord": "\u6ea5", - "28327_ord": "\u6ea7", - "28330_ord": "\u6eaa", - "28335_ord": "\u6eaf", - "28338_ord": "\u6eb2", - "28340_ord": "\u6eb4", - "28342_ord": "\u6eb6", - "28343_ord": "\u6eb7", - "28346_ord": "\u6eba", - "28353_ord": "\u6ec1", - "28354_ord": "\u6ec2", - "28359_ord": "\u6ec7", - "28360_ord": "\u6ec8", - "28363_ord": "\u6ecb", - "28369_ord": "\u6ed1", - "28371_ord": "\u6ed3", - "28372_ord": "\u6ed4", - "28373_ord": "\u6ed5", - "28378_ord": "\u6eda", - "28382_ord": "\u6ede", - "28385_ord": "\u6ee1", - "28388_ord": "\u6ee4", - "28389_ord": "\u6ee5", - "28390_ord": "\u6ee6", - "28392_ord": "\u6ee8", - "28393_ord": "\u6ee9", - "28404_ord": "\u6ef4", - "28418_ord": "\u6f02", - "28422_ord": "\u6f06", - "28425_ord": "\u6f09", - "28431_ord": "\u6f0f", - "28435_ord": "\u6f13", - "28436_ord": "\u6f14", - "28437_ord": "\u6f15", - "28448_ord": "\u6f20", - "28457_ord": "\u6f29", - "28458_ord": "\u6f2a", - "28459_ord": "\u6f2b", - "28463_ord": "\u6f2f", - "28465_ord": "\u6f31", - "28467_ord": "\u6f33", - "28478_ord": "\u6f3e", - "28487_ord": "\u6f47", - "28493_ord": "\u6f4d", - "28504_ord": "\u6f58", - "28508_ord": "\u6f5c", - "28510_ord": "\u6f5e", - "28514_ord": "\u6f62", - "28518_ord": "\u6f66", - "28525_ord": "\u6f6d", - "28526_ord": "\u6f6e", - "28532_ord": "\u6f74", - "28536_ord": "\u6f78", - "28538_ord": "\u6f7a", - "28540_ord": "\u6f7c", - "28548_ord": "\u6f84", - "28552_ord": "\u6f88", - "28557_ord": "\u6f8d", - "28558_ord": "\u6f8e", - "28572_ord": "\u6f9c", - "28577_ord": "\u6fa1", - "28583_ord": "\u6fa7", - "28595_ord": "\u6fb3", - "28601_ord": "\u6fb9", - "28608_ord": "\u6fc0", - "28610_ord": "\u6fc2", - "28625_ord": "\u6fd1", - "28626_ord": "\u6fd2", - "28638_ord": "\u6fde", - "28640_ord": "\u6fe0", - "28641_ord": "\u6fe1", - "28654_ord": "\u6fee", - "28655_ord": "\u6fef", - "28689_ord": "\u7011", - "28698_ord": "\u701a", - "28699_ord": "\u701b", - "28729_ord": "\u7039", - "28748_ord": "\u704c", - "28766_ord": "\u705e", - "28779_ord": "\u706b", - "28781_ord": "\u706d", - "28783_ord": "\u706f", - "28784_ord": "\u7070", - "28789_ord": "\u7075", - "28790_ord": "\u7076", - "28792_ord": "\u7078", - "28796_ord": "\u707c", - "28798_ord": "\u707e", - "28799_ord": "\u707f", - "28800_ord": "\u7080", - "28809_ord": "\u7089", - "28810_ord": "\u708a", - "28814_ord": "\u708e", - "28818_ord": "\u7092", - "28820_ord": "\u7094", - "28821_ord": "\u7095", - "28822_ord": "\u7096", - "28825_ord": "\u7099", - "28828_ord": "\u709c", - "28831_ord": "\u709f", - "28843_ord": "\u70ab", - "28844_ord": "\u70ac", - "28845_ord": "\u70ad", - "28846_ord": "\u70ae", - "28847_ord": "\u70af", - "28851_ord": "\u70b3", - "28855_ord": "\u70b7", - "28856_ord": "\u70b8", - "28857_ord": "\u70b9", - "28860_ord": "\u70bc", - "28861_ord": "\u70bd", - "28865_ord": "\u70c1", - "28866_ord": "\u70c2", - "28872_ord": "\u70c8", - "28888_ord": "\u70d8", - "28889_ord": "\u70d9", - "28891_ord": "\u70db", - "28892_ord": "\u70dc", - "28893_ord": "\u70dd", - "28895_ord": "\u70df", - "28900_ord": "\u70e4", - "28902_ord": "\u70e6", - "28903_ord": "\u70e7", - "28904_ord": "\u70e8", - "28905_ord": "\u70e9", - "28907_ord": "\u70eb", - "28908_ord": "\u70ec", - "28909_ord": "\u70ed", - "28911_ord": "\u70ef", - "28919_ord": "\u70f7", - "28921_ord": "\u70f9", - "28925_ord": "\u70fd", - "28937_ord": "\u7109", - "28938_ord": "\u710a", - "28949_ord": "\u7115", - "28950_ord": "\u7116", - "28952_ord": "\u7118", - "28953_ord": "\u7119", - "28954_ord": "\u711a", - "28956_ord": "\u711c", - "28966_ord": "\u7126", - "28975_ord": "\u712f", - "28976_ord": "\u7130", - "28977_ord": "\u7131", - "28982_ord": "\u7136", - "28997_ord": "\u7145", - "29002_ord": "\u714a", - "29004_ord": "\u714c", - "29006_ord": "\u714e", - "29020_ord": "\u715c", - "29022_ord": "\u715e", - "29028_ord": "\u7164", - "29030_ord": "\u7166", - "29031_ord": "\u7167", - "29032_ord": "\u7168", - "29038_ord": "\u716e", - "29042_ord": "\u7172", - "29053_ord": "\u717d", - "29060_ord": "\u7184", - "29066_ord": "\u718a", - "29071_ord": "\u718f", - "29076_ord": "\u7194", - "29081_ord": "\u7199", - "29087_ord": "\u719f", - "29088_ord": "\u71a0", - "29096_ord": "\u71a8", - "29100_ord": "\u71ac", - "29113_ord": "\u71b9", - "29123_ord": "\u71c3", - "29134_ord": "\u71ce", - "29140_ord": "\u71d4", - "29141_ord": "\u71d5", - "29152_ord": "\u71e0", - "29157_ord": "\u71e5", - "29159_ord": "\u71e7", - "29166_ord": "\u71ee", - "29177_ord": "\u71f9", - "29190_ord": "\u7206", - "29191_ord": "\u7207", - "29224_ord": "\u7228", - "29226_ord": "\u722a", - "29228_ord": "\u722c", - "29232_ord": "\u7230", - "29233_ord": "\u7231", - "29234_ord": "\u7232", - "29237_ord": "\u7235", - "29238_ord": "\u7236", - "29239_ord": "\u7237", - "29240_ord": "\u7238", - "29241_ord": "\u7239", - "29243_ord": "\u723b", - "29245_ord": "\u723d", - "29255_ord": "\u7247", - "29256_ord": "\u7248", - "29260_ord": "\u724c", - "29261_ord": "\u724d", - "29266_ord": "\u7252", - "29270_ord": "\u7256", - "29273_ord": "\u7259", - "29275_ord": "\u725b", - "29277_ord": "\u725d", - "29279_ord": "\u725f", - "29281_ord": "\u7261", - "29282_ord": "\u7262", - "29286_ord": "\u7266", - "29287_ord": "\u7267", - "29289_ord": "\u7269", - "29295_ord": "\u726f", - "29298_ord": "\u7272", - "29301_ord": "\u7275", - "29305_ord": "\u7279", - "29306_ord": "\u727a", - "29312_ord": "\u7280", - "29313_ord": "\u7281", - "29322_ord": "\u728a", - "29325_ord": "\u728d", - "29330_ord": "\u7292", - "29356_ord": "\u72ac", - "29359_ord": "\u72af", - "29364_ord": "\u72b4", - "29366_ord": "\u72b6", - "29367_ord": "\u72b7", - "29369_ord": "\u72b9", - "29377_ord": "\u72c1", - "29378_ord": "\u72c2", - "29379_ord": "\u72c3", - "29380_ord": "\u72c4", - "29384_ord": "\u72c8", - "29390_ord": "\u72ce", - "29392_ord": "\u72d0", - "29394_ord": "\u72d2", - "29399_ord": "\u72d7", - "29401_ord": "\u72d9", - "29405_ord": "\u72dd", - "29406_ord": "\u72de", - "29408_ord": "\u72e0", - "29409_ord": "\u72e1", - "29417_ord": "\u72e9", - "29420_ord": "\u72ec", - "29421_ord": "\u72ed", - "29422_ord": "\u72ee", - "29424_ord": "\u72f0", - "29425_ord": "\u72f1", - "29426_ord": "\u72f2", - "29432_ord": "\u72f8", - "29435_ord": "\u72fb", - "29436_ord": "\u72fc", - "29443_ord": "\u7303", - "29450_ord": "\u730a", - "29454_ord": "\u730e", - "29461_ord": "\u7315", - "29462_ord": "\u7316", - "29463_ord": "\u7317", - "29467_ord": "\u731b", - "29468_ord": "\u731c", - "29469_ord": "\u731d", - "29474_ord": "\u7322", - "29477_ord": "\u7325", - "29481_ord": "\u7329", - "29482_ord": "\u732a", - "29483_ord": "\u732b", - "29484_ord": "\u732c", - "29486_ord": "\u732e", - "29489_ord": "\u7331", - "29492_ord": "\u7334", - "29495_ord": "\u7337", - "29502_ord": "\u733e", - "29503_ord": "\u733f", - "29520_ord": "\u7350", - "29527_ord": "\u7357", - "29536_ord": "\u7360", - "29548_ord": "\u736c", - "29549_ord": "\u736d", - "29566_ord": "\u737e", - "29572_ord": "\u7384", - "29575_ord": "\u7387", - "29577_ord": "\u7389", - "29579_ord": "\u738b", - "29585_ord": "\u7391", - "29589_ord": "\u7395", - "29595_ord": "\u739b", - "29606_ord": "\u73a6", - "29609_ord": "\u73a9", - "29611_ord": "\u73ab", - "29614_ord": "\u73ae", - "29615_ord": "\u73af", - "29616_ord": "\u73b0", - "29618_ord": "\u73b2", - "29619_ord": "\u73b3", - "29623_ord": "\u73b7", - "29626_ord": "\u73ba", - "29627_ord": "\u73bb", - "29632_ord": "\u73c0", - "29634_ord": "\u73c2", - "29637_ord": "\u73c5", - "29640_ord": "\u73c8", - "29642_ord": "\u73ca", - "29645_ord": "\u73cd", - "29647_ord": "\u73cf", - "29648_ord": "\u73d0", - "29649_ord": "\u73d1", - "29662_ord": "\u73de", - "29664_ord": "\u73e0", - "29669_ord": "\u73e5", - "29673_ord": "\u73e9", - "29674_ord": "\u73ea", - "29677_ord": "\u73ed", - "29678_ord": "\u73ee", - "29680_ord": "\u73f0", - "29699_ord": "\u7403", - "29701_ord": "\u7405", - "29702_ord": "\u7406", - "29705_ord": "\u7409", - "29711_ord": "\u740f", - "29712_ord": "\u7410", - "29718_ord": "\u7416", - "29723_ord": "\u741b", - "29730_ord": "\u7422", - "29733_ord": "\u7425", - "29734_ord": "\u7426", - "29736_ord": "\u7428", - "29738_ord": "\u742a", - "29742_ord": "\u742e", - "29744_ord": "\u7430", - "29747_ord": "\u7433", - "29748_ord": "\u7434", - "29749_ord": "\u7435", - "29750_ord": "\u7436", - "29756_ord": "\u743c", - "29761_ord": "\u7441", - "29781_ord": "\u7455", - "29785_ord": "\u7459", - "29786_ord": "\u745a", - "29787_ord": "\u745b", - "29788_ord": "\u745c", - "29790_ord": "\u745e", - "29791_ord": "\u745f", - "29808_ord": "\u7470", - "29814_ord": "\u7476", - "29822_ord": "\u747e", - "29824_ord": "\u7480", - "29827_ord": "\u7483", - "29830_ord": "\u7486", - "29831_ord": "\u7487", - "29835_ord": "\u748b", - "29840_ord": "\u7490", - "29852_ord": "\u749c", - "29854_ord": "\u749e", - "29855_ord": "\u749f", - "29863_ord": "\u74a7", - "29864_ord": "\u74a8", - "29906_ord": "\u74d2", - "29916_ord": "\u74dc", - "29920_ord": "\u74e0", - "29922_ord": "\u74e2", - "29923_ord": "\u74e3", - "29926_ord": "\u74e6", - "29934_ord": "\u74ee", - "29935_ord": "\u74ef", - "29940_ord": "\u74f4", - "29942_ord": "\u74f6", - "29943_ord": "\u74f7", - "29947_ord": "\u74fb", - "29956_ord": "\u7504", - "29969_ord": "\u7511", - "29976_ord": "\u7518", - "29977_ord": "\u7519", - "29978_ord": "\u751a", - "29980_ord": "\u751c", - "29983_ord": "\u751f", - "29987_ord": "\u7523", - "29989_ord": "\u7525", - "29992_ord": "\u7528", - "29993_ord": "\u7529", - "29995_ord": "\u752b", - "29996_ord": "\u752c", - "29997_ord": "\u752d", - "30000_ord": "\u7530", - "30001_ord": "\u7531", - "30002_ord": "\u7532", - "30003_ord": "\u7533", - "30005_ord": "\u7535", - "30007_ord": "\u7537", - "30008_ord": "\u7538", - "30010_ord": "\u753a", - "30011_ord": "\u753b", - "30014_ord": "\u753e", - "30016_ord": "\u7540", - "30021_ord": "\u7545", - "30028_ord": "\u754c", - "30030_ord": "\u754e", - "30031_ord": "\u754f", - "30033_ord": "\u7551", - "30036_ord": "\u7554", - "30041_ord": "\u7559", - "30044_ord": "\u755c", - "30053_ord": "\u7565", - "30054_ord": "\u7566", - "30058_ord": "\u756a", - "30066_ord": "\u7572", - "30068_ord": "\u7574", - "30072_ord": "\u7578", - "30079_ord": "\u757f", - "30083_ord": "\u7583", - "30086_ord": "\u7586", - "30091_ord": "\u758b", - "30095_ord": "\u758f", - "30097_ord": "\u7591", - "30103_ord": "\u7597", - "30105_ord": "\u7599", - "30106_ord": "\u759a", - "30109_ord": "\u759d", - "30111_ord": "\u759f", - "30113_ord": "\u75a1", - "30115_ord": "\u75a3", - "30116_ord": "\u75a4", - "30117_ord": "\u75a5", - "30123_ord": "\u75ab", - "30126_ord": "\u75ae", - "30127_ord": "\u75af", - "30129_ord": "\u75b1", - "30130_ord": "\u75b2", - "30132_ord": "\u75b4", - "30133_ord": "\u75b5", - "30136_ord": "\u75b8", - "30137_ord": "\u75b9", - "30140_ord": "\u75bc", - "30141_ord": "\u75bd", - "30142_ord": "\u75be", - "30146_ord": "\u75c2", - "30149_ord": "\u75c5", - "30151_ord": "\u75c7", - "30152_ord": "\u75c8", - "30153_ord": "\u75c9", - "30154_ord": "\u75ca", - "30157_ord": "\u75cd", - "30162_ord": "\u75d2", - "30164_ord": "\u75d4", - "30165_ord": "\u75d5", - "30168_ord": "\u75d8", - "30171_ord": "\u75db", - "30174_ord": "\u75de", - "30178_ord": "\u75e2", - "30179_ord": "\u75e3", - "30180_ord": "\u75e4", - "30183_ord": "\u75e7", - "30186_ord": "\u75ea", - "30187_ord": "\u75eb", - "30192_ord": "\u75f0", - "30196_ord": "\u75f4", - "30201_ord": "\u75f9", - "30204_ord": "\u75fc", - "30207_ord": "\u75ff", - "30208_ord": "\u7600", - "30209_ord": "\u7601", - "30224_ord": "\u7610", - "30231_ord": "\u7617", - "30232_ord": "\u7618", - "30233_ord": "\u7619", - "30239_ord": "\u761f", - "30240_ord": "\u7620", - "30242_ord": "\u7622", - "30244_ord": "\u7624", - "30245_ord": "\u7625", - "30246_ord": "\u7626", - "30249_ord": "\u7629", - "30250_ord": "\u762a", - "30251_ord": "\u762b", - "30259_ord": "\u7633", - "30260_ord": "\u7634", - "30261_ord": "\u7635", - "30264_ord": "\u7638", - "30270_ord": "\u763e", - "30272_ord": "\u7640", - "30284_ord": "\u764c", - "30292_ord": "\u7654", - "30294_ord": "\u7656", - "30300_ord": "\u765c", - "30302_ord": "\u765e", - "30307_ord": "\u7663", - "30315_ord": "\u766b", - "30328_ord": "\u7678", - "30331_ord": "\u767b", - "30333_ord": "\u767d", - "30334_ord": "\u767e", - "30337_ord": "\u7681", - "30338_ord": "\u7682", - "30340_ord": "\u7684", - "30342_ord": "\u7686", - "30343_ord": "\u7687", - "30344_ord": "\u7688", - "30347_ord": "\u768b", - "30350_ord": "\u768e", - "30353_ord": "\u7691", - "30355_ord": "\u7693", - "30358_ord": "\u7696", - "30361_ord": "\u7699", - "30372_ord": "\u76a4", - "30382_ord": "\u76ae", - "30385_ord": "\u76b1", - "30388_ord": "\u76b4", - "30399_ord": "\u76bf", - "30402_ord": "\u76c2", - "30405_ord": "\u76c5", - "30406_ord": "\u76c6", - "30408_ord": "\u76c8", - "30410_ord": "\u76ca", - "30413_ord": "\u76cd", - "30414_ord": "\u76ce", - "30415_ord": "\u76cf", - "30416_ord": "\u76d0", - "30417_ord": "\u76d1", - "30418_ord": "\u76d2", - "30420_ord": "\u76d4", - "30422_ord": "\u76d6", - "30423_ord": "\u76d7", - "30424_ord": "\u76d8", - "30427_ord": "\u76db", - "30431_ord": "\u76df", - "30437_ord": "\u76e5", - "30446_ord": "\u76ee", - "30447_ord": "\u76ef", - "30449_ord": "\u76f1", - "30450_ord": "\u76f2", - "30452_ord": "\u76f4", - "30456_ord": "\u76f8", - "30457_ord": "\u76f9", - "30460_ord": "\u76fc", - "30462_ord": "\u76fe", - "30465_ord": "\u7701", - "30471_ord": "\u7707", - "30472_ord": "\u7708", - "30473_ord": "\u7709", - "30475_ord": "\u770b", - "30489_ord": "\u7719", - "30491_ord": "\u771b", - "30495_ord": "\u771f", - "30496_ord": "\u7720", - "30498_ord": "\u7722", - "30502_ord": "\u7726", - "30504_ord": "\u7728", - "30505_ord": "\u7729", - "30511_ord": "\u772f", - "30518_ord": "\u7736", - "30519_ord": "\u7737", - "30520_ord": "\u7738", - "30522_ord": "\u773a", - "30524_ord": "\u773c", - "30528_ord": "\u7740", - "30529_ord": "\u7741", - "30535_ord": "\u7747", - "30544_ord": "\u7750", - "30545_ord": "\u7751", - "30546_ord": "\u7752", - "30554_ord": "\u775a", - "30555_ord": "\u775b", - "30561_ord": "\u7761", - "30562_ord": "\u7762", - "30563_ord": "\u7763", - "30566_ord": "\u7766", - "30568_ord": "\u7768", - "30570_ord": "\u776a", - "30571_ord": "\u776b", - "30572_ord": "\u776c", - "30585_ord": "\u7779", - "30589_ord": "\u777d", - "30590_ord": "\u777e", - "30591_ord": "\u777f", - "30592_ord": "\u7780", - "30596_ord": "\u7784", - "30597_ord": "\u7785", - "30603_ord": "\u778b", - "30604_ord": "\u778c", - "30606_ord": "\u778e", - "30609_ord": "\u7791", - "30610_ord": "\u7792", - "30623_ord": "\u779f", - "30624_ord": "\u77a0", - "30629_ord": "\u77a5", - "30631_ord": "\u77a7", - "30633_ord": "\u77a9", - "30634_ord": "\u77aa", - "30636_ord": "\u77ac", - "30637_ord": "\u77ad", - "30640_ord": "\u77b0", - "30643_ord": "\u77b3", - "30651_ord": "\u77bb", - "30653_ord": "\u77bd", - "30654_ord": "\u77be", - "30655_ord": "\u77bf", - "30679_ord": "\u77d7", - "30683_ord": "\u77db", - "30684_ord": "\u77dc", - "30690_ord": "\u77e2", - "30691_ord": "\u77e3", - "30693_ord": "\u77e5", - "30697_ord": "\u77e9", - "30699_ord": "\u77eb", - "30701_ord": "\u77ed", - "30702_ord": "\u77ee", - "30707_ord": "\u77f3", - "30710_ord": "\u77f6", - "30717_ord": "\u77fd", - "30718_ord": "\u77fe", - "30719_ord": "\u77ff", - "30720_ord": "\u7800", - "30721_ord": "\u7801", - "30722_ord": "\u7802", - "30732_ord": "\u780c", - "30733_ord": "\u780d", - "30738_ord": "\u7812", - "30740_ord": "\u7814", - "30742_ord": "\u7816", - "30746_ord": "\u781a", - "30749_ord": "\u781d", - "30755_ord": "\u7823", - "30757_ord": "\u7825", - "30759_ord": "\u7827", - "30765_ord": "\u782d", - "30768_ord": "\u7830", - "30772_ord": "\u7834", - "30775_ord": "\u7837", - "30776_ord": "\u7838", - "30778_ord": "\u783a", - "30782_ord": "\u783e", - "30784_ord": "\u7840", - "30789_ord": "\u7845", - "30802_ord": "\u7852", - "30805_ord": "\u7855", - "30813_ord": "\u785d", - "30827_ord": "\u786b", - "30828_ord": "\u786c", - "30830_ord": "\u786e", - "30844_ord": "\u787c", - "30849_ord": "\u7881", - "30857_ord": "\u7889", - "30860_ord": "\u788c", - "30861_ord": "\u788d", - "30862_ord": "\u788e", - "30865_ord": "\u7891", - "30867_ord": "\u7893", - "30871_ord": "\u7897", - "30872_ord": "\u7898", - "30875_ord": "\u789b", - "30879_ord": "\u789f", - "30883_ord": "\u78a3", - "30887_ord": "\u78a7", - "30896_ord": "\u78b0", - "30897_ord": "\u78b1", - "30899_ord": "\u78b3", - "30900_ord": "\u78b4", - "30910_ord": "\u78be", - "30913_ord": "\u78c1", - "30917_ord": "\u78c5", - "30922_ord": "\u78ca", - "30923_ord": "\u78cb", - "30928_ord": "\u78d0", - "30932_ord": "\u78d4", - "30933_ord": "\u78d5", - "30939_ord": "\u78db", - "30952_ord": "\u78e8", - "30956_ord": "\u78ec", - "30967_ord": "\u78f7", - "30970_ord": "\u78fa", - "30977_ord": "\u7901", - "31028_ord": "\u7934", - "31034_ord": "\u793a", - "31035_ord": "\u793b", - "31036_ord": "\u793c", - "31038_ord": "\u793e", - "31040_ord": "\u7940", - "31041_ord": "\u7941", - "31047_ord": "\u7947", - "31048_ord": "\u7948", - "31049_ord": "\u7949", - "31054_ord": "\u794e", - "31056_ord": "\u7950", - "31059_ord": "\u7953", - "31062_ord": "\u7956", - "31063_ord": "\u7957", - "31066_ord": "\u795a", - "31067_ord": "\u795b", - "31068_ord": "\u795c", - "31069_ord": "\u795d", - "31070_ord": "\u795e", - "31071_ord": "\u795f", - "31072_ord": "\u7960", - "31077_ord": "\u7965", - "31079_ord": "\u7967", - "31080_ord": "\u7968", - "31085_ord": "\u796d", - "31087_ord": "\u796f", - "31095_ord": "\u7977", - "31096_ord": "\u7978", - "31098_ord": "\u797a", - "31104_ord": "\u7980", - "31105_ord": "\u7981", - "31108_ord": "\u7984", - "31109_ord": "\u7985", - "31119_ord": "\u798f", - "31143_ord": "\u79a7", - "31155_ord": "\u79b3", - "31161_ord": "\u79b9", - "31162_ord": "\u79ba", - "31163_ord": "\u79bb", - "31165_ord": "\u79bd", - "31166_ord": "\u79be", - "31168_ord": "\u79c0", - "31169_ord": "\u79c1", - "31171_ord": "\u79c3", - "31177_ord": "\u79c9", - "31179_ord": "\u79cb", - "31181_ord": "\u79cd", - "31183_ord": "\u79cf", - "31185_ord": "\u79d1", - "31186_ord": "\u79d2", - "31192_ord": "\u79d8", - "31199_ord": "\u79df", - "31204_ord": "\u79e4", - "31206_ord": "\u79e6", - "31207_ord": "\u79e7", - "31209_ord": "\u79e9", - "31215_ord": "\u79ef", - "31216_ord": "\u79f0", - "31224_ord": "\u79f8", - "31227_ord": "\u79fb", - "31229_ord": "\u79fd", - "31232_ord": "\u7a00", - "31243_ord": "\u7a0b", - "31245_ord": "\u7a0d", - "31246_ord": "\u7a0e", - "31252_ord": "\u7a14", - "31255_ord": "\u7a17", - "31258_ord": "\u7a1a", - "31262_ord": "\u7a1e", - "31264_ord": "\u7a20", - "31267_ord": "\u7a23", - "31283_ord": "\u7a33", - "31287_ord": "\u7a37", - "31291_ord": "\u7a3b", - "31292_ord": "\u7a3c", - "31293_ord": "\u7a3d", - "31295_ord": "\u7a3f", - "31302_ord": "\u7a46", - "31313_ord": "\u7a51", - "31319_ord": "\u7a57", - "31344_ord": "\u7a70", - "31348_ord": "\u7a74", - "31350_ord": "\u7a76", - "31351_ord": "\u7a77", - "31353_ord": "\u7a79", - "31354_ord": "\u7a7a", - "31359_ord": "\u7a7f", - "31361_ord": "\u7a81", - "31363_ord": "\u7a83", - "31364_ord": "\u7a84", - "31368_ord": "\u7a88", - "31373_ord": "\u7a8d", - "31377_ord": "\u7a91", - "31378_ord": "\u7a92", - "31381_ord": "\u7a95", - "31382_ord": "\u7a96", - "31383_ord": "\u7a97", - "31384_ord": "\u7a98", - "31388_ord": "\u7a9c", - "31389_ord": "\u7a9d", - "31391_ord": "\u7a9f", - "31392_ord": "\u7aa0", - "31395_ord": "\u7aa3", - "31397_ord": "\u7aa5", - "31398_ord": "\u7aa6", - "31404_ord": "\u7aac", - "31405_ord": "\u7aad", - "31423_ord": "\u7abf", - "31435_ord": "\u7acb", - "31446_ord": "\u7ad6", - "31449_ord": "\u7ad9", - "31454_ord": "\u7ade", - "31455_ord": "\u7adf", - "31456_ord": "\u7ae0", - "31459_ord": "\u7ae3", - "31461_ord": "\u7ae5", - "31469_ord": "\u7aed", - "31471_ord": "\u7aef", - "31481_ord": "\u7af9", - "31482_ord": "\u7afa", - "31485_ord": "\u7afd", - "31487_ord": "\u7aff", - "31491_ord": "\u7b03", - "31492_ord": "\u7b04", - "31494_ord": "\u7b06", - "31496_ord": "\u7b08", - "31499_ord": "\u7b0b", - "31505_ord": "\u7b11", - "31508_ord": "\u7b14", - "31513_ord": "\u7b19", - "31515_ord": "\u7b1b", - "31518_ord": "\u7b1e", - "31520_ord": "\u7b20", - "31524_ord": "\u7b24", - "31525_ord": "\u7b25", - "31526_ord": "\u7b26", - "31528_ord": "\u7b28", - "31531_ord": "\u7b2b", - "31532_ord": "\u7b2c", - "31546_ord": "\u7b3a", - "31548_ord": "\u7b3c", - "31561_ord": "\u7b49", - "31563_ord": "\u7b4b", - "31567_ord": "\u7b4f", - "31568_ord": "\u7b50", - "31569_ord": "\u7b51", - "31570_ord": "\u7b52", - "31572_ord": "\u7b54", - "31574_ord": "\u7b56", - "31579_ord": "\u7b5b", - "31581_ord": "\u7b5d", - "31584_ord": "\u7b60", - "31598_ord": "\u7b6e", - "31601_ord": "\u7b71", - "31605_ord": "\u7b75", - "31607_ord": "\u7b77", - "31609_ord": "\u7b79", - "31614_ord": "\u7b7e", - "31616_ord": "\u7b80", - "31629_ord": "\u7b8d", - "31636_ord": "\u7b94", - "31637_ord": "\u7b95", - "31639_ord": "\u7b97", - "31649_ord": "\u7ba1", - "31654_ord": "\u7ba6", - "31655_ord": "\u7ba7", - "31657_ord": "\u7ba9", - "31659_ord": "\u7bab", - "31661_ord": "\u7bad", - "31665_ord": "\u7bb1", - "31668_ord": "\u7bb4", - "31672_ord": "\u7bb8", - "31681_ord": "\u7bc1", - "31686_ord": "\u7bc6", - "31687_ord": "\u7bc7", - "31697_ord": "\u7bd1", - "31699_ord": "\u7bd3", - "31705_ord": "\u7bd9", - "31709_ord": "\u7bdd", - "31713_ord": "\u7be1", - "31726_ord": "\u7bee", - "31729_ord": "\u7bf1", - "31735_ord": "\u7bf7", - "31742_ord": "\u7bfe", - "31751_ord": "\u7c07", - "31755_ord": "\u7c0b", - "31756_ord": "\u7c0c", - "31759_ord": "\u7c0f", - "31783_ord": "\u7c27", - "31786_ord": "\u7c2a", - "31800_ord": "\u7c38", - "31807_ord": "\u7c3f", - "31809_ord": "\u7c41", - "31821_ord": "\u7c4d", - "31859_ord": "\u7c73", - "31867_ord": "\u7c7b", - "31869_ord": "\u7c7d", - "31881_ord": "\u7c89", - "31889_ord": "\u7c91", - "31890_ord": "\u7c92", - "31893_ord": "\u7c95", - "31895_ord": "\u7c97", - "31896_ord": "\u7c98", - "31900_ord": "\u7c9c", - "31901_ord": "\u7c9d", - "31903_ord": "\u7c9f", - "31908_ord": "\u7ca4", - "31909_ord": "\u7ca5", - "31914_ord": "\u7caa", - "31918_ord": "\u7cae", - "31921_ord": "\u7cb1", - "31922_ord": "\u7cb2", - "31923_ord": "\u7cb3", - "31929_ord": "\u7cb9", - "31932_ord": "\u7cbc", - "31933_ord": "\u7cbd", - "31934_ord": "\u7cbe", - "31937_ord": "\u7cc1", - "31941_ord": "\u7cc5", - "31946_ord": "\u7cca", - "31948_ord": "\u7ccc", - "31949_ord": "\u7ccd", - "31957_ord": "\u7cd5", - "31958_ord": "\u7cd6", - "31959_ord": "\u7cd7", - "31961_ord": "\u7cd9", - "31964_ord": "\u7cdc", - "31967_ord": "\u7cdf", - "31968_ord": "\u7ce0", - "31983_ord": "\u7cef", - "31995_ord": "\u7cfb", - "32010_ord": "\u7d0a", - "32032_ord": "\u7d20", - "32034_ord": "\u7d22", - "32039_ord": "\u7d27", - "32043_ord": "\u7d2b", - "32044_ord": "\u7d2c", - "32047_ord": "\u7d2f", - "32092_ord": "\u7d5c", - "32110_ord": "\u7d6e", - "32119_ord": "\u7d77", - "32166_ord": "\u7da6", - "32288_ord": "\u7e20", - "32290_ord": "\u7e22", - "32303_ord": "\u7e2f", - "32315_ord": "\u7e3b", - "32321_ord": "\u7e41", - "32327_ord": "\u7e47", - "32386_ord": "\u7e82", - "32404_ord": "\u7e94", - "32416_ord": "\u7ea0", - "32417_ord": "\u7ea1", - "32418_ord": "\u7ea2", - "32419_ord": "\u7ea3", - "32420_ord": "\u7ea4", - "32421_ord": "\u7ea5", - "32422_ord": "\u7ea6", - "32423_ord": "\u7ea7", - "32424_ord": "\u7ea8", - "32426_ord": "\u7eaa", - "32427_ord": "\u7eab", - "32428_ord": "\u7eac", - "32429_ord": "\u7ead", - "32430_ord": "\u7eae", - "32431_ord": "\u7eaf", - "32432_ord": "\u7eb0", - "32433_ord": "\u7eb1", - "32434_ord": "\u7eb2", - "32435_ord": "\u7eb3", - "32437_ord": "\u7eb5", - "32438_ord": "\u7eb6", - "32439_ord": "\u7eb7", - "32440_ord": "\u7eb8", - "32441_ord": "\u7eb9", - "32442_ord": "\u7eba", - "32443_ord": "\u7ebb", - "32445_ord": "\u7ebd", - "32446_ord": "\u7ebe", - "32447_ord": "\u7ebf", - "32448_ord": "\u7ec0", - "32449_ord": "\u7ec1", - "32451_ord": "\u7ec3", - "32452_ord": "\u7ec4", - "32453_ord": "\u7ec5", - "32454_ord": "\u7ec6", - "32455_ord": "\u7ec7", - "32456_ord": "\u7ec8", - "32458_ord": "\u7eca", - "32460_ord": "\u7ecc", - "32461_ord": "\u7ecd", - "32462_ord": "\u7ece", - "32463_ord": "\u7ecf", - "32464_ord": "\u7ed0", - "32465_ord": "\u7ed1", - "32466_ord": "\u7ed2", - "32467_ord": "\u7ed3", - "32468_ord": "\u7ed4", - "32469_ord": "\u7ed5", - "32470_ord": "\u7ed6", - "32472_ord": "\u7ed8", - "32473_ord": "\u7ed9", - "32474_ord": "\u7eda", - "32475_ord": "\u7edb", - "32476_ord": "\u7edc", - "32477_ord": "\u7edd", - "32478_ord": "\u7ede", - "32479_ord": "\u7edf", - "32480_ord": "\u7ee0", - "32481_ord": "\u7ee1", - "32482_ord": "\u7ee2", - "32483_ord": "\u7ee3", - "32485_ord": "\u7ee5", - "32486_ord": "\u7ee6", - "32487_ord": "\u7ee7", - "32488_ord": "\u7ee8", - "32489_ord": "\u7ee9", - "32490_ord": "\u7eea", - "32491_ord": "\u7eeb", - "32493_ord": "\u7eed", - "32494_ord": "\u7eee", - "32495_ord": "\u7eef", - "32496_ord": "\u7ef0", - "32499_ord": "\u7ef3", - "32500_ord": "\u7ef4", - "32501_ord": "\u7ef5", - "32502_ord": "\u7ef6", - "32503_ord": "\u7ef7", - "32504_ord": "\u7ef8", - "32506_ord": "\u7efa", - "32507_ord": "\u7efb", - "32508_ord": "\u7efc", - "32509_ord": "\u7efd", - "32510_ord": "\u7efe", - "32511_ord": "\u7eff", - "32512_ord": "\u7f00", - "32513_ord": "\u7f01", - "32516_ord": "\u7f04", - "32517_ord": "\u7f05", - "32518_ord": "\u7f06", - "32519_ord": "\u7f07", - "32520_ord": "\u7f08", - "32521_ord": "\u7f09", - "32526_ord": "\u7f0e", - "32530_ord": "\u7f12", - "32531_ord": "\u7f13", - "32532_ord": "\u7f14", - "32533_ord": "\u7f15", - "32534_ord": "\u7f16", - "32535_ord": "\u7f17", - "32536_ord": "\u7f18", - "32537_ord": "\u7f19", - "32538_ord": "\u7f1a", - "32540_ord": "\u7f1c", - "32541_ord": "\u7f1d", - "32542_ord": "\u7f1e", - "32543_ord": "\u7f1f", - "32544_ord": "\u7f20", - "32546_ord": "\u7f22", - "32548_ord": "\u7f24", - "32549_ord": "\u7f25", - "32551_ord": "\u7f27", - "32552_ord": "\u7f28", - "32553_ord": "\u7f29", - "32554_ord": "\u7f2a", - "32557_ord": "\u7f2d", - "32558_ord": "\u7f2e", - "32559_ord": "\u7f2f", - "32560_ord": "\u7f30", - "32561_ord": "\u7f31", - "32563_ord": "\u7f33", - "32564_ord": "\u7f34", - "32565_ord": "\u7f35", - "32566_ord": "\u7f36", - "32568_ord": "\u7f38", - "32570_ord": "\u7f3a", - "32578_ord": "\u7f42", - "32580_ord": "\u7f44", - "32581_ord": "\u7f45", - "32592_ord": "\u7f50", - "32593_ord": "\u7f51", - "32596_ord": "\u7f54", - "32597_ord": "\u7f55", - "32599_ord": "\u7f57", - "32600_ord": "\u7f58", - "32602_ord": "\u7f5a", - "32609_ord": "\u7f61", - "32610_ord": "\u7f62", - "32613_ord": "\u7f65", - "32617_ord": "\u7f69", - "32618_ord": "\u7f6a", - "32622_ord": "\u7f6e", - "32626_ord": "\u7f72", - "32628_ord": "\u7f74", - "32633_ord": "\u7f79", - "32641_ord": "\u7f81", - "32650_ord": "\u7f8a", - "32652_ord": "\u7f8c", - "32654_ord": "\u7f8e", - "32657_ord": "\u7f91", - "32660_ord": "\u7f94", - "32662_ord": "\u7f96", - "32666_ord": "\u7f9a", - "32670_ord": "\u7f9e", - "32671_ord": "\u7f9f", - "32673_ord": "\u7fa1", - "32676_ord": "\u7fa4", - "32687_ord": "\u7faf", - "32690_ord": "\u7fb2", - "32696_ord": "\u7fb8", - "32697_ord": "\u7fb9", - "32701_ord": "\u7fbd", - "32703_ord": "\u7fbf", - "32705_ord": "\u7fc1", - "32709_ord": "\u7fc5", - "32714_ord": "\u7fca", - "32716_ord": "\u7fcc", - "32718_ord": "\u7fce", - "32724_ord": "\u7fd4", - "32725_ord": "\u7fd5", - "32728_ord": "\u7fd8", - "32735_ord": "\u7fdf", - "32736_ord": "\u7fe0", - "32737_ord": "\u7fe1", - "32742_ord": "\u7fe6", - "32745_ord": "\u7fe9", - "32750_ord": "\u7fee", - "32752_ord": "\u7ff0", - "32753_ord": "\u7ff1", - "32755_ord": "\u7ff3", - "32763_ord": "\u7ffb", - "32764_ord": "\u7ffc", - "32768_ord": "\u8000", - "32769_ord": "\u8001", - "32771_ord": "\u8003", - "32772_ord": "\u8004", - "32773_ord": "\u8005", - "32774_ord": "\u8006", - "32779_ord": "\u800b", - "32780_ord": "\u800c", - "32781_ord": "\u800d", - "32782_ord": "\u800e", - "32784_ord": "\u8010", - "32789_ord": "\u8015", - "32791_ord": "\u8017", - "32792_ord": "\u8018", - "32793_ord": "\u8019", - "32796_ord": "\u801c", - "32806_ord": "\u8026", - "32808_ord": "\u8028", - "32819_ord": "\u8033", - "32822_ord": "\u8036", - "32824_ord": "\u8038", - "32827_ord": "\u803b", - "32829_ord": "\u803d", - "32831_ord": "\u803f", - "32834_ord": "\u8042", - "32838_ord": "\u8046", - "32842_ord": "\u804a", - "32843_ord": "\u804b", - "32844_ord": "\u804c", - "32850_ord": "\u8052", - "32852_ord": "\u8054", - "32856_ord": "\u8058", - "32858_ord": "\u805a", - "32873_ord": "\u8069", - "32874_ord": "\u806a", - "32899_ord": "\u8083", - "32900_ord": "\u8084", - "32902_ord": "\u8086", - "32903_ord": "\u8087", - "32905_ord": "\u8089", - "32907_ord": "\u808b", - "32908_ord": "\u808c", - "32915_ord": "\u8093", - "32918_ord": "\u8096", - "32920_ord": "\u8098", - "32922_ord": "\u809a", - "32923_ord": "\u809b", - "32925_ord": "\u809d", - "32928_ord": "\u80a0", - "32929_ord": "\u80a1", - "32930_ord": "\u80a2", - "32932_ord": "\u80a4", - "32933_ord": "\u80a5", - "32937_ord": "\u80a9", - "32938_ord": "\u80aa", - "32942_ord": "\u80ae", - "32943_ord": "\u80af", - "32945_ord": "\u80b1", - "32946_ord": "\u80b2", - "32948_ord": "\u80b4", - "32954_ord": "\u80ba", - "32957_ord": "\u80bd", - "32958_ord": "\u80be", - "32959_ord": "\u80bf", - "32960_ord": "\u80c0", - "32961_ord": "\u80c1", - "32963_ord": "\u80c3", - "32964_ord": "\u80c4", - "32966_ord": "\u80c6", - "32972_ord": "\u80cc", - "32974_ord": "\u80ce", - "32982_ord": "\u80d6", - "32986_ord": "\u80da", - "32988_ord": "\u80dc", - "32989_ord": "\u80dd", - "32990_ord": "\u80de", - "32993_ord": "\u80e1", - "32996_ord": "\u80e4", - "32997_ord": "\u80e5", - "32999_ord": "\u80e7", - "33002_ord": "\u80ea", - "33003_ord": "\u80eb", - "33005_ord": "\u80ed", - "33007_ord": "\u80ef", - "33008_ord": "\u80f0", - "33009_ord": "\u80f1", - "33011_ord": "\u80f3", - "33014_ord": "\u80f6", - "33016_ord": "\u80f8", - "33018_ord": "\u80fa", - "33021_ord": "\u80fd", - "33022_ord": "\u80fe", - "33025_ord": "\u8101", - "33026_ord": "\u8102", - "33030_ord": "\u8106", - "33033_ord": "\u8109", - "33034_ord": "\u810a", - "33037_ord": "\u810d", - "33039_ord": "\u810f", - "33040_ord": "\u8110", - "33041_ord": "\u8111", - "33043_ord": "\u8113", - "33044_ord": "\u8114", - "33046_ord": "\u8116", - "33050_ord": "\u811a", - "33071_ord": "\u812f", - "33073_ord": "\u8131", - "33074_ord": "\u8132", - "33080_ord": "\u8138", - "33086_ord": "\u813e", - "33094_ord": "\u8146", - "33096_ord": "\u8148", - "33097_ord": "\u8149", - "33098_ord": "\u814a", - "33099_ord": "\u814b", - "33100_ord": "\u814c", - "33104_ord": "\u8150", - "33105_ord": "\u8151", - "33107_ord": "\u8153", - "33108_ord": "\u8154", - "33109_ord": "\u8155", - "33125_ord": "\u8165", - "33129_ord": "\u8169", - "33133_ord": "\u816d", - "33134_ord": "\u816e", - "33136_ord": "\u8170", - "33137_ord": "\u8171", - "33140_ord": "\u8174", - "33145_ord": "\u8179", - "33146_ord": "\u817a", - "33147_ord": "\u817b", - "33148_ord": "\u817c", - "33150_ord": "\u817e", - "33151_ord": "\u817f", - "33152_ord": "\u8180", - "33160_ord": "\u8188", - "33162_ord": "\u818a", - "33167_ord": "\u818f", - "33169_ord": "\u8191", - "33176_ord": "\u8198", - "33179_ord": "\u819b", - "33180_ord": "\u819c", - "33181_ord": "\u819d", - "33190_ord": "\u81a6", - "33192_ord": "\u81a8", - "33203_ord": "\u81b3", - "33210_ord": "\u81ba", - "33211_ord": "\u81bb", - "33216_ord": "\u81c0", - "33218_ord": "\u81c2", - "33219_ord": "\u81c3", - "33222_ord": "\u81c6", - "33226_ord": "\u81ca", - "33243_ord": "\u81db", - "33251_ord": "\u81e3", - "33255_ord": "\u81e7", - "33258_ord": "\u81ea", - "33260_ord": "\u81ec", - "33261_ord": "\u81ed", - "33267_ord": "\u81f3", - "33268_ord": "\u81f4", - "33275_ord": "\u81fb", - "33276_ord": "\u81fc", - "33278_ord": "\u81fe", - "33280_ord": "\u8200", - "33281_ord": "\u8201", - "33282_ord": "\u8202", - "33284_ord": "\u8204", - "33285_ord": "\u8205", - "33286_ord": "\u8206", - "33292_ord": "\u820c", - "33293_ord": "\u820d", - "33296_ord": "\u8210", - "33298_ord": "\u8212", - "33300_ord": "\u8214", - "33307_ord": "\u821b", - "33308_ord": "\u821c", - "33310_ord": "\u821e", - "33311_ord": "\u821f", - "33313_ord": "\u8221", - "33322_ord": "\u822a", - "33323_ord": "\u822b", - "33324_ord": "\u822c", - "33328_ord": "\u8230", - "33329_ord": "\u8231", - "33333_ord": "\u8235", - "33334_ord": "\u8236", - "33335_ord": "\u8237", - "33337_ord": "\u8239", - "33351_ord": "\u8247", - "33368_ord": "\u8258", - "33390_ord": "\u826e", - "33391_ord": "\u826f", - "33392_ord": "\u8270", - "33394_ord": "\u8272", - "33395_ord": "\u8273", - "33402_ord": "\u827a", - "33406_ord": "\u827e", - "33410_ord": "\u8282", - "33416_ord": "\u8288", - "33419_ord": "\u828b", - "33421_ord": "\u828d", - "33422_ord": "\u828e", - "33426_ord": "\u8292", - "33432_ord": "\u8298", - "33433_ord": "\u8299", - "33436_ord": "\u829c", - "33437_ord": "\u829d", - "33441_ord": "\u82a1", - "33445_ord": "\u82a5", - "33446_ord": "\u82a6", - "33450_ord": "\u82aa", - "33451_ord": "\u82ab", - "33452_ord": "\u82ac", - "33453_ord": "\u82ad", - "33454_ord": "\u82ae", - "33455_ord": "\u82af", - "33457_ord": "\u82b1", - "33459_ord": "\u82b3", - "33463_ord": "\u82b7", - "33464_ord": "\u82b8", - "33465_ord": "\u82b9", - "33469_ord": "\u82bd", - "33476_ord": "\u82c4", - "33479_ord": "\u82c7", - "33483_ord": "\u82cb", - "33484_ord": "\u82cc", - "33485_ord": "\u82cd", - "33486_ord": "\u82ce", - "33487_ord": "\u82cf", - "33489_ord": "\u82d1", - "33490_ord": "\u82d2", - "33491_ord": "\u82d3", - "33492_ord": "\u82d4", - "33493_ord": "\u82d5", - "33495_ord": "\u82d7", - "33499_ord": "\u82db", - "33502_ord": "\u82de", - "33503_ord": "\u82df", - "33505_ord": "\u82e1", - "33507_ord": "\u82e3", - "33509_ord": "\u82e5", - "33510_ord": "\u82e6", - "33515_ord": "\u82eb", - "33519_ord": "\u82ef", - "33521_ord": "\u82f1", - "33524_ord": "\u82f4", - "33527_ord": "\u82f7", - "33529_ord": "\u82f9", - "33531_ord": "\u82fb", - "33536_ord": "\u8300", - "33537_ord": "\u8301", - "33538_ord": "\u8302", - "33539_ord": "\u8303", - "33540_ord": "\u8304", - "33541_ord": "\u8305", - "33542_ord": "\u8306", - "33545_ord": "\u8309", - "33550_ord": "\u830e", - "33551_ord": "\u830f", - "33556_ord": "\u8314", - "33557_ord": "\u8315", - "33559_ord": "\u8317", - "33564_ord": "\u831c", - "33575_ord": "\u8327", - "33576_ord": "\u8328", - "33579_ord": "\u832b", - "33580_ord": "\u832c", - "33581_ord": "\u832d", - "33583_ord": "\u832f", - "33585_ord": "\u8331", - "33588_ord": "\u8334", - "33589_ord": "\u8335", - "33590_ord": "\u8336", - "33592_ord": "\u8338", - "33593_ord": "\u8339", - "33600_ord": "\u8340", - "33603_ord": "\u8343", - "33606_ord": "\u8346", - "33609_ord": "\u8349", - "33615_ord": "\u834f", - "33616_ord": "\u8350", - "33618_ord": "\u8352", - "33620_ord": "\u8354", - "33626_ord": "\u835a", - "33628_ord": "\u835c", - "33630_ord": "\u835e", - "33631_ord": "\u835f", - "33632_ord": "\u8360", - "33633_ord": "\u8361", - "33635_ord": "\u8363", - "33636_ord": "\u8364", - "33637_ord": "\u8365", - "33638_ord": "\u8366", - "33639_ord": "\u8367", - "33642_ord": "\u836a", - "33643_ord": "\u836b", - "33647_ord": "\u836f", - "33655_ord": "\u8377", - "33659_ord": "\u837b", - "33660_ord": "\u837c", - "33669_ord": "\u8385", - "33670_ord": "\u8386", - "33673_ord": "\u8389", - "33678_ord": "\u838e", - "33682_ord": "\u8392", - "33683_ord": "\u8393", - "33688_ord": "\u8398", - "33692_ord": "\u839c", - "33694_ord": "\u839e", - "33696_ord": "\u83a0", - "33704_ord": "\u83a8", - "33705_ord": "\u83a9", - "33707_ord": "\u83ab", - "33713_ord": "\u83b1", - "33714_ord": "\u83b2", - "33716_ord": "\u83b4", - "33719_ord": "\u83b7", - "33721_ord": "\u83b9", - "33722_ord": "\u83ba", - "33725_ord": "\u83bd", - "33729_ord": "\u83c1", - "33733_ord": "\u83c5", - "33735_ord": "\u83c7", - "33738_ord": "\u83ca", - "33740_ord": "\u83cc", - "33743_ord": "\u83cf", - "33745_ord": "\u83d1", - "33756_ord": "\u83dc", - "33759_ord": "\u83df", - "33760_ord": "\u83e0", - "33761_ord": "\u83e1", - "33769_ord": "\u83e9", - "33777_ord": "\u83f1", - "33778_ord": "\u83f2", - "33789_ord": "\u83fd", - "33795_ord": "\u8403", - "33796_ord": "\u8404", - "33804_ord": "\u840c", - "33805_ord": "\u840d", - "33806_ord": "\u840e", - "33821_ord": "\u841d", - "33828_ord": "\u8424", - "33829_ord": "\u8425", - "33830_ord": "\u8426", - "33831_ord": "\u8427", - "33832_ord": "\u8428", - "33848_ord": "\u8438", - "33853_ord": "\u843d", - "33862_ord": "\u8446", - "33879_ord": "\u8457", - "33883_ord": "\u845b", - "33889_ord": "\u8461", - "33891_ord": "\u8463", - "33897_ord": "\u8469", - "33899_ord": "\u846b", - "33900_ord": "\u846c", - "33901_ord": "\u846d", - "33905_ord": "\u8471", - "33907_ord": "\u8473", - "33909_ord": "\u8475", - "33914_ord": "\u847a", - "33922_ord": "\u8482", - "33931_ord": "\u848b", - "33943_ord": "\u8497", - "33945_ord": "\u8499", - "33948_ord": "\u849c", - "33967_ord": "\u84af", - "33970_ord": "\u84b2", - "33976_ord": "\u84b8", - "33978_ord": "\u84ba", - "33981_ord": "\u84bd", - "33983_ord": "\u84bf", - "33988_ord": "\u84c4", - "33993_ord": "\u84c9", - "33997_ord": "\u84cd", - "33_ord": "!", - "34000_ord": "\u84d0", - "34003_ord": "\u84d3", - "34006_ord": "\u84d6", - "34013_ord": "\u84dd", - "34015_ord": "\u84df", - "34022_ord": "\u84e6", - "34028_ord": "\u84ec", - "34044_ord": "\u84fc", - "34065_ord": "\u8511", - "34067_ord": "\u8513", - "34071_ord": "\u8517", - "34074_ord": "\u851a", - "34081_ord": "\u8521", - "34091_ord": "\u852b", - "34092_ord": "\u852c", - "34103_ord": "\u8537", - "34106_ord": "\u853a", - "34108_ord": "\u853c", - "34109_ord": "\u853d", - "34115_ord": "\u8543", - "34121_ord": "\u8549", - "34122_ord": "\u854a", - "34137_ord": "\u8559", - "34148_ord": "\u8564", - "34152_ord": "\u8568", - "34162_ord": "\u8572", - "34164_ord": "\u8574", - "34174_ord": "\u857e", - "34180_ord": "\u8584", - "34183_ord": "\u8587", - "34191_ord": "\u858f", - "34203_ord": "\u859b", - "34204_ord": "\u859c", - "34212_ord": "\u85a4", - "34216_ord": "\u85a8", - "34218_ord": "\u85aa", - "34222_ord": "\u85ae", - "34223_ord": "\u85af", - "34224_ord": "\u85b0", - "34241_ord": "\u85c1", - "34249_ord": "\u85c9", - "34255_ord": "\u85cf", - "34256_ord": "\u85d0", - "34259_ord": "\u85d3", - "34261_ord": "\u85d5", - "34268_ord": "\u85dc", - "34276_ord": "\u85e4", - "34281_ord": "\u85e9", - "34299_ord": "\u85fb", - "34303_ord": "\u85ff", - "34321_ord": "\u8611", - "34360_ord": "\u8638", - "34382_ord": "\u864e", - "34383_ord": "\u864f", - "34384_ord": "\u8650", - "34385_ord": "\u8651", - "34388_ord": "\u8654", - "34394_ord": "\u865a", - "34398_ord": "\u865e", - "34402_ord": "\u8662", - "34411_ord": "\u866b", - "34412_ord": "\u866c", - "34414_ord": "\u866e", - "34417_ord": "\u8671", - "34425_ord": "\u8679", - "34426_ord": "\u867a", - "34429_ord": "\u867d", - "34430_ord": "\u867e", - "34432_ord": "\u8680", - "34433_ord": "\u8681", - "34434_ord": "\u8682", - "34442_ord": "\u868a", - "34444_ord": "\u868c", - "34451_ord": "\u8693", - "34453_ord": "\u8695", - "34461_ord": "\u869d", - "34465_ord": "\u86a1", - "34467_ord": "\u86a3", - "34468_ord": "\u86a4", - "34473_ord": "\u86a9", - "34479_ord": "\u86af", - "34480_ord": "\u86b0", - "34496_ord": "\u86c0", - "34502_ord": "\u86c6", - "34503_ord": "\u86c7", - "34506_ord": "\u86ca", - "34507_ord": "\u86cb", - "34510_ord": "\u86ce", - "34512_ord": "\u86d0", - "34516_ord": "\u86d4", - "34521_ord": "\u86d9", - "34523_ord": "\u86db", - "34527_ord": "\u86df", - "34532_ord": "\u86e4", - "34537_ord": "\u86e9", - "34541_ord": "\u86ed", - "34542_ord": "\u86ee", - "34544_ord": "\u86f0", - "34546_ord": "\u86f2", - "34553_ord": "\u86f9", - "34558_ord": "\u86fe", - "34560_ord": "\u8700", - "34562_ord": "\u8702", - "34563_ord": "\u8703", - "34567_ord": "\u8707", - "34568_ord": "\u8708", - "34573_ord": "\u870d", - "34578_ord": "\u8712", - "34579_ord": "\u8713", - "34581_ord": "\u8715", - "34583_ord": "\u8717", - "34584_ord": "\u8718", - "34586_ord": "\u871a", - "34588_ord": "\u871c", - "34593_ord": "\u8721", - "34597_ord": "\u8725", - "34612_ord": "\u8734", - "34615_ord": "\u8737", - "34619_ord": "\u873b", - "34623_ord": "\u873f", - "34631_ord": "\u8747", - "34633_ord": "\u8749", - "34638_ord": "\u874e", - "34647_ord": "\u8757", - "34649_ord": "\u8759", - "34656_ord": "\u8760", - "34670_ord": "\u876e", - "34676_ord": "\u8774", - "34678_ord": "\u8776", - "34684_ord": "\u877c", - "34690_ord": "\u8782", - "34691_ord": "\u8783", - "34701_ord": "\u878d", - "34728_ord": "\u87a8", - "34731_ord": "\u87ab", - "34733_ord": "\u87ad", - "34739_ord": "\u87b3", - "34746_ord": "\u87ba", - "34758_ord": "\u87c6", - "34763_ord": "\u87cb", - "34770_ord": "\u87d2", - "34784_ord": "\u87e0", - "34797_ord": "\u87ed", - "34809_ord": "\u87f9", - "34814_ord": "\u87fe", - "34837_ord": "\u8815", - "34849_ord": "\u8821", - "34850_ord": "\u8822", - "34873_ord": "\u8839", - "34880_ord": "\u8840", - "34885_ord": "\u8845", - "34892_ord": "\u884c", - "34893_ord": "\u884d", - "34900_ord": "\u8854", - "34903_ord": "\u8857", - "34905_ord": "\u8859", - "34913_ord": "\u8861", - "34914_ord": "\u8862", - "34915_ord": "\u8863", - "34917_ord": "\u8865", - "34920_ord": "\u8868", - "34921_ord": "\u8869", - "34923_ord": "\u886b", - "34924_ord": "\u886c", - "34926_ord": "\u886e", - "34928_ord": "\u8870", - "34930_ord": "\u8872", - "34935_ord": "\u8877", - "34941_ord": "\u887d", - "34942_ord": "\u887e", - "34943_ord": "\u887f", - "34945_ord": "\u8881", - "34946_ord": "\u8882", - "34948_ord": "\u8884", - "34949_ord": "\u8885", - "34952_ord": "\u8888", - "34955_ord": "\u888b", - "34957_ord": "\u888d", - "34962_ord": "\u8892", - "34966_ord": "\u8896", - "34972_ord": "\u889c", - "34980_ord": "\u88a4", - "34987_ord": "\u88ab", - "34989_ord": "\u88ad", - "34993_ord": "\u88b1", - "34996_ord": "\u88b4", - "34_ord": "\"", - "35008_ord": "\u88c0", - "35009_ord": "\u88c1", - "35010_ord": "\u88c2", - "35013_ord": "\u88c5", - "35014_ord": "\u88c6", - "35028_ord": "\u88d4", - "35029_ord": "\u88d5", - "35032_ord": "\u88d8", - "35033_ord": "\u88d9", - "35039_ord": "\u88df", - "35044_ord": "\u88e4", - "35048_ord": "\u88e8", - "35056_ord": "\u88f0", - "35057_ord": "\u88f1", - "35059_ord": "\u88f3", - "35060_ord": "\u88f4", - "35064_ord": "\u88f8", - "35065_ord": "\u88f9", - "35070_ord": "\u88fe", - "35074_ord": "\u8902", - "35082_ord": "\u890a", - "35088_ord": "\u8910", - "35090_ord": "\u8912", - "35091_ord": "\u8913", - "35098_ord": "\u891a", - "35099_ord": "\u891b", - "35109_ord": "\u8925", - "35114_ord": "\u892a", - "35115_ord": "\u892b", - "35124_ord": "\u8934", - "35126_ord": "\u8936", - "35137_ord": "\u8941", - "35140_ord": "\u8944", - "35142_ord": "\u8946", - "35167_ord": "\u895f", - "35174_ord": "\u8966", - "35199_ord": "\u897f", - "35201_ord": "\u8981", - "35203_ord": "\u8983", - "35206_ord": "\u8986", - "35265_ord": "\u89c1", - "35266_ord": "\u89c2", - "35268_ord": "\u89c4", - "35269_ord": "\u89c5", - "35270_ord": "\u89c6", - "35271_ord": "\u89c7", - "35272_ord": "\u89c8", - "35273_ord": "\u89c9", - "35274_ord": "\u89ca", - "35276_ord": "\u89cc", - "35278_ord": "\u89ce", - "35280_ord": "\u89d0", - "35281_ord": "\u89d1", - "35282_ord": "\u89d2", - "35286_ord": "\u89d6", - "35290_ord": "\u89da", - "35292_ord": "\u89dc", - "35294_ord": "\u89de", - "35299_ord": "\u89e3", - "35301_ord": "\u89e5", - "35302_ord": "\u89e6", - "35315_ord": "\u89f3", - "35328_ord": "\u8a00", - "35335_ord": "\u8a07", - "35390_ord": "\u8a3e", - "35400_ord": "\u8a48", - "35449_ord": "\u8a79", - "35465_ord": "\u8a89", - "35475_ord": "\u8a93", - "35686_ord": "\u8b66", - "35692_ord": "\u8b6c", - "35737_ord": "\u8b99", - "35745_ord": "\u8ba1", - "35746_ord": "\u8ba2", - "35747_ord": "\u8ba3", - "35748_ord": "\u8ba4", - "35749_ord": "\u8ba5", - "35750_ord": "\u8ba6", - "35751_ord": "\u8ba7", - "35752_ord": "\u8ba8", - "35753_ord": "\u8ba9", - "35754_ord": "\u8baa", - "35755_ord": "\u8bab", - "35757_ord": "\u8bad", - "35758_ord": "\u8bae", - "35759_ord": "\u8baf", - "35760_ord": "\u8bb0", - "35762_ord": "\u8bb2", - "35763_ord": "\u8bb3", - "35764_ord": "\u8bb4", - "35765_ord": "\u8bb5", - "35766_ord": "\u8bb6", - "35767_ord": "\u8bb7", - "35768_ord": "\u8bb8", - "35769_ord": "\u8bb9", - "35770_ord": "\u8bba", - "35772_ord": "\u8bbc", - "35773_ord": "\u8bbd", - "35774_ord": "\u8bbe", - "35775_ord": "\u8bbf", - "35776_ord": "\u8bc0", - "35777_ord": "\u8bc1", - "35778_ord": "\u8bc2", - "35779_ord": "\u8bc3", - "35780_ord": "\u8bc4", - "35781_ord": "\u8bc5", - "35782_ord": "\u8bc6", - "35784_ord": "\u8bc8", - "35785_ord": "\u8bc9", - "35786_ord": "\u8bca", - "35787_ord": "\u8bcb", - "35789_ord": "\u8bcd", - "35790_ord": "\u8bce", - "35791_ord": "\u8bcf", - "35793_ord": "\u8bd1", - "35794_ord": "\u8bd2", - "35797_ord": "\u8bd5", - "35799_ord": "\u8bd7", - "35800_ord": "\u8bd8", - "35801_ord": "\u8bd9", - "35802_ord": "\u8bda", - "35803_ord": "\u8bdb", - "35805_ord": "\u8bdd", - "35806_ord": "\u8bde", - "35807_ord": "\u8bdf", - "35808_ord": "\u8be0", - "35809_ord": "\u8be1", - "35810_ord": "\u8be2", - "35811_ord": "\u8be3", - "35812_ord": "\u8be4", - "35813_ord": "\u8be5", - "35814_ord": "\u8be6", - "35815_ord": "\u8be7", - "35816_ord": "\u8be8", - "35817_ord": "\u8be9", - "35819_ord": "\u8beb", - "35820_ord": "\u8bec", - "35821_ord": "\u8bed", - "35822_ord": "\u8bee", - "35823_ord": "\u8bef", - "35824_ord": "\u8bf0", - "35825_ord": "\u8bf1", - "35826_ord": "\u8bf2", - "35827_ord": "\u8bf3", - "35828_ord": "\u8bf4", - "35829_ord": "\u8bf5", - "35831_ord": "\u8bf7", - "35832_ord": "\u8bf8", - "35834_ord": "\u8bfa", - "35835_ord": "\u8bfb", - "35837_ord": "\u8bfd", - "35838_ord": "\u8bfe", - "35839_ord": "\u8bff", - "35840_ord": "\u8c00", - "35841_ord": "\u8c01", - "35843_ord": "\u8c03", - "35844_ord": "\u8c04", - "35845_ord": "\u8c05", - "35846_ord": "\u8c06", - "35847_ord": "\u8c07", - "35848_ord": "\u8c08", - "35850_ord": "\u8c0a", - "35851_ord": "\u8c0b", - "35853_ord": "\u8c0d", - "35854_ord": "\u8c0e", - "35855_ord": "\u8c0f", - "35856_ord": "\u8c10", - "35857_ord": "\u8c11", - "35858_ord": "\u8c12", - "35859_ord": "\u8c13", - "35861_ord": "\u8c15", - "35863_ord": "\u8c17", - "35865_ord": "\u8c19", - "35866_ord": "\u8c1a", - "35867_ord": "\u8c1b", - "35868_ord": "\u8c1c", - "35871_ord": "\u8c1f", - "35874_ord": "\u8c22", - "35875_ord": "\u8c23", - "35876_ord": "\u8c24", - "35877_ord": "\u8c25", - "35878_ord": "\u8c26", - "35879_ord": "\u8c27", - "35880_ord": "\u8c28", - "35881_ord": "\u8c29", - "35882_ord": "\u8c2a", - "35884_ord": "\u8c2c", - "35885_ord": "\u8c2d", - "35886_ord": "\u8c2e", - "35887_ord": "\u8c2f", - "35889_ord": "\u8c31", - "35890_ord": "\u8c32", - "35891_ord": "\u8c33", - "35892_ord": "\u8c34", - "35894_ord": "\u8c36", - "35895_ord": "\u8c37", - "35905_ord": "\u8c41", - "35910_ord": "\u8c46", - "35913_ord": "\u8c49", - "35916_ord": "\u8c4c", - "35925_ord": "\u8c55", - "35930_ord": "\u8c5a", - "35937_ord": "\u8c61", - "35938_ord": "\u8c62", - "35944_ord": "\u8c68", - "35946_ord": "\u8c6a", - "35947_ord": "\u8c6b", - "35949_ord": "\u8c6d", - "35955_ord": "\u8c73", - "35960_ord": "\u8c78", - "35961_ord": "\u8c79", - "35962_ord": "\u8c7a", - "35970_ord": "\u8c82", - "35977_ord": "\u8c89", - "35980_ord": "\u8c8c", - "35988_ord": "\u8c94", - "35_ord": "#", - "36103_ord": "\u8d07", - "36125_ord": "\u8d1d", - "36126_ord": "\u8d1e", - "36127_ord": "\u8d1f", - "36129_ord": "\u8d21", - "36130_ord": "\u8d22", - "36131_ord": "\u8d23", - "36132_ord": "\u8d24", - "36133_ord": "\u8d25", - "36134_ord": "\u8d26", - "36135_ord": "\u8d27", - "36136_ord": "\u8d28", - "36137_ord": "\u8d29", - "36138_ord": "\u8d2a", - "36139_ord": "\u8d2b", - "36140_ord": "\u8d2c", - "36141_ord": "\u8d2d", - "36142_ord": "\u8d2e", - "36143_ord": "\u8d2f", - "36144_ord": "\u8d30", - "36145_ord": "\u8d31", - "36146_ord": "\u8d32", - "36147_ord": "\u8d33", - "36148_ord": "\u8d34", - "36149_ord": "\u8d35", - "36151_ord": "\u8d37", - "36152_ord": "\u8d38", - "36153_ord": "\u8d39", - "36154_ord": "\u8d3a", - "36155_ord": "\u8d3b", - "36156_ord": "\u8d3c", - "36157_ord": "\u8d3d", - "36158_ord": "\u8d3e", - "36159_ord": "\u8d3f", - "36160_ord": "\u8d40", - "36161_ord": "\u8d41", - "36162_ord": "\u8d42", - "36163_ord": "\u8d43", - "36164_ord": "\u8d44", - "36165_ord": "\u8d45", - "36167_ord": "\u8d47", - "36168_ord": "\u8d48", - "36169_ord": "\u8d49", - "36170_ord": "\u8d4a", - "36171_ord": "\u8d4b", - "36172_ord": "\u8d4c", - "36173_ord": "\u8d4d", - "36174_ord": "\u8d4e", - "36175_ord": "\u8d4f", - "36176_ord": "\u8d50", - "36180_ord": "\u8d54", - "36182_ord": "\u8d56", - "36184_ord": "\u8d58", - "36186_ord": "\u8d5a", - "36187_ord": "\u8d5b", - "36188_ord": "\u8d5c", - "36189_ord": "\u8d5d", - "36190_ord": "\u8d5e", - "36191_ord": "\u8d5f", - "36192_ord": "\u8d60", - "36193_ord": "\u8d61", - "36194_ord": "\u8d62", - "36195_ord": "\u8d63", - "36196_ord": "\u8d64", - "36198_ord": "\u8d66", - "36199_ord": "\u8d67", - "36202_ord": "\u8d6a", - "36203_ord": "\u8d6b", - "36205_ord": "\u8d6d", - "36208_ord": "\u8d70", - "36211_ord": "\u8d73", - "36212_ord": "\u8d74", - "36213_ord": "\u8d75", - "36214_ord": "\u8d76", - "36215_ord": "\u8d77", - "36225_ord": "\u8d81", - "36228_ord": "\u8d84", - "36229_ord": "\u8d85", - "36234_ord": "\u8d8a", - "36235_ord": "\u8d8b", - "36255_ord": "\u8d9f", - "36259_ord": "\u8da3", - "36273_ord": "\u8db1", - "36275_ord": "\u8db3", - "36276_ord": "\u8db4", - "36277_ord": "\u8db5", - "36280_ord": "\u8db8", - "36281_ord": "\u8db9", - "36282_ord": "\u8dba", - "36286_ord": "\u8dbe", - "36290_ord": "\u8dc2", - "36291_ord": "\u8dc3", - "36292_ord": "\u8dc4", - "36294_ord": "\u8dc6", - "36299_ord": "\u8dcb", - "36300_ord": "\u8dcc", - "36305_ord": "\u8dd1", - "36310_ord": "\u8dd6", - "36314_ord": "\u8dda", - "36315_ord": "\u8ddb", - "36317_ord": "\u8ddd", - "36319_ord": "\u8ddf", - "36323_ord": "\u8de3", - "36324_ord": "\u8de4", - "36328_ord": "\u8de8", - "36330_ord": "\u8dea", - "36332_ord": "\u8dec", - "36335_ord": "\u8def", - "36339_ord": "\u8df3", - "36341_ord": "\u8df5", - "36343_ord": "\u8df7", - "36344_ord": "\u8df8", - "36345_ord": "\u8df9", - "36346_ord": "\u8dfa", - "36347_ord": "\u8dfb", - "36349_ord": "\u8dfd", - "36361_ord": "\u8e09", - "36362_ord": "\u8e0a", - "36364_ord": "\u8e0c", - "36367_ord": "\u8e0f", - "36372_ord": "\u8e14", - "36381_ord": "\u8e1d", - "36382_ord": "\u8e1e", - "36383_ord": "\u8e1f", - "36386_ord": "\u8e22", - "36387_ord": "\u8e23", - "36391_ord": "\u8e27", - "36393_ord": "\u8e29", - "36394_ord": "\u8e2a", - "36399_ord": "\u8e2f", - "36400_ord": "\u8e30", - "36401_ord": "\u8e31", - "36405_ord": "\u8e35", - "36409_ord": "\u8e39", - "36413_ord": "\u8e3d", - "36416_ord": "\u8e40", - "36418_ord": "\u8e42", - "36420_ord": "\u8e44", - "36423_ord": "\u8e47", - "36424_ord": "\u8e48", - "36425_ord": "\u8e49", - "36426_ord": "\u8e4a", - "36427_ord": "\u8e4b", - "36433_ord": "\u8e51", - "36434_ord": "\u8e52", - "36441_ord": "\u8e59", - "36454_ord": "\u8e66", - "36457_ord": "\u8e69", - "36460_ord": "\u8e6c", - "36461_ord": "\u8e6d", - "36464_ord": "\u8e70", - "36466_ord": "\u8e72", - "36468_ord": "\u8e74", - "36470_ord": "\u8e76", - "36475_ord": "\u8e7b", - "36479_ord": "\u8e7f", - "36481_ord": "\u8e81", - "36485_ord": "\u8e85", - "36487_ord": "\u8e87", - "36495_ord": "\u8e8f", - "36510_ord": "\u8e9e", - "36523_ord": "\u8eab", - "36524_ord": "\u8eac", - "36527_ord": "\u8eaf", - "36530_ord": "\u8eb2", - "36538_ord": "\u8eba", - "36710_ord": "\u8f66", - "36711_ord": "\u8f67", - "36712_ord": "\u8f68", - "36713_ord": "\u8f69", - "36715_ord": "\u8f6b", - "36716_ord": "\u8f6c", - "36718_ord": "\u8f6e", - "36719_ord": "\u8f6f", - "36720_ord": "\u8f70", - "36722_ord": "\u8f72", - "36724_ord": "\u8f74", - "36725_ord": "\u8f75", - "36726_ord": "\u8f76", - "36728_ord": "\u8f78", - "36730_ord": "\u8f7a", - "36731_ord": "\u8f7b", - "36732_ord": "\u8f7c", - "36733_ord": "\u8f7d", - "36735_ord": "\u8f7f", - "36739_ord": "\u8f83", - "36740_ord": "\u8f84", - "36741_ord": "\u8f85", - "36742_ord": "\u8f86", - "36743_ord": "\u8f87", - "36744_ord": "\u8f88", - "36745_ord": "\u8f89", - "36749_ord": "\u8f8d", - "36750_ord": "\u8f8e", - "36752_ord": "\u8f90", - "36753_ord": "\u8f91", - "36755_ord": "\u8f93", - "36756_ord": "\u8f94", - "36757_ord": "\u8f95", - "36758_ord": "\u8f96", - "36759_ord": "\u8f97", - "36760_ord": "\u8f98", - "36761_ord": "\u8f99", - "36763_ord": "\u8f9b", - "36764_ord": "\u8f9c", - "36766_ord": "\u8f9e", - "36767_ord": "\u8f9f", - "36771_ord": "\u8fa3", - "36776_ord": "\u8fa8", - "36777_ord": "\u8fa9", - "36779_ord": "\u8fab", - "36784_ord": "\u8fb0", - "36785_ord": "\u8fb1", - "36793_ord": "\u8fb9", - "36797_ord": "\u8fbd", - "36798_ord": "\u8fbe", - "36801_ord": "\u8fc1", - "36802_ord": "\u8fc2", - "36804_ord": "\u8fc4", - "36805_ord": "\u8fc5", - "36807_ord": "\u8fc7", - "36808_ord": "\u8fc8", - "36814_ord": "\u8fce", - "36816_ord": "\u8fd0", - "36817_ord": "\u8fd1", - "36819_ord": "\u8fd3", - "36820_ord": "\u8fd4", - "36821_ord": "\u8fd5", - "36824_ord": "\u8fd8", - "36825_ord": "\u8fd9", - "36827_ord": "\u8fdb", - "36828_ord": "\u8fdc", - "36829_ord": "\u8fdd", - "36830_ord": "\u8fde", - "36831_ord": "\u8fdf", - "36834_ord": "\u8fe2", - "36836_ord": "\u8fe4", - "36837_ord": "\u8fe5", - "36838_ord": "\u8fe6", - "36840_ord": "\u8fe8", - "36841_ord": "\u8fe9", - "36842_ord": "\u8fea", - "36843_ord": "\u8feb", - "36845_ord": "\u8fed", - "36848_ord": "\u8ff0", - "36855_ord": "\u8ff7", - "36856_ord": "\u8ff8", - "36857_ord": "\u8ff9", - "36861_ord": "\u8ffd", - "36864_ord": "\u9000", - "36865_ord": "\u9001", - "36866_ord": "\u9002", - "36867_ord": "\u9003", - "36869_ord": "\u9005", - "36870_ord": "\u9006", - "36873_ord": "\u9009", - "36874_ord": "\u900a", - "36875_ord": "\u900b", - "36877_ord": "\u900d", - "36879_ord": "\u900f", - "36880_ord": "\u9010", - "36881_ord": "\u9011", - "36882_ord": "\u9012", - "36884_ord": "\u9014", - "36886_ord": "\u9016", - "36887_ord": "\u9017", - "36890_ord": "\u901a", - "36891_ord": "\u901b", - "36893_ord": "\u901d", - "36894_ord": "\u901e", - "36895_ord": "\u901f", - "36896_ord": "\u9020", - "36897_ord": "\u9021", - "36898_ord": "\u9022", - "36902_ord": "\u9026", - "36910_ord": "\u902e", - "36917_ord": "\u9035", - "36918_ord": "\u9036", - "36920_ord": "\u9038", - "36923_ord": "\u903b", - "36924_ord": "\u903c", - "36926_ord": "\u903e", - "36929_ord": "\u9041", - "36930_ord": "\u9042", - "36935_ord": "\u9047", - "36941_ord": "\u904d", - "36943_ord": "\u904f", - "36944_ord": "\u9050", - "36945_ord": "\u9051", - "36946_ord": "\u9052", - "36947_ord": "\u9053", - "36951_ord": "\u9057", - "36952_ord": "\u9058", - "36955_ord": "\u905b", - "36962_ord": "\u9062", - "36963_ord": "\u9063", - "36965_ord": "\u9065", - "36968_ord": "\u9068", - "36971_ord": "\u906b", - "36973_ord": "\u906d", - "36974_ord": "\u906e", - "36980_ord": "\u9074", - "36981_ord": "\u9075", - "36982_ord": "\u9076", - "36985_ord": "\u9079", - "36989_ord": "\u907d", - "36991_ord": "\u907f", - "36992_ord": "\u9080", - "36994_ord": "\u9082", - "36995_ord": "\u9083", - "36_ord": "$", - "37000_ord": "\u9088", - "37003_ord": "\u908b", - "37009_ord": "\u9091", - "37011_ord": "\u9093", - "37013_ord": "\u9095", - "37019_ord": "\u909b", - "37024_ord": "\u90a0", - "37026_ord": "\u90a2", - "37027_ord": "\u90a3", - "37030_ord": "\u90a6", - "37034_ord": "\u90aa", - "37036_ord": "\u90ac", - "37038_ord": "\u90ae", - "37039_ord": "\u90af", - "37040_ord": "\u90b0", - "37041_ord": "\u90b1", - "37043_ord": "\u90b3", - "37044_ord": "\u90b4", - "37045_ord": "\u90b5", - "37048_ord": "\u90b8", - "37049_ord": "\u90b9", - "37050_ord": "\u90ba", - "37051_ord": "\u90bb", - "37057_ord": "\u90c1", - "37060_ord": "\u90c4", - "37061_ord": "\u90c5", - "37066_ord": "\u90ca", - "37070_ord": "\u90ce", - "37073_ord": "\u90d1", - "37075_ord": "\u90d3", - "37084_ord": "\u90dc", - "37085_ord": "\u90dd", - "37089_ord": "\u90e1", - "37090_ord": "\u90e2", - "37094_ord": "\u90e6", - "37095_ord": "\u90e7", - "37096_ord": "\u90e8", - "37098_ord": "\u90ea", - "37099_ord": "\u90eb", - "37101_ord": "\u90ed", - "37103_ord": "\u90ef", - "37108_ord": "\u90f4", - "37112_ord": "\u90f8", - "37117_ord": "\u90fd", - "37118_ord": "\u90fe", - "37119_ord": "\u90ff", - "37122_ord": "\u9102", - "37124_ord": "\u9104", - "37145_ord": "\u9119", - "37148_ord": "\u911c", - "37152_ord": "\u9120", - "37154_ord": "\u9122", - "37155_ord": "\u9123", - "37169_ord": "\u9131", - "37190_ord": "\u9146", - "37193_ord": "\u9149", - "37194_ord": "\u914a", - "37195_ord": "\u914b", - "37196_ord": "\u914c", - "37197_ord": "\u914d", - "37198_ord": "\u914e", - "37202_ord": "\u9152", - "37207_ord": "\u9157", - "37210_ord": "\u915a", - "37213_ord": "\u915d", - "37214_ord": "\u915e", - "37217_ord": "\u9161", - "37218_ord": "\u9162", - "37219_ord": "\u9163", - "37220_ord": "\u9164", - "37221_ord": "\u9165", - "37225_ord": "\u9169", - "37226_ord": "\u916a", - "37228_ord": "\u916c", - "37230_ord": "\u916e", - "37231_ord": "\u916f", - "37232_ord": "\u9170", - "37233_ord": "\u9171", - "37237_ord": "\u9175", - "37238_ord": "\u9176", - "37239_ord": "\u9177", - "37240_ord": "\u9178", - "37241_ord": "\u9179", - "37247_ord": "\u917f", - "37255_ord": "\u9187", - "37257_ord": "\u9189", - "37259_ord": "\u918b", - "37261_ord": "\u918d", - "37266_ord": "\u9192", - "37274_ord": "\u919a", - "37275_ord": "\u919b", - "37290_ord": "\u91aa", - "37294_ord": "\u91ae", - "37300_ord": "\u91b4", - "37301_ord": "\u91b5", - "37306_ord": "\u91ba", - "37314_ord": "\u91c2", - "37319_ord": "\u91c7", - "37321_ord": "\u91c9", - "37322_ord": "\u91ca", - "37324_ord": "\u91cc", - "37325_ord": "\u91cd", - "37326_ord": "\u91ce", - "37327_ord": "\u91cf", - "37328_ord": "\u91d0", - "37329_ord": "\u91d1", - "37340_ord": "\u91dc", - "37383_ord": "\u9207", - "37492_ord": "\u9274", - "37550_ord": "\u92ae", - "37846_ord": "\u93d6", - "37912_ord": "\u9418", - "37977_ord": "\u9459", - "37995_ord": "\u946b", - "37_ord": "%", - "38024_ord": "\u9488", - "38025_ord": "\u9489", - "38026_ord": "\u948a", - "38030_ord": "\u948e", - "38031_ord": "\u948f", - "38034_ord": "\u9492", - "38035_ord": "\u9493", - "38039_ord": "\u9497", - "38041_ord": "\u9499", - "38042_ord": "\u949a", - "38043_ord": "\u949b", - "38044_ord": "\u949c", - "38045_ord": "\u949d", - "38046_ord": "\u949e", - "38047_ord": "\u949f", - "38048_ord": "\u94a0", - "38049_ord": "\u94a1", - "38050_ord": "\u94a2", - "38052_ord": "\u94a4", - "38053_ord": "\u94a5", - "38054_ord": "\u94a6", - "38055_ord": "\u94a7", - "38056_ord": "\u94a8", - "38057_ord": "\u94a9", - "38062_ord": "\u94ae", - "38063_ord": "\u94af", - "38064_ord": "\u94b0", - "38065_ord": "\u94b1", - "38066_ord": "\u94b2", - "38067_ord": "\u94b3", - "38068_ord": "\u94b4", - "38069_ord": "\u94b5", - "38073_ord": "\u94b9", - "38074_ord": "\u94ba", - "38075_ord": "\u94bb", - "38076_ord": "\u94bc", - "38078_ord": "\u94be", - "38079_ord": "\u94bf", - "38080_ord": "\u94c0", - "38081_ord": "\u94c1", - "38082_ord": "\u94c2", - "38083_ord": "\u94c3", - "38084_ord": "\u94c4", - "38085_ord": "\u94c5", - "38086_ord": "\u94c6", - "38089_ord": "\u94c9", - "38094_ord": "\u94ce", - "38096_ord": "\u94d0", - "38105_ord": "\u94d9", - "38107_ord": "\u94db", - "38108_ord": "\u94dc", - "38109_ord": "\u94dd", - "38112_ord": "\u94e0", - "38114_ord": "\u94e2", - "38115_ord": "\u94e3", - "38116_ord": "\u94e4", - "38120_ord": "\u94e8", - "38121_ord": "\u94e9", - "38124_ord": "\u94ec", - "38125_ord": "\u94ed", - "38126_ord": "\u94ee", - "38130_ord": "\u94f2", - "38131_ord": "\u94f3", - "38133_ord": "\u94f5", - "38134_ord": "\u94f6", - "38136_ord": "\u94f8", - "38138_ord": "\u94fa", - "38142_ord": "\u94fe", - "38143_ord": "\u94ff", - "38144_ord": "\u9500", - "38145_ord": "\u9501", - "38146_ord": "\u9502", - "38148_ord": "\u9504", - "38149_ord": "\u9505", - "38152_ord": "\u9508", - "38153_ord": "\u9509", - "38155_ord": "\u950b", - "38156_ord": "\u950c", - "38159_ord": "\u950f", - "38160_ord": "\u9510", - "38161_ord": "\u9511", - "38167_ord": "\u9517", - "38169_ord": "\u9519", - "38170_ord": "\u951a", - "38177_ord": "\u9521", - "38178_ord": "\u9522", - "38179_ord": "\u9523", - "38180_ord": "\u9524", - "38181_ord": "\u9525", - "38182_ord": "\u9526", - "38189_ord": "\u952d", - "38190_ord": "\u952e", - "38191_ord": "\u952f", - "38192_ord": "\u9530", - "38193_ord": "\u9531", - "38194_ord": "\u9532", - "38197_ord": "\u9535", - "38199_ord": "\u9537", - "38201_ord": "\u9539", - "38202_ord": "\u953a", - "38203_ord": "\u953b", - "38205_ord": "\u953d", - "38206_ord": "\u953e", - "38208_ord": "\u9540", - "38209_ord": "\u9541", - "38210_ord": "\u9542", - "38215_ord": "\u9547", - "38217_ord": "\u9549", - "38218_ord": "\u954a", - "38220_ord": "\u954c", - "38221_ord": "\u954d", - "38224_ord": "\u9550", - "38225_ord": "\u9551", - "38226_ord": "\u9552", - "38229_ord": "\u9555", - "38230_ord": "\u9556", - "38235_ord": "\u955b", - "38236_ord": "\u955c", - "38237_ord": "\u955d", - "38238_ord": "\u955e", - "38243_ord": "\u9563", - "38250_ord": "\u956a", - "38252_ord": "\u956c", - "38253_ord": "\u956d", - "38255_ord": "\u956f", - "38256_ord": "\u9570", - "38259_ord": "\u9573", - "38261_ord": "\u9575", - "38262_ord": "\u9576", - "38271_ord": "\u957f", - "38283_ord": "\u958b", - "38291_ord": "\u9593", - "38343_ord": "\u95c7", - "38367_ord": "\u95df", - "38376_ord": "\u95e8", - "38378_ord": "\u95ea", - "38379_ord": "\u95eb", - "38381_ord": "\u95ed", - "38382_ord": "\u95ee", - "38383_ord": "\u95ef", - "38384_ord": "\u95f0", - "38385_ord": "\u95f1", - "38386_ord": "\u95f2", - "38387_ord": "\u95f3", - "38388_ord": "\u95f4", - "38389_ord": "\u95f5", - "38391_ord": "\u95f7", - "38392_ord": "\u95f8", - "38393_ord": "\u95f9", - "38394_ord": "\u95fa", - "38395_ord": "\u95fb", - "38396_ord": "\u95fc", - "38397_ord": "\u95fd", - "38398_ord": "\u95fe", - "38400_ord": "\u9600", - "38401_ord": "\u9601", - "38402_ord": "\u9602", - "38403_ord": "\u9603", - "38405_ord": "\u9605", - "38406_ord": "\u9606", - "38408_ord": "\u9608", - "38409_ord": "\u9609", - "38410_ord": "\u960a", - "38413_ord": "\u960d", - "38414_ord": "\u960e", - "38415_ord": "\u960f", - "38416_ord": "\u9610", - "38417_ord": "\u9611", - "38420_ord": "\u9614", - "38421_ord": "\u9615", - "38422_ord": "\u9616", - "38423_ord": "\u9617", - "38425_ord": "\u9619", - "38426_ord": "\u961a", - "38428_ord": "\u961c", - "38431_ord": "\u961f", - "38433_ord": "\u9621", - "38442_ord": "\u962a", - "38446_ord": "\u962e", - "38449_ord": "\u9631", - "38450_ord": "\u9632", - "38451_ord": "\u9633", - "38452_ord": "\u9634", - "38453_ord": "\u9635", - "38454_ord": "\u9636", - "38459_ord": "\u963b", - "38463_ord": "\u963f", - "38464_ord": "\u9640", - "38466_ord": "\u9642", - "38468_ord": "\u9644", - "38469_ord": "\u9645", - "38470_ord": "\u9646", - "38471_ord": "\u9647", - "38472_ord": "\u9648", - "38475_ord": "\u964b", - "38476_ord": "\u964c", - "38477_ord": "\u964d", - "38480_ord": "\u9650", - "38485_ord": "\u9655", - "38491_ord": "\u965b", - "38495_ord": "\u965f", - "38497_ord": "\u9661", - "38498_ord": "\u9662", - "38500_ord": "\u9664", - "38504_ord": "\u9668", - "38505_ord": "\u9669", - "38506_ord": "\u966a", - "38508_ord": "\u966c", - "38514_ord": "\u9672", - "38517_ord": "\u9675", - "38518_ord": "\u9676", - "38519_ord": "\u9677", - "38533_ord": "\u9685", - "38534_ord": "\u9686", - "38539_ord": "\u968b", - "38541_ord": "\u968d", - "38543_ord": "\u968f", - "38544_ord": "\u9690", - "38548_ord": "\u9694", - "38551_ord": "\u9697", - "38552_ord": "\u9698", - "38553_ord": "\u9699", - "38556_ord": "\u969c", - "38567_ord": "\u96a7", - "38579_ord": "\u96b3", - "38582_ord": "\u96b6", - "38588_ord": "\u96bc", - "38589_ord": "\u96bd", - "38590_ord": "\u96be", - "38592_ord": "\u96c0", - "38593_ord": "\u96c1", - "38596_ord": "\u96c4", - "38597_ord": "\u96c5", - "38598_ord": "\u96c6", - "38599_ord": "\u96c7", - "38601_ord": "\u96c9", - "38604_ord": "\u96cc", - "38605_ord": "\u96cd", - "38606_ord": "\u96ce", - "38607_ord": "\u96cf", - "38610_ord": "\u96d2", - "38613_ord": "\u96d5", - "38632_ord": "\u96e8", - "38634_ord": "\u96ea", - "38639_ord": "\u96ef", - "38643_ord": "\u96f3", - "38646_ord": "\u96f6", - "38647_ord": "\u96f7", - "38649_ord": "\u96f9", - "38654_ord": "\u96fe", - "38656_ord": "\u9700", - "38657_ord": "\u9701", - "38660_ord": "\u9704", - "38662_ord": "\u9706", - "38663_ord": "\u9707", - "38665_ord": "\u9709", - "38669_ord": "\u970d", - "38670_ord": "\u970e", - "38675_ord": "\u9713", - "38678_ord": "\u9716", - "38684_ord": "\u971c", - "38686_ord": "\u971e", - "38691_ord": "\u9723", - "38701_ord": "\u972d", - "38706_ord": "\u9732", - "38712_ord": "\u9738", - "38713_ord": "\u9739", - "38718_ord": "\u973e", - "38738_ord": "\u9752", - "38739_ord": "\u9753", - "38742_ord": "\u9756", - "38745_ord": "\u9759", - "38747_ord": "\u975b", - "38750_ord": "\u975e", - "38752_ord": "\u9760", - "38753_ord": "\u9761", - "38754_ord": "\u9762", - "38757_ord": "\u9765", - "38761_ord": "\u9769", - "38771_ord": "\u9773", - "38772_ord": "\u9774", - "38774_ord": "\u9776", - "38789_ord": "\u9785", - "38795_ord": "\u978b", - "38797_ord": "\u978d", - "38801_ord": "\u9791", - "38808_ord": "\u9798", - "38810_ord": "\u979a", - "38816_ord": "\u97a0", - "38819_ord": "\u97a3", - "38827_ord": "\u97ab", - "38829_ord": "\u97ad", - "38830_ord": "\u97ae", - "38850_ord": "\u97c2", - "38886_ord": "\u97e6", - "38887_ord": "\u97e7", - "38889_ord": "\u97e9", - "38890_ord": "\u97ea", - "38892_ord": "\u97ec", - "38893_ord": "\u97ed", - "38899_ord": "\u97f3", - "38901_ord": "\u97f5", - "38902_ord": "\u97f6", - "38955_ord": "\u982b", - "38994_ord": "\u9852", - "38_ord": "&", - "39029_ord": "\u9875", - "39030_ord": "\u9876", - "39031_ord": "\u9877", - "39033_ord": "\u9879", - "39034_ord": "\u987a", - "39035_ord": "\u987b", - "39036_ord": "\u987c", - "39037_ord": "\u987d", - "39038_ord": "\u987e", - "39039_ord": "\u987f", - "39040_ord": "\u9880", - "39041_ord": "\u9881", - "39042_ord": "\u9882", - "39044_ord": "\u9884", - "39045_ord": "\u9885", - "39046_ord": "\u9886", - "39047_ord": "\u9887", - "39048_ord": "\u9888", - "39049_ord": "\u9889", - "39050_ord": "\u988a", - "39052_ord": "\u988c", - "39053_ord": "\u988d", - "39056_ord": "\u9890", - "39057_ord": "\u9891", - "39059_ord": "\u9893", - "39060_ord": "\u9894", - "39062_ord": "\u9896", - "39063_ord": "\u9897", - "39064_ord": "\u9898", - "39066_ord": "\u989a", - "39067_ord": "\u989b", - "39068_ord": "\u989c", - "39069_ord": "\u989d", - "39072_ord": "\u98a0", - "39073_ord": "\u98a1", - "39076_ord": "\u98a4", - "39078_ord": "\u98a6", - "39079_ord": "\u98a7", - "39118_ord": "\u98ce", - "39122_ord": "\u98d2", - "39123_ord": "\u98d3", - "39125_ord": "\u98d5", - "39128_ord": "\u98d8", - "39129_ord": "\u98d9", - "39130_ord": "\u98da", - "39134_ord": "\u98de", - "39135_ord": "\u98df", - "39143_ord": "\u98e7", - "39144_ord": "\u98e8", - "39181_ord": "\u990d", - "39184_ord": "\u9910", - "39214_ord": "\u992e", - "39253_ord": "\u9955", - "39269_ord": "\u9965", - "39270_ord": "\u9966", - "39274_ord": "\u996a", - "39276_ord": "\u996c", - "39277_ord": "\u996d", - "39278_ord": "\u996e", - "39279_ord": "\u996f", - "39280_ord": "\u9970", - "39281_ord": "\u9971", - "39282_ord": "\u9972", - "39284_ord": "\u9974", - "39285_ord": "\u9975", - "39286_ord": "\u9976", - "39287_ord": "\u9977", - "39290_ord": "\u997a", - "39292_ord": "\u997c", - "39293_ord": "\u997d", - "39295_ord": "\u997f", - "39296_ord": "\u9980", - "39297_ord": "\u9981", - "39301_ord": "\u9985", - "39302_ord": "\u9986", - "39304_ord": "\u9988", - "39307_ord": "\u998b", - "39309_ord": "\u998d", - "39310_ord": "\u998e", - "39311_ord": "\u998f", - "39312_ord": "\u9990", - "39314_ord": "\u9992", - "39315_ord": "\u9993", - "39316_ord": "\u9994", - "39317_ord": "\u9995", - "39318_ord": "\u9996", - "39321_ord": "\u9999", - "39333_ord": "\u99a5", - "39336_ord": "\u99a8", - "39529_ord": "\u9a69", - "39532_ord": "\u9a6c", - "39533_ord": "\u9a6d", - "39534_ord": "\u9a6e", - "39535_ord": "\u9a6f", - "39536_ord": "\u9a70", - "39537_ord": "\u9a71", - "39539_ord": "\u9a73", - "39540_ord": "\u9a74", - "39542_ord": "\u9a76", - "39543_ord": "\u9a77", - "39544_ord": "\u9a78", - "39545_ord": "\u9a79", - "39546_ord": "\u9a7a", - "39547_ord": "\u9a7b", - "39548_ord": "\u9a7c", - "39549_ord": "\u9a7d", - "39550_ord": "\u9a7e", - "39551_ord": "\u9a7f", - "39552_ord": "\u9a80", - "39553_ord": "\u9a81", - "39554_ord": "\u9a82", - "39556_ord": "\u9a84", - "39557_ord": "\u9a85", - "39558_ord": "\u9a86", - "39559_ord": "\u9a87", - "39560_ord": "\u9a88", - "39562_ord": "\u9a8a", - "39563_ord": "\u9a8b", - "39564_ord": "\u9a8c", - "39567_ord": "\u9a8f", - "39568_ord": "\u9a90", - "39569_ord": "\u9a91", - "39574_ord": "\u9a96", - "39575_ord": "\u9a97", - "39576_ord": "\u9a98", - "39578_ord": "\u9a9a", - "39579_ord": "\u9a9b", - "39580_ord": "\u9a9c", - "39582_ord": "\u9a9e", - "39584_ord": "\u9aa0", - "39585_ord": "\u9aa1", - "39588_ord": "\u9aa4", - "39589_ord": "\u9aa5", - "39591_ord": "\u9aa7", - "39592_ord": "\u9aa8", - "39600_ord": "\u9ab0", - "39606_ord": "\u9ab6", - "39607_ord": "\u9ab7", - "39608_ord": "\u9ab8", - "39612_ord": "\u9abc", - "39616_ord": "\u9ac0", - "39619_ord": "\u9ac3", - "39621_ord": "\u9ac5", - "39627_ord": "\u9acb", - "39633_ord": "\u9ad1", - "39635_ord": "\u9ad3", - "39640_ord": "\u9ad8", - "39649_ord": "\u9ae1", - "39654_ord": "\u9ae6", - "39659_ord": "\u9aeb", - "39661_ord": "\u9aed", - "39663_ord": "\u9aef", - "39675_ord": "\u9afb", - "39683_ord": "\u9b03", - "39699_ord": "\u9b13", - "39711_ord": "\u9b1f", - "39715_ord": "\u9b23", - "39730_ord": "\u9b32", - "39739_ord": "\u9b3b", - "39740_ord": "\u9b3c", - "39745_ord": "\u9b41", - "39746_ord": "\u9b42", - "39748_ord": "\u9b44", - "39749_ord": "\u9b45", - "39751_ord": "\u9b47", - "39753_ord": "\u9b49", - "39757_ord": "\u9b4d", - "39759_ord": "\u9b4f", - "39761_ord": "\u9b51", - "39764_ord": "\u9b54", - "39_ord": "'", - "40060_ord": "\u9c7c", - "40063_ord": "\u9c7f", - "40065_ord": "\u9c81", - "40071_ord": "\u9c87", - "40075_ord": "\u9c8b", - "40077_ord": "\u9c8d", - "40080_ord": "\u9c90", - "40081_ord": "\u9c91", - "40084_ord": "\u9c94", - "40091_ord": "\u9c9b", - "40092_ord": "\u9c9c", - "40096_ord": "\u9ca0", - "40100_ord": "\u9ca4", - "40103_ord": "\u9ca7", - "40104_ord": "\u9ca8", - "40112_ord": "\u9cb0", - "40114_ord": "\u9cb2", - "40120_ord": "\u9cb8", - "40131_ord": "\u9cc3", - "40132_ord": "\u9cc4", - "40140_ord": "\u9ccc", - "40141_ord": "\u9ccd", - "40143_ord": "\u9ccf", - "40150_ord": "\u9cd6", - "40156_ord": "\u9cdc", - "40157_ord": "\u9cdd", - "40158_ord": "\u9cde", - "40479_ord": "\u9e1f", - "40480_ord": "\u9e20", - "40481_ord": "\u9e21", - "40482_ord": "\u9e22", - "40483_ord": "\u9e23", - "40485_ord": "\u9e25", - "40486_ord": "\u9e26", - "40488_ord": "\u9e28", - "40489_ord": "\u9e29", - "40492_ord": "\u9e2c", - "40493_ord": "\u9e2d", - "40494_ord": "\u9e2e", - "40495_ord": "\u9e2f", - "40497_ord": "\u9e31", - "40499_ord": "\u9e33", - "40501_ord": "\u9e35", - "40503_ord": "\u9e37", - "40509_ord": "\u9e3d", - "40510_ord": "\u9e3e", - "40511_ord": "\u9e3f", - "40514_ord": "\u9e42", - "40515_ord": "\u9e43", - "40516_ord": "\u9e44", - "40517_ord": "\u9e45", - "40518_ord": "\u9e46", - "40521_ord": "\u9e49", - "40522_ord": "\u9e4a", - "40527_ord": "\u9e4f", - "40529_ord": "\u9e51", - "40535_ord": "\u9e57", - "40536_ord": "\u9e58", - "40538_ord": "\u9e5a", - "40540_ord": "\u9e5c", - "40542_ord": "\u9e5e", - "40547_ord": "\u9e63", - "40548_ord": "\u9e64", - "40550_ord": "\u9e66", - "40555_ord": "\u9e6b", - "40557_ord": "\u9e6d", - "40560_ord": "\u9e70", - "40563_ord": "\u9e73", - "40575_ord": "\u9e7f", - "40578_ord": "\u9e82", - "40587_ord": "\u9e8b", - "40594_ord": "\u9e92", - "40595_ord": "\u9e93", - "40605_ord": "\u9e9d", - "40607_ord": "\u9e9f", - "40614_ord": "\u9ea6", - "40635_ord": "\u9ebb", - "40637_ord": "\u9ebd", - "40638_ord": "\u9ebe", - "40644_ord": "\u9ec4", - "40653_ord": "\u9ecd", - "40654_ord": "\u9ece", - "40655_ord": "\u9ecf", - "40657_ord": "\u9ed1", - "40660_ord": "\u9ed4", - "40664_ord": "\u9ed8", - "40667_ord": "\u9edb", - "40668_ord": "\u9edc", - "40669_ord": "\u9edd", - "40671_ord": "\u9edf", - "40672_ord": "\u9ee0", - "40687_ord": "\u9eef", - "40702_ord": "\u9efe", - "40715_ord": "\u9f0b", - "40717_ord": "\u9f0d", - "40718_ord": "\u9f0e", - "40723_ord": "\u9f13", - "40736_ord": "\u9f20", - "40763_ord": "\u9f3b", - "40766_ord": "\u9f3e", - "40784_ord": "\u9f50", - "40831_ord": "\u9f7f", - "40833_ord": "\u9f81", - "40836_ord": "\u9f84", - "40840_ord": "\u9f88", - "40842_ord": "\u9f8a", - "40843_ord": "\u9f8b", - "40844_ord": "\u9f8c", - "40847_ord": "\u9f8f", - "40857_ord": "\u9f99", - "40858_ord": "\u9f9a", - "40859_ord": "\u9f9b", - "40863_ord": "\u9f9f", - "40_ord": "(", - "41_ord": ")", - "42_ord": "*", - "43_ord": "+", - "44_ord": ",", - "45_ord": "-", - "46_ord": ".", - "47_ord": "/", - "48_ord": "0", - "49_ord": "1", - "50_ord": "2", - "51_ord": "3", - "52_ord": "4", - "53_ord": "5", - "54_ord": "6", - "55_ord": "7", - "56_ord": "8", - "57_ord": "9", - "58_ord": ":", - "59_ord": ";", - "60_ord": "<", - "61_ord": "=", - "62_ord": ">", - "63_ord": "?", - "64_ord": "@", - "65072_ord": "\ufe30", - "65104_ord": "\ufe50", - "65105_ord": "\ufe51", - "65106_ord": "\ufe52", - "65108_ord": "\ufe54", - "65110_ord": "\ufe56", - "65288_ord": "\uff08", - "65289_ord": "\uff09", - "65291_ord": "\uff0b", - "65292_ord": "\uff0c", - "65294_ord": "\uff0e", - "65374_ord": "\uff5e", - "65509_ord": "\uffe5", - "65_ord": "A", - "66_ord": "B", - "67_ord": "C", - "68_ord": "D", - "69_ord": "E", - "70_ord": "F", - "71_ord": "G", - "72_ord": "H", - "73_ord": "I", - "74_ord": "J", - "75_ord": "K", - "76_ord": "L", - "77_ord": "M", - "78_ord": "N", - "79_ord": "O", - "80_ord": "P", - "81_ord": "Q", - "8211_ord": "\u2013", - "8212_ord": "\u2014", - "8213_ord": "\u2015", - "8216_ord": "\u2018", - "8217_ord": "\u2019", - "8220_ord": "\u201c", - "8221_ord": "\u201d", - "8230_ord": "\u2026", - "8240_ord": "\u2030", - "8242_ord": "\u2032", - "8251_ord": "\u203b", - "82_ord": "R", - "83_ord": "S", - "8451_ord": "\u2103", - "84_ord": "T", - "8544_ord": "\u2160", - "8545_ord": "\u2161", - "8546_ord": "\u2162", - "8547_ord": "\u2163", - "8594_ord": "\u2192", - "8595_ord": "\u2193", - "85_ord": "U", - "86_ord": "V", - "8712_ord": "\u2208", - "8730_ord": "\u221a", - "8745_ord": "\u2229", - "8757_ord": "\u2235", - "8758_ord": "\u2236", - "87_ord": "W", - "8800_ord": "\u2260", - "8804_ord": "\u2264", - "8805_ord": "\u2265", - "88_ord": "X", - "89_ord": "Y", - "90_ord": "Z", - "91_ord": "[", - "92_ord": "\\", - "9312_ord": "\u2460", - "9313_ord": "\u2461", - "9314_ord": "\u2462", - "9315_ord": "\u2463", - "9316_ord": "\u2464", - "9317_ord": "\u2465", - "9318_ord": "\u2466", - "9319_ord": "\u2467", - "9320_ord": "\u2468", - "9321_ord": "\u2469", - "9332_ord": "\u2474", - "9333_ord": "\u2475", - "9334_ord": "\u2476", - "9342_ord": "\u247e", - "9343_ord": "\u247f", - "9344_ord": "\u2480", - "9346_ord": "\u2482", - "9347_ord": "\u2483", - "9348_ord": "\u2484", - "9349_ord": "\u2485", - "9350_ord": "\u2486", - "9352_ord": "\u2488", - "9353_ord": "\u2489", - "9354_ord": "\u248a", - "93_ord": "]", - "945_ord": "\u03b1", - "946_ord": "\u03b2", - "9472_ord": "\u2500", - "9473_ord": "\u2501", - "9474_ord": "\u2502", - "9484_ord": "\u250c", - "9488_ord": "\u2510", - "94_ord": "^", - "9585_ord": "\u2571", - "95_ord": "_", - "9632_ord": "\u25a0", - "9633_ord": "\u25a1", - "9650_ord": "\u25b2", - "9651_ord": "\u25b3", - "9670_ord": "\u25c6", - "9671_ord": "\u25c7", - "9675_ord": "\u25cb", - "9678_ord": "\u25ce", - "9679_ord": "\u25cf", - "96_ord": "`", - "9733_ord": "\u2605", - "9734_ord": "\u2606", - "97_ord": "a", - "98_ord": "b", - "99_ord": "c" -} \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/char_dict_en.json b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/char_dict_en.json deleted file mode 100644 index b41694625..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/char_dict_en.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "100_ord": "d", - "101_ord": "e", - "102_ord": "f", - "103_ord": "g", - "104_ord": "h", - "105_ord": "i", - "106_ord": "j", - "107_ord": "k", - "108_ord": "l", - "109_ord": "m", - "110_ord": "n", - "111_ord": "o", - "112_ord": "p", - "113_ord": "q", - "114_ord": "r", - "115_ord": "s", - "116_ord": "t", - "117_ord": "u", - "118_ord": "v", - "119_ord": "w", - "120_ord": "x", - "121_ord": "y", - "122_ord": "z", - "48_ord": "0", - "49_ord": "1", - "50_ord": "2", - "51_ord": "3", - "52_ord": "4", - "53_ord": "5", - "54_ord": "6", - "55_ord": "7", - "56_ord": "8", - "57_ord": "9", - "97_ord": "a", - "98_ord": "b", - "99_ord": "c" -} \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/ord_map.json b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/ord_map.json deleted file mode 100644 index b0f7c4a6f..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/ord_map.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "0_index": "122", - "100_ord": "19", - "101_ord": "26", - "102_ord": "14", - "103_ord": "1", - "104_ord": "34", - "105_ord": "5", - "106_ord": "32", - "107_ord": "6", - "108_ord": "23", - "109_ord": "29", - "10_index": "116", - "110_ord": "30", - "111_ord": "35", - "112_ord": "11", - "113_ord": "12", - "114_ord": "15", - "115_ord": "33", - "116_ord": "10", - "117_ord": "3", - "118_ord": "8", - "119_ord": "4", - "11_index": "112", - "120_ord": "27", - "121_ord": "28", - "122_ord": "0", - "12_index": "113", - "13_index": "55", - "14_index": "102", - "15_index": "114", - "16_index": "53", - "17_index": "54", - "18_index": "52", - "19_index": "100", - "1_index": "103", - "20_index": "50", - "21_index": "51", - "22_index": "49", - "23_index": "108", - "24_index": "48", - "25_index": "98", - "26_index": "101", - "27_index": "120", - "28_index": "121", - "29_index": "109", - "2_index": "57", - "30_index": "110", - "31_index": "56", - "32_index": "106", - "33_index": "115", - "34_index": "104", - "35_index": "111", - "3_index": "117", - "48_ord": "24", - "49_ord": "22", - "4_index": "119", - "50_ord": "20", - "51_ord": "21", - "52_ord": "18", - "53_ord": "16", - "54_ord": "17", - "55_ord": "13", - "56_ord": "31", - "57_ord": "2", - "5_index": "105", - "6_index": "107", - "7_index": "97", - "8_index": "118", - "97_ord": "7", - "98_ord": "25", - "99_ord": "9", - "9_index": "99" -} \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/ord_map_cn.json b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/ord_map_cn.json deleted file mode 100644 index c3874cc95..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/ord_map_cn.json +++ /dev/null @@ -1,11650 +0,0 @@ -{ - "0_index": "22366", - "1000_index": "26290", - "1001_index": "33457", - "1002_index": "20495", - "1003_index": "25098", - "1004_index": "37230", - "1005_index": "37194", - "1006_index": "34809", - "1007_index": "24009", - "1008_index": "35894", - "1009_index": "27602", - "100_index": "38384", - "100_ord": "3084", - "1010_index": "24196", - "1011_index": "91", - "1012_index": "26049", - "1013_index": "29742", - "1014_index": "36929", - "1015_index": "26681", - "1016_index": "30939", - "1017_index": "21708", - "1018_index": "37266", - "1019_index": "35137", - "101_index": "30572", - "101_ord": "2642", - "1020_index": "22139", - "1021_index": "39045", - "1022_index": "21106", - "1023_index": "8220", - "1024_index": "21381", - "1025_index": "31657", - "1026_index": "29649", - "1027_index": "25439", - "1028_index": "30142", - "1029_index": "34000", - "102_index": "25324", - "102_ord": "4098", - "1030_index": "33391", - "1031_index": "35268", - "1032_index": "25260", - "1033_index": "21994", - "1034_index": "38504", - "1035_index": "31079", - "1036_index": "31364", - "1037_index": "24443", - "1038_index": "32435", - "1039_index": "27573", - "103_index": "12300", - "103_ord": "4065", - "1040_index": "35891", - "1041_index": "35751", - "1042_index": "20925", - "1043_index": "38514", - "1044_index": "29831", - "1045_index": "36426", - "1046_index": "215", - "1047_index": "25140", - "1048_index": "28246", - "1049_index": "25781", - "104_index": "21550", - "104_ord": "2633", - "1050_index": "39040", - "1051_index": "36730", - "1052_index": "25874", - "1053_index": "36828", - "1054_index": "32479", - "1054_ord": "2636", - "1055_index": "26355", - "1055_ord": "2491", - "1056_index": "39282", - "1056_ord": "1970", - "1057_index": "34148", - "1058_index": "32451", - "1059_index": "28508", - "105_index": "27617", - "105_ord": "3386", - "1060_index": "33889", - "1061_index": "26865", - "1062_index": "27012", - "1063_index": "26279", - "1064_index": "35797", - "1065_index": "32500", - "1066_index": "39333", - "1067_index": "27982", - "1068_index": "26694", - "1069_index": "26234", - "106_index": "26242", - "106_ord": "3426", - "1070_index": "38686", - "1071_index": "23391", - "1072_index": "23614", - "1073_index": "27015", - "1074_index": "30875", - "1075_index": "31579", - "1076_index": "25101", - "1077_index": "32482", - "1078_index": "33576", - "1079_index": "23043", - "107_index": "36753", - "107_ord": "5798", - "1080_index": "25903", - "1081_index": "21002", - "1082_index": "20524", - "1083_index": "32427", - "1084_index": "21171", - "1085_index": "33192", - "1086_index": "27719", - "1087_index": "38598", - "1088_index": "27498", - "1089_index": "32470", - "108_index": "26426", - "108_ord": "5105", - "1090_index": "33632", - "1091_index": "28518", - "1092_index": "31964", - "1093_index": "27757", - "1094_index": "26474", - "1095_index": "33564", - "1096_index": "25830", - "1097_index": "20443", - "1098_index": "30561", - "1099_index": "33313", - "109_index": "25022", - "109_ord": "515", - "10_index": "28385", - "1100_index": "33670", - "1101_index": "35115", - "1102_index": "39739", - "1103_index": "20250", - "1104_index": "28425", - "1105_index": "27996", - "1106_index": "60", - "1107_index": "26411", - "1108_index": "27084", - "1109_index": "22123", - "110_index": "36148", - "110_ord": "5649", - "1110_index": "35886", - "1111_index": "32990", - "1112_index": "27684", - "1113_index": "24541", - "1114_index": "26137", - "1115_index": "30113", - "1116_index": "25954", - "1117_index": "29579", - "1118_index": "36341", - "1119_index": "35823", - "111_index": "26126", - "111_ord": "1736", - "1120_index": "23596", - "1121_index": "20711", - "1122_index": "32449", - "1123_index": "25672", - "1124_index": "23517", - "1125_index": "36798", - "1126_index": "27607", - "1127_index": "35282", - "1128_index": "29980", - "1129_index": "36487", - "112_index": "27838", - "112_ord": "3265", - "1130_index": "34619", - "1131_index": "36855", - "1132_index": "21471", - "1133_index": "20889", - "1134_index": "29100", - "1135_index": "33704", - "1136_index": "30244", - "1137_index": "28641", - "1138_index": "39559", - "1139_index": "30068", - "113_index": "37202", - "113_ord": "1179", - "1140_index": "23125", - "1141_index": "31161", - "1142_index": "30589", - "1143_index": "38403", - "1144_index": "25684", - "1145_index": "28893", - "1146_index": "26023", - "1147_index": "24687", - "1148_index": "23663", - "1149_index": "21564", - "114_index": "85", - "114_ord": "2748", - "1150_index": "27585", - "1151_index": "31756", - "1152_index": "33181", - "1153_index": "32480", - "1154_index": "43", - "1155_index": "29943", - "1156_index": "38238", - "1157_index": "61", - "1158_index": "35278", - "1159_index": "31171", - "115_index": "26941", - "115_ord": "234", - "1160_index": "33073", - "1161_index": "24488", - "1162_index": "28572", - "1163_index": "21464", - "1164_index": "36470", - "1165_index": "39184", - "1166_index": "39315", - "1167_index": "28831", - "1168_index": "39540", - "1169_index": "24214", - "116_index": "28059", - "116_ord": "2540", - "1170_index": "26925", - "1171_index": "28851", - "1172_index": "34299", - "1173_index": "39134", - "1174_index": "27048", - "1175_index": "23706", - "1176_index": "31361", - "1177_index": "58", - "1178_index": "26647", - "1179_index": "113", - "117_index": "27986", - "117_ord": "5634", - "1180_index": "26360", - "1181_index": "27183", - "1182_index": "30633", - "1183_index": "23646", - "1184_index": "25970", - "1185_index": "33669", - "1186_index": "32433", - "1187_index": "38236", - "1188_index": "32779", - "1189_index": "21711", - "118_index": "29240", - "118_ord": "4901", - "1190_index": "35032", - "1191_index": "36989", - "1192_index": "40594", - "1193_index": "40141", - "1194_index": "37027", - "1195_index": "21981", - "1196_index": "32652", - "1197_index": "28072", - "1198_index": "30697", - "1199_index": "23004", - "119_index": "26946", - "119_ord": "4430", - "11_index": "30471", - "1200_index": "38701", - "1201_index": "29486", - "1202_index": "26115", - "1203_index": "33828", - "1204_index": "24275", - "1205_index": "32831", - "1206_index": "26837", - "1207_index": "39548", - "1208_index": "30933", - "1209_index": "38613", - "120_index": "23919", - "120_ord": "175", - "1210_index": "20849", - "1211_index": "29637", - "1212_index": "38477", - "1213_index": "25527", - "1214_index": "23394", - "1215_index": "22418", - "1216_index": "32290", - "1217_index": "36319", - "1218_index": "28892", - "1219_index": "37241", - "121_index": "20923", - "121_ord": "622", - "1220_index": "33745", - "1221_index": "51", - "1222_index": "28061", - "1223_index": "26214", - "1224_index": "33722", - "1225_index": "38209", - "1226_index": "36894", - "1227_index": "25234", - "12289_ord": "3480", - "1228_index": "24573", - "12290_ord": "2402", - "12295_ord": "5707", - "12296_ord": "3559", - "12297_ord": "132", - "12298_ord": "1499", - "12299_ord": "3600", - "1229_index": "8216", - "122_index": "25720", - "122_ord": "1904", - "12300_ord": "103", - "12301_ord": "3130", - "12302_ord": "5713", - "12303_ord": "919", - "12304_ord": "3098", - "12305_ord": "3907", - "12308_ord": "827", - "12309_ord": "1993", - "1230_index": "27465", - "1231_index": "31206", - "1232_index": "21119", - "1233_index": "35930", - "1234_index": "25253", - "1235_index": "23495", - "1236_index": "36884", - "1237_index": "26020", - "1238_index": "65105", - "12390_ord": "2274", - "12394_ord": "2987", - "1239_index": "24819", - "123_index": "26494", - "123_ord": "2049", - "1240_index": "29273", - "1241_index": "38044", - "1242_index": "23386", - "1243_index": "33519", - "1244_index": "36891", - "1245_index": "8211", - "1246_index": "34223", - "1247_index": "25285", - "1248_index": "33039", - "1249_index": "40156", - "124_index": "24676", - "124_ord": "5559", - "1250_index": "33280", - "1251_index": "38827", - "1252_index": "26979", - "1253_index": "32493", - "1254_index": "20521", - "1255_index": "26429", - "1256_index": "28478", - "1257_index": "36874", - "1258_index": "20312", - "1259_index": "25361", - "125_index": "22372", - "125_ord": "5029", - "1260_index": "21736", - "1261_index": "39277", - "1262_index": "31449", - "1263_index": "25581", - "1264_index": "37041", - "1265_index": "22475", - "1266_index": "8221", - "1267_index": "24191", - "1268_index": "24596", - "1269_index": "29228", - "126_index": "20873", - "126_ord": "1402", - "1270_index": "25534", - "1271_index": "26552", - "1272_index": "38030", - "1273_index": "20163", - "1274_index": "24785", - "1275_index": "33421", - "1276_index": "23849", - "1277_index": "26657", - "1278_index": "32511", - "1279_index": "34945", - "127_index": "30333", - "1280_index": "30546", - "1281_index": "35937", - "1282_index": "24561", - "1283_index": "30460", - "1284_index": "23274", - "1285_index": "29669", - "1286_index": "26990", - "1287_index": "31245", - "1288_index": "30749", - "1289_index": "38208", - "128_index": "36305", - "1290_index": "27742", - "1291_index": "32873", - "1292_index": "23384", - "1293_index": "20247", - "1294_index": "20025", - "1295_index": "94", - "1296_index": "28107", - "1297_index": "32443", - "1298_index": "35856", - "1299_index": "38107", - "129_index": "35692", - "12_index": "34584", - "1300_index": "24935", - "1301_index": "38082", - "1302_index": "21320", - "1303_index": "32602", - "1304_index": "36405", - "1305_index": "28796", - "1306_index": "29190", - "1307_index": "20195", - "1308_index": "20915", - "1309_index": "31108", - "130_index": "30768", - "1310_index": "28338", - "1311_index": "27882", - "1312_index": "34731", - "1313_index": "35335", - "1314_index": "24639", - "1315_index": "23510", - "1316_index": "33255", - "1317_index": "35124", - "1318_index": "27036", - "1319_index": "37550", - "131_index": "38472", - "1320_index": "31491", - "1321_index": "23156", - "1322_index": "24319", - "1323_index": "32119", - "1324_index": "32705", - "1325_index": "31946", - "1326_index": "31881", - "1327_index": "38069", - "1328_index": "20307", - "1329_index": "21574", - "132_index": "12297", - "1330_index": "25171", - "1331_index": "25290", - "1332_index": "20065", - "1333_index": "37045", - "1334_index": "28180", - "1335_index": "38423", - "1336_index": "39038", - "1337_index": "25513", - "1338_index": "27974", - "1339_index": "38252", - "133_index": "28655", - "1340_index": "36743", - "1341_index": "21548", - "1342_index": "31252", - "1343_index": "20002", - "1344_index": "28828", - "1345_index": "31505", - "1346_index": "30544", - "1347_index": "29462", - "1348_index": "31526", - "1349_index": "26097", - "134_index": "21734", - "1350_index": "65108", - "1351_index": "30654", - "1352_index": "23413", - "1353_index": "28120", - "1354_index": "22025", - "1355_index": "24971", - "1356_index": "35784", - "1357_index": "39050", - "1358_index": "35271", - "1359_index": "30294", - "135_index": "21584", - "1360_index": "24067", - "1361_index": "29401", - "1362_index": "26465", - "1363_index": "24904", - "1364_index": "24699", - "1365_index": "23472", - "1366_index": "24341", - "1367_index": "21878", - "1368_index": "33606", - "1369_index": "27773", - "136_index": "22362", - "1370_index": "23519", - "1371_index": "40075", - "1372_index": "30418", - "1373_index": "32535", - "1374_index": "23609", - "1375_index": "28024", - "1376_index": "32043", - "1377_index": "24643", - "1378_index": "30563", - "1379_index": "22100", - "137_index": "28465", - "1380_index": "21494", - "1381_index": "29275", - "1382_index": "21355", - "1383_index": "21271", - "1384_index": "30465", - "1385_index": "20645", - "1386_index": "25925", - "1387_index": "21069", - "1388_index": "28557", - "1389_index": "21139", - "138_index": "26911", - "1390_index": "30759", - "1391_index": "24674", - "1392_index": "36819", - "1393_index": "22276", - "1394_index": "21472", - "1395_index": "35821", - "1396_index": "21270", - "1397_index": "20134", - "1398_index": "20115", - "1399_index": "27743", - "139_index": "33901", - "13_index": "32662", - "1400_index": "30732", - "1401_index": "39046", - "1402_index": "126", - "1403_index": "27264", - "1404_index": "33643", - "1405_index": "39534", - "1406_index": "29611", - "1407_index": "25279", - "1408_index": "29313", - "1409_index": "40493", - "140_index": "30251", - "1410_index": "32518", - "1411_index": "23528", - "1412_index": "31967", - "1413_index": "35060", - "1414_index": "25259", - "1415_index": "30610", - "1416_index": "23860", - "1417_index": "24614", - "1418_index": "21947", - "1419_index": "40114", - "141_index": "28023", - "1420_index": "21501", - "1421_index": "26199", - "1422_index": "31605", - "1423_index": "23398", - "1424_index": "35749", - "1425_index": "32503", - "1426_index": "35827", - "1427_index": "27521", - "1428_index": "23485", - "1429_index": "26604", - "142_index": "26684", - "1430_index": "20276", - "1431_index": "35812", - "1432_index": "24034", - "1433_index": "29791", - "1434_index": "35029", - "1435_index": "24457", - "1436_index": "31636", - "1437_index": "32781", - "1438_index": "27985", - "1439_index": "23077", - "143_index": "21281", - "1440_index": "30249", - "1441_index": "32421", - "1442_index": "29734", - "1443_index": "33426", - "1444_index": "22882", - "1445_index": "23789", - "1446_index": "21989", - "1447_index": "29788", - "1448_index": "31166", - "1449_index": "24716", - "144_index": "26728", - "1450_index": "25111", - "1451_index": "38656", - "1452_index": "25618", - "1453_index": "25139", - "1454_index": "38224", - "1455_index": "37218", - "1456_index": "38035", - "1457_index": "27067", - "1458_index": "22885", - "1459_index": "25549", - "145_index": "38582", - "1460_index": "25373", - "1461_index": "22369", - "1462_index": "22188", - "1463_index": "24808", - "1464_index": "22482", - "1465_index": "28860", - "1466_index": "20506", - "1467_index": "20856", - "1468_index": "31481", - "1469_index": "26092", - "146_index": "29864", - "1470_index": "27604", - "1471_index": "35808", - "1472_index": "36841", - "1473_index": "39584", - "1474_index": "26885", - "1475_index": "27694", - "1476_index": "33593", - "1477_index": "31659", - "1478_index": "35828", - "1479_index": "28810", - "147_index": "23194", - "1480_index": "23743", - "1481_index": "33162", - "1482_index": "29282", - "1483_index": "27224", - "1484_index": "21536", - "1485_index": "39649", - "1486_index": "26507", - "1487_index": "21485", - "1488_index": "20912", - "1489_index": "26579", - "148_index": "30707", - "1490_index": "36162", - "1491_index": "28610", - "1492_index": "21340", - "1493_index": "32937", - "1494_index": "36468", - "1495_index": "36425", - "1496_index": "21496", - "1497_index": "31080", - "1498_index": "32303", - "1499_index": "12298", - "149_index": "35848", - "14_index": "21638", - "1500_index": "36143", - "1501_index": "24335", - "1502_index": "33476", - "1503_index": "27611", - "1504_index": "33243", - "1505_index": "37009", - "1506_index": "27779", - "1507_index": "9316", - "1508_index": "38401", - "1509_index": "22900", - "150_index": "35879", - "1510_index": "33307", - "1511_index": "32989", - "1512_index": "20456", - "1513_index": "36188", - "1514_index": "21407", - "1515_index": "29096", - "1516_index": "21679", - "1517_index": "25487", - "1518_index": "24298", - "1519_index": "36817", - "151_index": "25161", - "1520_index": "36275", - "1521_index": "36712", - "1522_index": "22336", - "1523_index": "34955", - "1524_index": "31035", - "1525_index": "20110", - "1526_index": "27197", - "1527_index": "35791", - "1528_index": "21834", - "1529_index": "21449", - "152_index": "26195", - "1530_index": "32475", - "1531_index": "24565", - "1532_index": "33829", - "1533_index": "25346", - "1534_index": "30496", - "1535_index": "38771", - "1536_index": "34013", - "1537_index": "39606", - "1538_index": "40587", - "1539_index": "28096", - "153_index": "22721", - "1540_index": "36346", - "1541_index": "37061", - "1542_index": "29042", - "1543_index": "39757", - "1544_index": "35826", - "1545_index": "39078", - "1546_index": "28068", - "1547_index": "20392", - "1548_index": "39073", - "1549_index": "28902", - "154_index": "22052", - "1550_index": "32526", - "1551_index": "21049", - "1552_index": "31735", - "1553_index": "30245", - "1554_index": "35857", - "1555_index": "36947", - "1556_index": "24046", - "1557_index": "40859", - "1558_index": "37090", - "1559_index": "21273", - "155_index": "29744", - "1560_index": "26059", - "1561_index": "36323", - "1562_index": "28286", - "1563_index": "30520", - "1564_index": "22531", - "1565_index": "24222", - "1566_index": "36137", - "1567_index": "25619", - "1568_index": "33678", - "1569_index": "27814", - "156_index": "22916", - "1570_index": "28078", - "1571_index": "31742", - "1572_index": "25620", - "1573_index": "25552", - "1574_index": "24217", - "1575_index": "36381", - "1576_index": "21980", - "1577_index": "31957", - "1578_index": "38156", - "1579_index": "24747", - "157_index": "24775", - "1580_index": "21014", - "1581_index": "26174", - "1582_index": "30437", - "1583_index": "9484", - "1584_index": "25052", - "1585_index": "36156", - "1586_index": "26197", - "1587_index": "20140", - "1588_index": "36140", - "1589_index": "35770", - "158_index": "33733", - "1590_index": "21727", - "1591_index": "28046", - "1592_index": "31598", - "1593_index": "36151", - "1594_index": "29852", - "1595_index": "38064", - "1596_index": "28183", - "1597_index": "21697", - "1598_index": "29618", - "1599_index": "37261", - "159_index": "29483", - "15_index": "9348", - "1600_index": "31435", - "1601_index": "38065", - "1602_index": "30233", - "1603_index": "23601", - "1604_index": "26547", - "1605_index": "27515", - "1606_index": "34728", - "1607_index": "28626", - "1608_index": "25194", - "1609_index": "38025", - "160_index": "24084", - "1610_index": "40488", - "1611_index": "33008", - "1612_index": "97", - "1613_index": "32540", - "1614_index": "21675", - "1615_index": "25106", - "1616_index": "28458", - "1617_index": "21400", - "1618_index": "38180", - "1619_index": "9344", - "161_index": "28139", - "1620_index": "26066", - "1621_index": "34261", - "1622_index": "9314", - "1623_index": "21520", - "1624_index": "30427", - "1625_index": "33100", - "1626_index": "21658", - "1627_index": "29575", - "1628_index": "31786", - "1629_index": "34597", - "162_index": "32423", - "1630_index": "32437", - "1631_index": "25453", - "1632_index": "30475", - "1633_index": "32092", - "1634_index": "36299", - "1635_index": "20208", - "1636_index": "23039", - "1637_index": "26512", - "1638_index": "23615", - "1639_index": "35807", - "163_index": "22047", - "1640_index": "25602", - "1641_index": "21937", - "1642_index": "30079", - "1643_index": "82", - "1644_index": "21163", - "1645_index": "27004", - "1646_index": "39607", - "1647_index": "21525", - "1648_index": "32718", - "1649_index": "23389", - "164_index": "34733", - "1650_index": "30956", - "1651_index": "27185", - "1652_index": "28378", - "1653_index": "30344", - "1654_index": "34081", - "1655_index": "35465", - "1656_index": "30164", - "1657_index": "21969", - "1658_index": "22500", - "1659_index": "21725", - "165_index": "32446", - "1660_index": "31609", - "1661_index": "25104", - "1662_index": "20806", - "1663_index": "20852", - "1664_index": "36779", - "1665_index": "28082", - "1666_index": "30342", - "1667_index": "23847", - "1668_index": "24456", - "1669_index": "33509", - "166_index": "21535", - "1670_index": "21019", - "1671_index": "38057", - "1672_index": "35910", - "1673_index": "35290", - "1674_index": "21359", - "1675_index": "27654", - "1676_index": "24518", - "1677_index": "22163", - "1678_index": "23991", - "1679_index": "9679", - "167_index": "28330", - "1680_index": "25474", - "1681_index": "38497", - "1682_index": "34903", - "1683_index": "21899", - "1684_index": "40516", - "1685_index": "28003", - "1686_index": "31119", - "1687_index": "21870", - "1688_index": "21591", - "1689_index": "27687", - "168_index": "23436", - "1690_index": "31661", - "1691_index": "24858", - "1692_index": "39135", - "1693_index": "24133", - "1694_index": "25242", - "1695_index": "21182", - "1696_index": "23461", - "1697_index": "38506", - "1698_index": "32957", - "1699_index": "34467", - "169_index": "20136", - "16_index": "28325", - "1700_index": "27463", - "1701_index": "75", - "1702_index": "36830", - "1703_index": "27476", - "1704_index": "26202", - "1705_index": "33322", - "1706_index": "39558", - "1707_index": "40535", - "1708_index": "20723", - "1709_index": "21370", - "170_index": "20278", - "1710_index": "31041", - "1711_index": "35794", - "1712_index": "24061", - "1713_index": "40653", - "1714_index": "71", - "1715_index": "9488", - "1716_index": "37846", - "1717_index": "29461", - "1718_index": "21654", - "1719_index": "23162", - "171_index": "27766", - "1720_index": "22313", - "1721_index": "33796", - "1722_index": "31568", - "1723_index": "32472", - "1724_index": "32473", - "1725_index": "38500", - "1726_index": "30417", - "1727_index": "38385", - "1728_index": "32453", - "1729_index": "38026", - "172_index": "31524", - "1730_index": "38229", - "1731_index": "38042", - "1732_index": "36879", - "1733_index": "40671", - "1734_index": "23610", - "1735_index": "38056", - "1736_index": "111", - "1737_index": "32858", - "1738_index": "28925", - "1739_index": "22788", - "173_index": "36343", - "1740_index": "29113", - "1741_index": "33493", - "1742_index": "24708", - "1743_index": "28895", - "1744_index": "9315", - "1745_index": "36718", - "1746_index": "24635", - "1747_index": "40517", - "1748_index": "36399", - "1749_index": "39545", - "174_index": "36145", - "1750_index": "39301", - "1751_index": "22815", - "1752_index": "27872", - "1753_index": "36744", - "1754_index": "32565", - "1755_index": "36920", - "1756_index": "33285", - "1757_index": "31896", - "1758_index": "33557", - "1759_index": "35764", - "175_index": "120", - "1760_index": "25658", - "1761_index": "26460", - "1762_index": "36918", - "1763_index": "33433", - "1764_index": "24544", - "1765_index": "20379", - "1766_index": "20062", - "1767_index": "32044", - "1768_index": "28028", - "1769_index": "24748", - "176_index": "22092", - "176_ord": "3582", - "1770_index": "23233", - "1771_index": "36189", - "1772_index": "22686", - "1773_index": "38259", - "1774_index": "24230", - "1775_index": "31909", - "1776_index": "29527", - "1777_index": "26524", - "1778_index": "30292", - "1779_index": "34987", - "177_index": "31783", - "177_ord": "971", - "1780_index": "38126", - "1781_index": "33368", - "1782_index": "20179", - "1783_index": "31368", - "1784_index": "37290", - "1785_index": "32490", - "1786_index": "35039", - "1787_index": "36259", - "1788_index": "32581", - "1789_index": "39567", - "178_index": "25215", - "1790_index": "27922", - "1791_index": "24328", - "1792_index": "20223", - "1793_index": "34758", - "1794_index": "33688", - "1795_index": "30416", - "1796_index": "32946", - "1797_index": "25315", - "1798_index": "8217", - "1799_index": "25509", - "179_index": "33848", - "17_index": "63", - "1800_index": "20164", - "1801_index": "40668", - "1802_index": "22836", - "1803_index": "33694", - "1804_index": "25578", - "1805_index": "23725", - "1806_index": "36831", - "1807_index": "25507", - "1808_index": "20911", - "1809_index": "33540", - "180_index": "26172", - "1810_index": "20658", - "1811_index": "40485", - "1812_index": "33268", - "1813_index": "32690", - "1814_index": "21542", - "1815_index": "35270", - "1816_index": "23883", - "1817_index": "28101", - "1818_index": "23456", - "1819_index": "28218", - "181_index": "24815", - "1820_index": "39580", - "1821_index": "33492", - "1822_index": "28255", - "1823_index": "37275", - "1824_index": "33180", - "1825_index": "23273", - "1826_index": "21606", - "1827_index": "21895", - "1828_index": "26359", - "1829_index": "28147", - "182_index": "34473", - "1830_index": "23445", - "1831_index": "20102", - "1832_index": "31229", - "1833_index": "34512", - "1834_index": "30452", - "1835_index": "33967", - "1836_index": "23507", - "1837_index": "37232", - "1838_index": "33682", - "1839_index": "25289", - "183_index": "31048", - "183_ord": "5564", - "1840_index": "38893", - "1841_index": "39079", - "1842_index": "25153", - "1843_index": "40563", - "1844_index": "34926", - "1845_index": "32422", - "1846_index": "24601", - "1847_index": "20879", - "1848_index": "33445", - "1849_index": "28065", - "184_index": "21700", - "1850_index": "22346", - "1851_index": "20500", - "1852_index": "31867", - "1853_index": "36409", - "1854_index": "23561", - "1855_index": "38220", - "1856_index": "36752", - "1857_index": "23521", - "1858_index": "26415", - "1859_index": "24527", - "185_index": "22134", - "1860_index": "40071", - "1861_index": "20648", - "1862_index": "20130", - "1863_index": "21000", - "1864_index": "25514", - "1865_index": "32533", - "1866_index": "26417", - "1867_index": "32495", - "1868_index": "39711", - "1869_index": "26187", - "186_index": "21473", - "1870_index": "30450", - "1871_index": "29260", - "1872_index": "31668", - "1873_index": "28237", - "1874_index": "27778", - "1875_index": "34949", - "1876_index": "9632", - "1877_index": "28155", - "1878_index": "31901", - "1879_index": "35013", - "187_index": "24551", - "1880_index": "38657", - "1881_index": "26332", - "1882_index": "36310", - "1883_index": "33795", - "1884_index": "20430", - "1885_index": "23443", - "1886_index": "36719", - "1887_index": "20215", - "1888_index": "30932", - "1889_index": "29645", - "188_index": "25942", - "1890_index": "40635", - "1891_index": "30054", - "1892_index": "25758", - "1893_index": "25282", - "1894_index": "30592", - "1895_index": "20465", - "1896_index": "21490", - "1897_index": "22952", - "1898_index": "20398", - "1899_index": "32580", - "189_index": "31713", - "18_index": "35776", - "1900_index": "21410", - "1901_index": "26444", - "1902_index": "26679", - "1903_index": "33891", - "1904_index": "122", - "1905_index": "20667", - "1906_index": "25370", - "1907_index": "36367", - "1908_index": "23792", - "1909_index": "36756", - "190_index": "26463", - "1910_index": "24212", - "1911_index": "27053", - "1912_index": "33459", - "1913_index": "33821", - "1914_index": "28322", - "1915_index": "38774", - "1916_index": "21452", - "1917_index": "26149", - "1918_index": "37326", - "1919_index": "33016", - "191_index": "33862", - "1920_index": "38795", - "1921_index": "21846", - "1922_index": "26549", - "1923_index": "32483", - "1924_index": "27000", - "1925_index": "22829", - "1926_index": "28319", - "1927_index": "27442", - "1928_index": "22281", - "1929_index": "20572", - "192_index": "24779", - "1930_index": "39543", - "1931_index": "28640", - "1932_index": "34108", - "1933_index": "38902", - "1934_index": "25307", - "1935_index": "22804", - "1936_index": "32850", - "1937_index": "22251", - "1938_index": "33539", - "1939_index": "21688", - "193_index": "21999", - "1940_index": "40687", - "1941_index": "36838", - "1942_index": "20335", - "1943_index": "35203", - "1944_index": "20210", - "1945_index": "32745", - "1946_index": "28532", - "1947_index": "21735", - "1948_index": "21402", - "1949_index": "39302", - "194_index": "25457", - "1950_index": "33603", - "1951_index": "21676", - "1952_index": "38210", - "1953_index": "31072", - "1954_index": "25494", - "1955_index": "34623", - "1956_index": "20234", - "1957_index": "27818", - "1958_index": "30270", - "1959_index": "35765", - "195_index": "24093", - "1960_index": "32933", - "1961_index": "33050", - "1962_index": "31186", - "1963_index": "28293", - "1964_index": "21672", - "1965_index": "40607", - "1966_index": "23318", - "1967_index": "26228", - "1968_index": "20872", - "1969_index": "30900", - "196_index": "21646", - "1970_index": "1056", - "1971_index": "30091", - "1972_index": "36793", - "1973_index": "24517", - "1974_index": "25375", - "1975_index": "28388", - "1976_index": "25151", - "1977_index": "21342", - "1978_index": "29712", - "1979_index": "28919", - "197_index": "20004", - "1980_index": "29520", - "1981_index": "33276", - "1982_index": "40077", - "1983_index": "30307", - "1984_index": "32546", - "1985_index": "24209", - "1986_index": "25668", - "1987_index": "24323", - "1988_index": "24367", - "1989_index": "22269", - "198_index": "26894", - "1990_index": "28132", - "1991_index": "38491", - "1992_index": "36152", - "1993_index": "12309", - "1994_index": "20294", - "1995_index": "20914", - "19968_ord": "2551", - "19969_ord": "4304", - "1996_index": "23679", - "19971_ord": "4281", - "19975_ord": "4695", - "19976_ord": "269", - "19977_ord": "3604", - "19978_ord": "3848", - "19979_ord": "4300", - "1997_index": "19998", - "19981_ord": "684", - "19982_ord": "3301", - "19984_ord": "371", - "19985_ord": "2139", - "19987_ord": "93", - "19988_ord": "2032", - "19989_ord": "3711", - "1998_index": "32961", - "19990_ord": "5775", - "19992_ord": "3864", - "19993_ord": "2077", - "19994_ord": "3010", - "19995_ord": "4513", - "19996_ord": "540", - "19997_ord": "3970", - "19998_ord": "1997", - "1999_index": "27905", - "199_index": "28467", - "19_index": "36955", - "1_index": "21351", - "20002_ord": "1343", - "20004_ord": "197", - "20005_ord": "4916", - "20007_ord": "487", - "2000_index": "38508", - "20010_ord": "3846", - "20011_ord": "5097", - "20013_ord": "4267", - "20016_ord": "959", - "20018_ord": "2765", - "2001_index": "30923", - "20020_ord": "2741", - "20024_ord": "4384", - "20025_ord": "1294", - "20026_ord": "2074", - "20027_ord": "783", - "20029_ord": "2260", - "2002_index": "33575", - "20030_ord": "5563", - "20034_ord": "2779", - "20035_ord": "894", - "20037_ord": "2331", - "2003_index": "30424", - "20040_ord": "4280", - "20041_ord": "3596", - "20043_ord": "4639", - "20044_ord": "5249", - "20045_ord": "2289", - "20046_ord": "435", - "20047_ord": "4025", - "20048_ord": "4898", - "2004_index": "20939", - "20050_ord": "3356", - "20051_ord": "3335", - "20052_ord": "276", - "20054_ord": "968", - "20056_ord": "4648", - "20057_ord": "2195", - "2005_index": "29394", - "20061_ord": "436", - "20062_ord": "1766", - "20063_ord": "2273", - "20064_ord": "4372", - "20065_ord": "1332", - "2006_index": "30683", - "20070_ord": "3320", - "20073_ord": "2604", - "2007_index": "24231", - "20080_ord": "4590", - "20081_ord": "3095", - "20083_ord": "2902", - "2008_index": "22319", - "20094_ord": "3821", - "2009_index": "36710", - "200_index": "35846", - "20102_ord": "1831", - "20104_ord": "3082", - "20105_ord": "3944", - "20107_ord": "2416", - "20108_ord": "4413", - "2010_index": "36401", - "20110_ord": "1525", - "20111_ord": "2106", - "20113_ord": "5423", - "20114_ord": "3047", - "20115_ord": "1398", - "20116_ord": "3080", - "20117_ord": "264", - "2011_index": "20256", - "20120_ord": "2319", - "20122_ord": "2465", - "20123_ord": "2782", - "20127_ord": "3106", - "20129_ord": "2372", - "2012_index": "36229", - "20130_ord": "1862", - "20132_ord": "5554", - "20133_ord": "2721", - "20134_ord": "1397", - "20135_ord": "978", - "20136_ord": "169", - "20137_ord": "4589", - "20139_ord": "2544", - "2013_index": "33988", - "20140_ord": "1587", - "20141_ord": "2774", - "20142_ord": "552", - "20146_ord": "2639", - "20147_ord": "583", - "20149_ord": "2431", - "2014_index": "25247", - "20150_ord": "3348", - "20154_ord": "4270", - "20159_ord": "647", - "2015_index": "29226", - "20160_ord": "5526", - "20161_ord": "2453", - "20163_ord": "1273", - "20164_ord": "1800", - "20165_ord": "4629", - "20166_ord": "5583", - "20167_ord": "4754", - "2016_index": "28044", - "20170_ord": "395", - "20171_ord": "4198", - "20173_ord": "4664", - "20174_ord": "311", - "20177_ord": "657", - "20179_ord": "1782", - "2017_index": "36766", - "20180_ord": "3776", - "20181_ord": "2645", - "20182_ord": "526", - "20183_ord": "2034", - "20184_ord": "4226", - "20185_ord": "5261", - "2018_index": "22982", - "20190_ord": "3960", - "20193_ord": "2027", - "20195_ord": "1307", - "20196_ord": "4051", - "20197_ord": "4888", - "2019_index": "20202", - "201_index": "21153", - "20202_ord": "2019", - "20203_ord": "2050", - "20204_ord": "5733", - "20208_ord": "1635", - "2020_index": "37301", - "20210_ord": "1944", - "20214_ord": "4186", - "20215_ord": "1887", - "20219_ord": "2366", - "2021_index": "29408", - "20221_ord": "922", - "20223_ord": "1792", - "20225_ord": "543", - "2022_index": "33133", - "20233_ord": "4562", - "20234_ord": "1956", - "20237_ord": "5763", - "20238_ord": "2751", - "20239_ord": "3465", - "2023_index": "29484", - "20240_ord": "5472", - "20241_ord": "785", - "20247_ord": "1293", - "20248_ord": "3377", - "20249_ord": "5573", - "2024_index": "27178", - "20250_ord": "1103", - "20251_ord": "5549", - "20254_ord": "4278", - "20255_ord": "2769", - "20256_ord": "2011", - "2025_index": "24069", - "20260_ord": "42", - "20262_ord": "4464", - "20263_ord": "3867", - "20266_ord": "3778", - "20267_ord": "8", - "2026_index": "36481", - "20271_ord": "211", - "20272_ord": "5023", - "20276_ord": "1430", - "20278_ord": "170", - "2027_index": "20193", - "20280_ord": "5741", - "20282_ord": "4431", - "20283_ord": "4421", - "20284_ord": "501", - "20285_ord": "3014", - "2028_index": "22061", - "20291_ord": "4427", - "20294_ord": "1994", - "20296_ord": "258", - "2029_index": "24361", - "202_index": "22974", - "20301_ord": "331", - "20302_ord": "5365", - "20303_ord": "2302", - "20304_ord": "744", - "20305_ord": "3290", - "20307_ord": "1328", - "20309_ord": "2380", - "2030_index": "29634", - "20311_ord": "2826", - "20312_ord": "1258", - "20313_ord": "3427", - "20314_ord": "2532", - "20315_ord": "3965", - "20316_ord": "3063", - "20317_ord": "3110", - "20318_ord": "721", - "20319_ord": "5771", - "2031_index": "22365", - "20320_ord": "2185", - "20323_ord": "878", - "20324_ord": "2040", - "20329_ord": "2835", - "2032_index": "19988", - "20332_ord": "2483", - "20335_ord": "1942", - "20336_ord": "5402", - "20339_ord": "4620", - "2033_index": "24799", - "20342_ord": "5799", - "20347_ord": "831", - "20348_ord": "2926", - "2034_index": "20183", - "20351_ord": "4779", - "20355_ord": "3416", - "20356_ord": "4995", - "2035_index": "27832", - "20360_ord": "2180", - "20363_ord": "5342", - "20365_ord": "702", - "20367_ord": "4194", - "20369_ord": "4623", - "2036_index": "31036", - "20372_ord": "4882", - "20375_ord": "5545", - "20379_ord": "1765", - "2037_index": "35174", - "20381_ord": "3100", - "20384_ord": "97", - "20387_ord": "5174", - "20389_ord": "2309", - "2038_index": "38994", - "20390_ord": "4285", - "20391_ord": "2501", - "20392_ord": "1547", - "20393_ord": "312", - "20394_ord": "4124", - "20396_ord": "5447", - "20398_ord": "1898", - "20399_ord": "824", - "2039_index": "24930", - "203_index": "22218", - "20405_ord": "4374", - "2040_index": "20324", - "20415_ord": "5348", - "20419_ord": "5780", - "2041_index": "32610", - "20420_ord": "3496", - "20421_ord": "4680", - "20426_ord": "4697", - "2042_index": "28783", - "20430_ord": "1884", - "20431_ord": "2144", - "20432_ord": "4922", - "20433_ord": "809", - "20439_ord": "5343", - "2043_index": "21095", - "20440_ord": "3807", - "20442_ord": "4402", - "20443_ord": "1097", - "20445_ord": "4558", - "20446_ord": "4556", - "20447_ord": "4758", - "20449_ord": "3154", - "2044_index": "33905", - "20454_ord": "580", - "20456_ord": "1512", - "20457_ord": "2793", - "20458_ord": "5245", - "2045_index": "22821", - "20461_ord": "356", - "20462_ord": "3074", - "20463_ord": "4067", - "20465_ord": "1895", - "20467_ord": "2301", - "2046_index": "21527", - "20472_ord": "299", - "20474_ord": "5590", - "20478_ord": "3309", - "2047_index": "30154", - "2048_index": "36171", - "20493_ord": "484", - "20495_ord": "1002", - "20498_ord": "3685", - "2049_index": "123", - "204_index": "33620", - "20500_ord": "1851", - "20504_ord": "3922", - "20505_ord": "236", - "20506_ord": "1466", - "20508_ord": "318", - "2050_index": "20203", - "20511_ord": "5619", - "20513_ord": "3339", - "20518_ord": "3202", - "2051_index": "28145", - "20520_ord": "4583", - "20521_ord": "1254", - "20522_ord": "790", - "20524_ord": "1082", - "20525_ord": "5078", - "2052_index": "36", - "20538_ord": "3647", - "2053_index": "23064", - "20540_ord": "2792", - "20542_ord": "3030", - "20547_ord": "561", - "2054_index": "22158", - "20551_ord": "3189", - "20552_ord": "4179", - "20556_ord": "3291", - "20558_ord": "4817", - "20559_ord": "5191", - "2055_index": "28625", - "20565_ord": "4092", - "2056_index": "26575", - "20570_ord": "4134", - "20572_ord": "1929", - "2057_index": "31528", - "20581_ord": "4968", - "2058_index": "29463", - "20598_ord": "5399", - "20599_ord": "776", - "2059_index": "35865", - "205_index": "26928", - "20603_ord": "2507", - "20607_ord": "2738", - "20608_ord": "249", - "2060_index": "29417", - "20613_ord": "210", - "20616_ord": "872", - "2061_index": "26085", - "20621_ord": "4348", - "20629_ord": "274", - "2062_index": "34479", - "2063_index": "36126", - "20643_ord": "773", - "20645_ord": "1385", - "20648_ord": "1861", - "20649_ord": "3550", - "2064_index": "23492", - "20652_ord": "2804", - "20658_ord": "1810", - "2065_index": "25273", - "20667_ord": "1905", - "2066_index": "36834", - "2067_index": "24859", - "20687_ord": "3828", - "2068_index": "35781", - "20694_ord": "3854", - "20698_ord": "3659", - "2069_index": "27010", - "206_index": "35960", - "2070_index": "40548", - "20710_ord": "5325", - "20711_ord": "1121", - "20717_ord": "2236", - "20718_ord": "4675", - "2071_index": "31581", - "20723_ord": "1708", - "20725_ord": "5345", - "20729_ord": "5328", - "2072_index": "28014", - "20731_ord": "630", - "2073_index": "31699", - "20742_ord": "2942", - "20743_ord": "3067", - "20747_ord": "3253", - "2074_index": "20026", - "20754_ord": "3299", - "2075_index": "29674", - "20769_ord": "3211", - "2076_index": "39280", - "2077_index": "19993", - "2078_index": "24618", - "20799_ord": "7", - "2079_index": "24736", - "207_index": "30343", - "20800_ord": "5440", - "20801_ord": "4860", - "20803_ord": "2674", - "20804_ord": "21", - "20805_ord": "2798", - "20806_ord": "1662", - "20808_ord": "3453", - "20809_ord": "3341", - "2080_index": "30765", - "20811_ord": "2719", - "20813_ord": "2499", - "20817_ord": "5228", - "20818_ord": "4923", - "2081_index": "26412", - "20820_ord": "3124", - "20821_ord": "2140", - "20822_ord": "2295", - "20826_ord": "3381", - "20828_ord": "326", - "2082_index": "24359", - "20834_ord": "2333", - "20837_ord": "2803", - "2083_index": "23536", - "20840_ord": "98", - "20843_ord": "2152", - "20844_ord": "2281", - "20845_ord": "5369", - "20846_ord": "4149", - "20848_ord": "5223", - "20849_ord": "1210", - "2084_index": "31224", - "20851_ord": "3391", - "20852_ord": "1663", - "20853_ord": "589", - "20854_ord": "5285", - "20855_ord": "3504", - "20856_ord": "1467", - "20857_ord": "976", - "20859_ord": "3822", - "2085_index": "33729", - "20860_ord": "4227", - "20861_ord": "765", - "20864_ord": "4100", - "20865_ord": "4669", - "20869_ord": "4218", - "2086_index": "21622", - "20872_ord": "1968", - "20873_ord": "126", - "20876_ord": "5562", - "20877_ord": "3040", - "20879_ord": "1847", - "2087_index": "31584", - "20881_ord": "604", - "20882_ord": "3077", - "20885_ord": "4551", - "20887_ord": "5336", - "20889_ord": "1133", - "2088_index": "26408", - "20891_ord": "2391", - "20892_ord": "4992", - "20896_ord": "749", - "20898_ord": "3542", - "2089_index": "26469", - "208_index": "38605", - "20900_ord": "720", - "20901_ord": "4255", - "20908_ord": "2266", - "2090_index": "34259", - "20911_ord": "1808", - "20912_ord": "1488", - "20914_ord": "1995", - "20915_ord": "1308", - "20917_ord": "463", - "20918_ord": "2310", - "20919_ord": "3048", - "2091_index": "32769", - "20923_ord": "121", - "20925_ord": "1042", - "20928_ord": "881", - "2092_index": "36294", - "20932_ord": "5429", - "20934_ord": "2430", - "20935_ord": "3081", - "20937_ord": "2882", - "20939_ord": "2004", - "2093_index": "21644", - "20940_ord": "2407", - "20943_ord": "2442", - "20945_ord": "3977", - "2094_index": "40486", - "20955_ord": "654", - "20957_ord": "2497", - "2095_index": "36416", - "20960_ord": "5262", - "20961_ord": "4782", - "20964_ord": "2914", - "2096_index": "79", - "20971_ord": "3060", - "20973_ord": "5712", - "20975_ord": "507", - "20976_ord": "710", - "20979_ord": "2925", - "2097_index": "21704", - "20982_ord": "3777", - "20984_ord": "848", - "20985_ord": "3982", - "20986_ord": "5362", - "20987_ord": "739", - "20989_ord": "2749", - "2098_index": "40063", - "20991_ord": "926", - "20992_ord": "2387", - "20993_ord": "4056", - "20995_ord": "5616", - "20998_ord": "5095", - "20999_ord": "2796", - "2099_index": "26157", - "209_index": "24476", - "20_index": "21103", - "21000_ord": "1863", - "21002_ord": "1081", - "21005_ord": "5727", - "21006_ord": "469", - "21009_ord": "3089", - "2100_index": "23884", - "21010_ord": "319", - "21011_ord": "2725", - "21014_ord": "1580", - "21015_ord": "2227", - "21016_ord": "4189", - "21017_ord": "457", - "21018_ord": "4999", - "21019_ord": "1670", - "2101_index": "21364", - "21021_ord": "2524", - "21024_ord": "5178", - "21028_ord": "2740", - "2102_index": "27880", - "21032_ord": "4650", - "21033_ord": "2232", - "21035_ord": "3198", - "21037_ord": "2305", - "21038_ord": "653", - "2103_index": "30208", - "21040_ord": "2870", - "21043_ord": "4378", - "21046_ord": "3991", - "21047_ord": "4812", - "21048_ord": "2455", - "21049_ord": "1551", - "2104_index": "38388", - "21050_ord": "3686", - "21051_ord": "547", - "21053_ord": "3449", - "21057_ord": "2985", - "21058_ord": "674", - "21059_ord": "5040", - "2105_index": "30871", - "21066_ord": "769", - "21068_ord": "4595", - "21069_ord": "1387", - "2106_index": "20111", - "21070_ord": "216", - "21072_ord": "2714", - "21073_ord": "2659", - "21076_ord": "3075", - "21078_ord": "4192", - "2107_index": "29450", - "21084_ord": "553", - "2108_index": "24455", - "21093_ord": "2885", - "21095_ord": "2043", - "21097_ord": "4217", - "21098_ord": "4257", - "2109_index": "22043", - "210_index": "20613", - "21103_ord": "20", - "21106_ord": "1022", - "2110_index": "32974", - "21117_ord": "4749", - "21119_ord": "1232", - "2111_index": "30385", - "21128_ord": "4913", - "2112_index": "33631", - "21139_ord": "1389", - "2113_index": "38410", - "21145_ord": "4573", - "21147_ord": "868", - "21149_ord": "2396", - "2114_index": "40494", - "21150_ord": "850", - "21151_ord": "3605", - "21152_ord": "4199", - "21153_ord": "201", - "21155_ord": "2365", - "2115_index": "26479", - "21160_ord": "2158", - "21161_ord": "4141", - "21162_ord": "2883", - "21163_ord": "1644", - "21164_ord": "5617", - "21165_ord": "4481", - "21169_ord": "4609", - "2116_index": "88", - "21170_ord": "5311", - "21171_ord": "1084", - "2117_index": "32502", - "21182_ord": "1695", - "21183_ord": "308", - "21187_ord": "447", - "2118_index": "40131", - "21191_ord": "3165", - "21193_ord": "756", - "21195_ord": "79", - "2119_index": "24864", - "211_index": "20271", - "21200_ord": "5272", - "21202_ord": "3696", - "21206_ord": "2781", - "21208_ord": "4044", - "2120_index": "33107", - "21215_ord": "5012", - "2121_index": "29627", - "21220_ord": "4202", - "2122_index": "33830", - "2123_index": "50", - "21242_ord": "901", - "21246_ord": "4994", - "21247_ord": "2564", - "21248_ord": "5731", - "2124_index": "37213", - "21253_ord": "884", - "21254_ord": "5123", - "21256_ord": "95", - "2125_index": "33805", - "21261_ord": "4900", - "21263_ord": "5708", - "21264_ord": "3235", - "21269_ord": "4467", - "2126_index": "24422", - "21270_ord": "1396", - "21271_ord": "1383", - "21273_ord": "1559", - "21277_ord": "4651", - "2127_index": "38052", - "21280_ord": "2939", - "21281_ord": "143", - "21283_ord": "4053", - "2128_index": "36728", - "21290_ord": "5349", - "21294_ord": "2569", - "21299_ord": "5682", - "2129_index": "36290", - "212_index": "28009", - "21305_ord": "2970", - "21306_ord": "4442", - "21307_ord": "2150", - "2130_index": "9313", - "21310_ord": "5566", - "21311_ord": "4925", - "21313_ord": "4484", - "21315_ord": "295", - "21317_ord": "5130", - "21319_ord": "2218", - "2131_index": "29330", - "21320_ord": "1302", - "21321_ord": "3273", - "21322_ord": "712", - "21326_ord": "2508", - "21327_ord": "4407", - "21329_ord": "876", - "2132_index": "25094", - "21330_ord": "531", - "21331_ord": "679", - "21333_ord": "4795", - "21334_ord": "4516", - "21335_ord": "3992", - "21338_ord": "2757", - "2133_index": "28538", - "21340_ord": "1492", - "21342_ord": "1977", - "21344_ord": "3226", - "21345_ord": "585", - "21346_ord": "665", - "21348_ord": "4789", - "2134_index": "26399", - "21350_ord": "3414", - "21351_ord": "1", - "21355_ord": "1382", - "21356_ord": "2850", - "21358_ord": "605", - "21359_ord": "1674", - "2135_index": "39544", - "21360_ord": "3188", - "21361_ord": "5294", - "21363_ord": "2856", - "21364_ord": "2101", - "21365_ord": "4290", - "21367_ord": "5150", - "21368_ord": "316", - "2136_index": "47", - "21370_ord": "1709", - "21375_ord": "5358", - "21378_ord": "4546", - "2137_index": "36158", - "21380_ord": "3242", - "21381_ord": "1024", - "21382_ord": "4363", - "21385_ord": "3237", - "21387_ord": "377", - "21388_ord": "5176", - "21389_ord": "2500", - "2138_index": "30899", - "21397_ord": "245", - "2139_index": "19985", - "213_index": "29053", - "21400_ord": "1617", - "21402_ord": "1948", - "21405_ord": "4570", - "21407_ord": "1514", - "2140_index": "20821", - "21410_ord": "1900", - "21413_ord": "626", - "21414_ord": "5196", - "21416_ord": "222", - "21417_ord": "4772", - "2141_index": "33536", - "21422_ord": "4350", - "2142_index": "32438", - "21435_ord": "738", - "21439_ord": "3186", - "2143_index": "38713", - "21442_ord": "637", - "21448_ord": "5578", - "21449_ord": "1529", - "2144_index": "20431", - "21450_ord": "5155", - "21451_ord": "5390", - "21452_ord": "1916", - "21453_ord": "5696", - "21457_ord": "2477", - "2145_index": "35266", - "21460_ord": "4635", - "21462_ord": "2964", - "21463_ord": "584", - "21464_ord": "1163", - "21465_ord": "2857", - "21467_ord": "379", - "2146_index": "25134", - "21471_ord": "1132", - "21472_ord": "1394", - "21473_ord": "186", - "21475_ord": "3476", - "21476_ord": "2890", - "21477_ord": "405", - "21478_ord": "4979", - "2147_index": "27754", - "21480_ord": "2492", - "21481_ord": "2649", - "21482_ord": "446", - "21483_ord": "4064", - "21484_ord": "4298", - "21485_ord": "1487", - "21486_ord": "4138", - "21487_ord": "3191", - "21488_ord": "5605", - "21489_ord": "4524", - "2148_index": "36836", - "21490_ord": "1896", - "21491_ord": "3989", - "21493_ord": "5070", - "21494_ord": "1380", - "21495_ord": "3740", - "21496_ord": "1496", - "21497_ord": "5338", - "2149_index": "21531", - "214_index": "21987", - "21500_ord": "3413", - "21501_ord": "1420", - "21505_ord": "3710", - "21507_ord": "5076", - "21508_ord": "514", - "2150_index": "21307", - "21510_ord": "5326", - "21512_ord": "3343", - "21513_ord": "3531", - "21514_ord": "4416", - "21516_ord": "3434", - "21517_ord": "5697", - "21518_ord": "5618", - "21519_ord": "2163", - "2151_index": "26011", - "21520_ord": "1623", - "21521_ord": "4448", - "21522_ord": "4578", - "21523_ord": "5384", - "21525_ord": "1647", - "21527_ord": "2046", - "2152_index": "20843", - "21531_ord": "2149", - "21533_ord": "3487", - "21534_ord": "2155", - "21535_ord": "166", - "21536_ord": "1484", - "2153_index": "22809", - "21542_ord": "1814", - "21543_ord": "5532", - "21544_ord": "5464", - "21545_ord": "3737", - "21547_ord": "3332", - "21548_ord": "1341", - "21549_ord": "4190", - "2154_index": "36945", - "21550_ord": "104", - "21551_ord": "851", - "21553_ord": "554", - "21556_ord": "4693", - "21557_ord": "2316", - "2155_index": "21534", - "21560_ord": "2348", - "21561_ord": "807", - "21563_ord": "4563", - "21564_ord": "1149", - "21566_ord": "5230", - "21568_ord": "3417", - "2156_index": "40479", - "21571_ord": "253", - "21574_ord": "1329", - "21576_ord": "4036", - "21578_ord": "869", - "2157_index": "26209", - "21584_ord": "135", - "21587_ord": "2513", - "21589_ord": "2541", - "2158_index": "21160", - "21591_ord": "1688", - "21592_ord": "3096", - "21595_ord": "5212", - "21596_ord": "4977", - "2159_index": "31654", - "215_index": "31264", - "215_ord": "1046", - "21602_ord": "2908", - "21604_ord": "4208", - "21606_ord": "1826", - "21608_ord": "3967", - "2160_index": "36524", - "21617_ord": "4973", - "21619_ord": "590", - "2161_index": "39062", - "21621_ord": "3204", - "21622_ord": "2086", - "21623_ord": "4710", - "21627_ord": "468", - "21628_ord": "5112", - "21629_ord": "4780", - "2162_index": "24503", - "21632_ord": "4910", - "21634_ord": "3406", - "21636_ord": "5374", - "21638_ord": "14", - "2163_index": "21519", - "21643_ord": "5276", - "21644_ord": "2093", - "21646_ord": "196", - "21647_ord": "795", - "21648_ord": "746", - "2164_index": "21862", - "21650_ord": "4269", - "21652_ord": "5059", - "21653_ord": "5730", - "21654_ord": "1718", - "21657_ord": "4489", - "21658_ord": "1626", - "21659_ord": "2909", - "2165_index": "25441", - "21667_ord": "5269", - "21668_ord": "224", - "2166_index": "25769", - "21670_ord": "2181", - "21671_ord": "4479", - "21672_ord": "1964", - "21674_ord": "402", - "21675_ord": "1614", - "21676_ord": "1951", - "21679_ord": "1516", - "2167_index": "24213", - "21681_ord": "467", - "21683_ord": "475", - "21688_ord": "1939", - "2168_index": "25377", - "21691_ord": "4463", - "21693_ord": "4117", - "21695_ord": "314", - "21696_ord": "5547", - "21697_ord": "1597", - "21698_ord": "4473", - "2169_index": "25516", - "216_index": "21070", - "21700_ord": "184", - "21702_ord": "220", - "21703_ord": "5665", - "21704_ord": "2097", - "21705_ord": "2700", - "21708_ord": "1017", - "21709_ord": "5089", - "2170_index": "32481", - "21710_ord": "2614", - "21711_ord": "1189", - "21713_ord": "4256", - "21719_ord": "4929", - "2171_index": "31169", - "21721_ord": "3463", - "21725_ord": "1659", - "21727_ord": "1590", - "2172_index": "36804", - "21733_ord": "3554", - "21734_ord": "134", - "21735_ord": "1947", - "21736_ord": "1260", - "21737_ord": "325", - "21738_ord": "4530", - "2173_index": "27547", - "21741_ord": "2648", - "21742_ord": "2271", - "21746_ord": "5503", - "2174_index": "39035", - "21754_ord": "4469", - "21756_ord": "349", - "21757_ord": "5088", - "2175_index": "37233", - "21761_ord": "2650", - "21766_ord": "5495", - "21767_ord": "4113", - "21769_ord": "5600", - "2176_index": "30030", - "21775_ord": "5459", - "21776_ord": "3909", - "21777_ord": "3722", - "2177_index": "26970", - "21780_ord": "5236", - "2178_index": "32742", - "21792_ord": "834", - "21794_ord": "5497", - "21796_ord": "3612", - "21799_ord": "3088", - "2179_index": "38067", - "217_index": "28176", - "21804_ord": "5743", - "21806_ord": "3459", - "21807_ord": "4437", - "21809_ord": "5705", - "2180_index": "20360", - "21811_ord": "3350", - "21814_ord": "3551", - "2181_index": "21670", - "21822_ord": "3555", - "21823_ord": "4007", - "21825_ord": "3280", - "21827_ord": "4935", - "21828_ord": "5635", - "2182_index": "40644", - "21830_ord": "3533", - "21834_ord": "1528", - "2183_index": "29495", - "21840_ord": "2314", - "21845_ord": "5213", - "21846_ord": "1921", - "2184_index": "31168", - "21852_ord": "4963", - "21857_ord": "3529", - "2185_index": "20320", - "21860_ord": "4093", - "21861_ord": "2940", - "21862_ord": "2164", - "21863_ord": "4258", - "21866_ord": "4902", - "21868_ord": "5008", - "2186_index": "26088", - "21870_ord": "1687", - "21872_ord": "5011", - "21878_ord": "1367", - "2187_index": "22913", - "21880_ord": "5419", - "21883_ord": "903", - "21884_ord": "2873", - "21886_ord": "2326", - "21888_ord": "3950", - "21889_ord": "3588", - "2188_index": "22553", - "21890_ord": "3263", - "21891_ord": "4723", - "21892_ord": "2707", - "21894_ord": "4411", - "21895_ord": "1827", - "21897_ord": "2622", - "21898_ord": "486", - "21899_ord": "1683", - "2189_index": "34923", - "218_index": "22343", - "21903_ord": "3509", - "21905_ord": "4167", - "21908_ord": "4325", - "2190_index": "31363", - "21912_ord": "3103", - "21913_ord": "3326", - "21916_ord": "2858", - "21917_ord": "4366", - "21919_ord": "5193", - "2191_index": "31165", - "21927_ord": "5208", - "2192_index": "30187", - "21937_ord": "1641", - "21939_ord": "2210", - "2193_index": "32455", - "21943_ord": "376", - "21945_ord": "278", - "21947_ord": "1418", - "21949_ord": "3196", - "2194_index": "36771", - "21950_ord": "970", - "21956_ord": "3749", - "21957_ord": "2357", - "2195_index": "20057", - "21964_ord": "2247", - "21969_ord": "1657", - "2196_index": "27965", - "21970_ord": "352", - "21971_ord": "2897", - "21972_ord": "5291", - "21974_ord": "4847", - "21979_ord": "3132", - "2197_index": "30240", - "21980_ord": "1576", - "21981_ord": "1195", - "21983_ord": "2594", - "21985_ord": "474", - "21987_ord": "214", - "21988_ord": "25", - "21989_ord": "1446", - "2198_index": "34678", - "21990_ord": "396", - "21992_ord": "5738", - "21994_ord": "1033", - "21995_ord": "766", - "21999_ord": "193", - "2199_index": "24091", - "219_index": "31070", - "21_index": "20804", - "22002_ord": "4806", - "22003_ord": "576", - "22007_ord": "64", - "2200_index": "27700", - "22013_ord": "939", - "22014_ord": "4204", - "22016_ord": "5087", - "2201_index": "23057", - "22024_ord": "4727", - "22025_ord": "1354", - "22028_ord": "5483", - "2202_index": "27655", - "22030_ord": "3494", - "2203_index": "37098", - "22040_ord": "2958", - "22043_ord": "2109", - "22047_ord": "163", - "2204_index": "32532", - "22052_ord": "154", - "2205_index": "36935", - "22061_ord": "2028", - "22065_ord": "762", - "22066_ord": "4453", - "22068_ord": "4341", - "2206_index": "26771", - "22070_ord": "259", - "22073_ord": "3870", - "22075_ord": "3579", - "22079_ord": "5226", - "2207_index": "38389", - "22089_ord": "2822", - "2208_index": "26161", - "22092_ord": "176", - "22094_ord": "3057", - "2209_index": "23072", - "220_index": "21702", - "22100_ord": "1379", - "22103_ord": "864", - "22105_ord": "3625", - "22108_ord": "3610", - "2210_index": "21939", - "22114_ord": "676", - "22116_ord": "5714", - "2211_index": "30001", - "22120_ord": "2530", - "22121_ord": "541", - "22122_ord": "2267", - "22123_ord": "1109", - "22124_ord": "640", - "22125_ord": "4750", - "22129_ord": "892", - "2212_index": "34417", - "22134_ord": "185", - "22139_ord": "1020", - "2213_index": "26127", - "22149_ord": "4822", - "2214_index": "33003", - "22158_ord": "2054", - "22159_ord": "833", - "2215_index": "35274", - "22163_ord": "1677", - "2216_index": "30171", - "22179_ord": "5314", - "2217_index": "30382", - "22188_ord": "1462", - "2218_index": "21319", - "22199_ord": "3102", - "2219_index": "26448", - "221_index": "24847", - "22204_ord": "55", - "2220_index": "22857", - "22218_ord": "203", - "2221_index": "24722", - "22228_ord": "2376", - "2222_index": "33169", - "22234_ord": "431", - "22235_ord": "964", - "22238_ord": "3021", - "2223_index": "34465", - "22240_ord": "5171", - "22242_ord": "4607", - "22244_ord": "4123", - "2224_index": "31267", - "22251_ord": "1937", - "22253_ord": "2495", - "22256_ord": "4485", - "22257_ord": "4389", - "2225_index": "34398", - "22260_ord": "924", - "22261_ord": "2831", - "22265_ord": "3540", - "22266_ord": "5571", - "22269_ord": "1989", - "2226_index": "26874", - "22270_ord": "47", - "22271_ord": "3557", - "22275_ord": "4631", - "22276_ord": "1393", - "22278_ord": "228", - "2227_index": "21015", - "22280_ord": "5278", - "22281_ord": "1928", - "2228_index": "32548", - "2229_index": "38170", - "222_index": "21416", - "22300_ord": "3197", - "22303_ord": "4926", - "22307_ord": "3283", - "2230_index": "33125", - "22312_ord": "5073", - "22313_ord": "1720", - "22317_ord": "393", - "22319_ord": "2008", - "2231_index": "24681", - "22320_ord": "5382", - "22323_ord": "5329", - "22329_ord": "757", - "2232_index": "21033", - "22330_ord": "4315", - "22334_ord": "4666", - "22336_ord": "1522", - "22338_ord": "2685", - "2233_index": "22849", - "22343_ord": "218", - "22346_ord": "1850", - "22348_ord": "5300", - "22349_ord": "3553", - "2234_index": "31561", - "22350_ord": "4920", - "22351_ord": "4287", - "22352_ord": "263", - "22353_ord": "449", - "22359_ord": "2776", - "2235_index": "26118", - "22362_ord": "136", - "22363_ord": "5517", - "22365_ord": "2031", - "22366_ord": "0", - "22367_ord": "3119", - "22368_ord": "498", - "22369_ord": "1461", - "2236_index": "20717", - "22372_ord": "125", - "22374_ord": "3358", - "22376_ord": "330", - "22378_ord": "2944", - "2237_index": "29993", - "22381_ord": "2716", - "22383_ord": "3028", - "22387_ord": "4767", - "2238_index": "29157", - "22391_ord": "4176", - "22396_ord": "3385", - "2239_index": "37038", - "223_index": "36103", - "22402_ord": "5104", - "22403_ord": "5264", - "22404_ord": "2861", - "2240_index": "36344", - "22411_ord": "3904", - "22418_ord": "1215", - "22419_ord": "460", - "2241_index": "26586", - "22427_ord": "5718", - "22429_ord": "4420", - "2242_index": "39554", - "22432_ord": "4076", - "22434_ord": "2439", - "22435_ord": "401", - "22438_ord": "688", - "2243_index": "35835", - "22441_ord": "4893", - "22443_ord": "4553", - "22446_ord": "5721", - "2244_index": "24408", - "2245_index": "25193", - "22467_ord": "4937", - "2246_index": "25764", - "22475_ord": "1265", - "22478_ord": "2948", - "2247_index": "21964", - "22482_ord": "1464", - "22484_ord": "2789", - "2248_index": "23383", - "22495_ord": "2868", - "22496_ord": "4577", - "2249_index": "24806", - "224_index": "21668", - "224_ord": "4032", - "22500_ord": "1658", - "2250_index": "36280", - "2251_index": "32321", - "22521_ord": "551", - "22522_ord": "5623", - "2252_index": "31614", - "22530_ord": "3772", - "22531_ord": "1564", - "22534_ord": "4739", - "2253_index": "22825", - "22545_ord": "423", - "22549_ord": "927", - "2254_index": "24820", - "22553_ord": "2188", - "2255_index": "24365", - "22561_ord": "4644", - "22564_ord": "3160", - "2256_index": "31532", - "22570_ord": "5093", - "22576_ord": "737", - "2257_index": "25506", - "22581_ord": "3968", - "2258_index": "35782", - "2259_index": "29589", - "225_index": "30259", - "22604_ord": "4954", - "22609_ord": "577", - "2260_index": "20029", - "22612_ord": "4058", - "22616_ord": "5486", - "2261_index": "35831", - "22622_ord": "5480", - "2262_index": "24125", - "22635_ord": "5659", - "2263_index": "30738", - "2264_index": "33009", - "22654_ord": "425", - "22656_ord": "829", - "22659_ord": "3573", - "2265_index": "23186", - "22661_ord": "823", - "22665_ord": "3908", - "2266_index": "20908", - "22675_ord": "2317", - "2267_index": "22122", - "22681_ord": "5534", - "22686_ord": "1772", - "22687_ord": "378", - "22688_ord": "3015", - "2268_index": "39034", - "22696_ord": "3668", - "22697_ord": "4063", - "2269_index": "35790", - "226_index": "32948", - "2270_index": "38237", - "2271_index": "21742", - "22721_ord": "153", - "22725_ord": "3227", - "2272_index": "38047", - "22737_ord": "2434", - "2273_index": "20063", - "22741_ord": "304", - "2274_index": "12390", - "22756_ord": "2993", - "2275_index": "37003", - "22763_ord": "5366", - "22764_ord": "4733", - "22766_ord": "5412", - "22768_ord": "3902", - "2276_index": "24448", - "22771_ord": "3109", - "22774_ord": "4097", - "22777_ord": "3929", - "2277_index": "32499", - "22788_ord": "1739", - "2278_index": "23348", - "22791_ord": "706", - "22797_ord": "4291", - "22799_ord": "916", - "2279_index": "40833", - "227_index": "33485", - "22804_ord": "1935", - "22805_ord": "2339", - "22806_ord": "2946", - "22809_ord": "2153", - "2280_index": "33080", - "22810_ord": "3208", - "22812_ord": "5670", - "22815_ord": "1751", - "2281_index": "20844", - "22820_ord": "673", - "22821_ord": "2045", - "22823_ord": "3639", - "22825_ord": "2253", - "22826_ord": "3296", - "22827_ord": "4140", - "22829_ord": "1925", - "2282_index": "25077", - "22830_ord": "3506", - "22831_ord": "5500", - "22833_ord": "2406", - "22836_ord": "1802", - "22839_ord": "2810", - "2283_index": "29261", - "22840_ord": "2487", - "22841_ord": "5303", - "22842_ord": "3041", - "22849_ord": "2233", - "2284_index": "32430", - "22850_ord": "5638", - "22852_ord": "5268", - "22855_ord": "3851", - "22856_ord": "5173", - "22857_ord": "2220", - "22859_ord": "4863", - "2285_index": "31373", - "22862_ord": "4231", - "22863_ord": "2943", - "22865_ord": "4626", - "22868_ord": "5428", - "22869_ord": "5407", - "2286_index": "32419", - "22870_ord": "718", - "22871_ord": "992", - "22872_ord": "2932", - "22874_ord": "740", - "2287_index": "28291", - "22880_ord": "3225", - "22882_ord": "1444", - "22885_ord": "1458", - "2288_index": "24426", - "22893_ord": "5764", - "22899_ord": "369", - "2289_index": "20045", - "228_index": "22278", - "22900_ord": "1509", - "22902_ord": "2311", - "22904_ord": "3713", - "22905_ord": "608", - "22909_ord": "5007", - "2290_index": "33616", - "22913_ord": "2187", - "22914_ord": "950", - "22915_ord": "4945", - "22916_ord": "156", - "22918_ord": "2853", - "22919_ord": "2582", - "2291_index": "29983", - "22920_ord": "5597", - "22922_ord": "3298", - "22925_ord": "4154", - "2292_index": "35775", - "22930_ord": "5565", - "22931_ord": "4191", - "22934_ord": "5672", - "22935_ord": "571", - "22937_ord": "5064", - "2293_index": "34174", - "22942_ord": "99", - "22948_ord": "3091", - "22949_ord": "282", - "2294_index": "33945", - "22952_ord": "1897", - "22953_ord": "66", - "22954_ord": "504", - "22958_ord": "3788", - "2295_index": "20822", - "22962_ord": "4111", - "22963_ord": "3390", - "22969_ord": "3648", - "2296_index": "26377", - "22971_ord": "4302", - "22974_ord": "202", - "22977_ord": "342", - "2297_index": "26898", - "22982_ord": "2018", - "22986_ord": "723", - "22987_ord": "4980", - "2298_index": "26462", - "22992_ord": "4130", - "22993_ord": "2572", - "22994_ord": "3490", - "22995_ord": "3556", - "22996_ord": "373", - "22999_ord": "2754", - "2299_index": "24619", - "229_index": "38739", - "22_index": "33589", - "23002_ord": "4993", - "23004_ord": "1199", - "23005_ord": "2451", - "2300_index": "28766", - "23011_ord": "4765", - "23013_ord": "4894", - "23016_ord": "3650", - "2301_index": "20467", - "23020_ord": "4867", - "23022_ord": "5758", - "2302_index": "20303", - "23033_ord": "3399", - "23035_ord": "4011", - "23039_ord": "1636", - "2303_index": "39591", - "23041_ord": "2729", - "23043_ord": "1079", - "23044_ord": "4606", - "23045_ord": "4120", - "23046_ord": "3286", - "23047_ord": "3524", - "23048_ord": "5246", - "23049_ord": "2901", - "2304_index": "38250", - "23057_ord": "2201", - "23059_ord": "3306", - "2305_index": "21037", - "23064_ord": "2053", - "23068_ord": "272", - "2306_index": "32703", - "23071_ord": "5197", - "23072_ord": "2209", - "23073_ord": "5049", - "23075_ord": "856", - "23077_ord": "1439", - "2307_index": "25757", - "23081_ord": "5242", - "23089_ord": "4685", - "2308_index": "32780", - "23090_ord": "4731", - "23092_ord": "5786", - "23094_ord": "4108", - "2309_index": "20389", - "230_index": "31681", - "23100_ord": "3212", - "23104_ord": "4429", - "2310_index": "20918", - "23110_ord": "2743", - "23113_ord": "4237", - "23114_ord": "3329", - "2311_index": "22902", - "23125_ord": "1140", - "2312_index": "40509", - "23130_ord": "4346", - "23138_ord": "667", - "2313_index": "30132", - "23143_ord": "2617", - "23146_ord": "252", - "2314_index": "21840", - "23156_ord": "1321", - "23158_ord": "5717", - "23159_ord": "5405", - "2315_index": "30260", - "23162_ord": "1719", - "23167_ord": "952", - "2316_index": "21557", - "2317_index": "22675", - "23186_ord": "2265", - "2318_index": "38167", - "23194_ord": "147", - "23195_ord": "3278", - "2319_index": "20120", - "231_index": "38199", - "2320_index": "31313", - "23210_ord": "4089", - "23218_ord": "5801", - "23219_ord": "5107", - "2321_index": "30117", - "23221_ord": "2982", - "23224_ord": "5793", - "2322_index": "39059", - "23230_ord": "4699", - "23233_ord": "1770", - "23234_ord": "290", - "2323_index": "25001", - "23241_ord": "3675", - "23244_ord": "4112", - "2324_index": "37119", - "23252_ord": "548", - "23254_ord": "4309", - "23258_ord": "619", - "2325_index": "37051", - "23260_ord": "5020", - "23265_ord": "4839", - "23267_ord": "2837", - "2326_index": "21886", - "23270_ord": "5484", - "23273_ord": "1825", - "23274_ord": "1284", - "2327_index": "26112", - "23281_ord": "781", - "2328_index": "38607", - "2329_index": "27431", - "232_index": "24867", - "23305_ord": "3264", - "2330_index": "66", - "23318_ord": "1966", - "23319_ord": "3879", - "2331_index": "20037", - "23323_ord": "5280", - "2332_index": "34382", - "2333_index": "20834", - "23348_ord": "2278", - "2334_index": "35850", - "2335_index": "33136", - "23360_ord": "3066", - "2336_index": "33137", - "23376_ord": "3689", - "23377_ord": "2596", - "2337_index": "9343", - "23380_ord": "567", - "23381_ord": "3034", - "23383_ord": "2248", - "23384_ord": "1292", - "23385_ord": "661", - "23386_ord": "1242", - "23387_ord": "3619", - "23388_ord": "4611", - "23389_ord": "1649", - "2338_index": "27480", - "23391_ord": "1071", - "23394_ord": "1214", - "23395_ord": "4941", - "23396_ord": "354", - "23397_ord": "3820", - "23398_ord": "1423", - "2339_index": "22805", - "233_index": "23748", - "233_ord": "3012", - "23401_ord": "2409", - "23402_ord": "931", - "23408_ord": "4587", - "23409_ord": "3170", - "2340_index": "36740", - "23411_ord": "5370", - "23413_ord": "1352", - "23418_ord": "4310", - "2341_index": "36215", - "23421_ord": "5667", - "23425_ord": "2375", - "23427_ord": "2590", - "23429_ord": "5360", - "2342_index": "23624", - "23431_ord": "420", - "23432_ord": "4574", - "23433_ord": "909", - "23435_ord": "4933", - "23436_ord": "168", - "23439_ord": "2855", - "2343_index": "30072", - "23443_ord": "1885", - "23445_ord": "1830", - "23447_ord": "2504", - "23448_ord": "315", - "23449_ord": "4347", - "2344_index": "25955", - "23450_ord": "5209", - "23451_ord": "2937", - "23452_ord": "5505", - "23453_ord": "94", - "23454_ord": "838", - "23456_ord": "1818", - "23457_ord": "5426", - "23458_ord": "382", - "23459_ord": "2595", - "2345_index": "30535", - "23460_ord": "5760", - "23461_ord": "1696", - "23462_ord": "4370", - "23466_ord": "5051", - "23467_ord": "2618", - "2346_index": "33618", - "23472_ord": "1365", - "23475_ord": "841", - "23476_ord": "2440", - "23477_ord": "5015", - "23478_ord": "256", - "2347_index": "28921", - "23480_ord": "4169", - "23481_ord": "3176", - "23485_ord": "1428", - "23486_ord": "5404", - "23487_ord": "628", - "2348_index": "21560", - "23490_ord": "3680", - "23492_ord": "2064", - "23493_ord": "5797", - "23494_ord": "4755", - "23495_ord": "1235", - "2349_index": "30596", - "234_index": "115", - "23500_ord": "2739", - "23504_ord": "5158", - "23506_ord": "4027", - "23507_ord": "1836", - "2350_index": "33714", - "23510_ord": "1315", - "23512_ord": "461", - "23517_ord": "1124", - "23518_ord": "3275", - "23519_ord": "1370", - "2351_index": "36349", - "23521_ord": "1857", - "23524_ord": "616", - "23525_ord": "511", - "23528_ord": "1411", - "2352_index": "35059", - "23536_ord": "2083", - "2353_index": "28638", - "23544_ord": "5523", - "23545_ord": "3858", - "23546_ord": "3528", - "23547_ord": "2363", - "23548_ord": "3736", - "2354_index": "32489", - "23551_ord": "2355", - "23553_ord": "4539", - "23556_ord": "5403", - "23558_ord": "4872", - "2355_index": "23551", - "23561_ord": "1854", - "23562_ord": "4568", - "23567_ord": "267", - "23569_ord": "899", - "2356_index": "27819", - "23572_ord": "4042", - "23574_ord": "2494", - "23576_ord": "337", - "23578_ord": "3307", - "2357_index": "21957", - "23581_ord": "4791", - "23588_ord": "4070", - "2358_index": "38606", - "23591_ord": "3436", - "23596_ord": "1120", - "2359_index": "30423", - "235_index": "34746", - "23601_ord": "1603", - "23604_ord": "4884", - "23608_ord": "4286", - "23609_ord": "1374", - "2360_index": "30457", - "23610_ord": "1734", - "23611_ord": "5383", - "23612_ord": "3971", - "23613_ord": "3491", - "23614_ord": "1072", - "23615_ord": "1638", - "23616_ord": "825", - "23617_ord": "3690", - "23618_ord": "2574", - "2361_index": "29595", - "23621_ord": "271", - "23624_ord": "2342", - "23625_ord": "5588", - "23626_ord": "4841", - "23627_ord": "5135", - "2362_index": "29191", - "23630_ord": "4560", - "23631_ord": "4101", - "23633_ord": "3521", - "23637_ord": "2805", - "2363_index": "23547", - "23646_ord": "1183", - "23648_ord": "5153", - "23649_ord": "3304", - "2364_index": "38202", - "23651_ord": "4216", - "23653_ord": "4931", - "23654_ord": "499", - "2365_index": "21155", - "23663_ord": "1148", - "23665_ord": "2790", - "2366_index": "20219", - "23673_ord": "5098", - "23679_ord": "1996", - "2367_index": "29123", - "23681_ord": "5813", - "23682_ord": "3322", - "2368_index": "29405", - "23692_ord": "3630", - "23696_ord": "477", - "23697_ord": "497", - "2369_index": "38712", - "236_index": "20505", - "23700_ord": "4805", - "23702_ord": "758", - "23703_ord": "3883", - "23706_ord": "1175", - "23707_ord": "4550", - "2370_index": "30174", - "2371_index": "26216", - "23721_ord": "4468", - "23723_ord": "5782", - "23724_ord": "320", - "23725_ord": "1805", - "23729_ord": "4153", - "2372_index": "20129", - "23731_ord": "5456", - "23735_ord": "5025", - "23736_ord": "3314", - "2373_index": "32506", - "23743_ord": "1480", - "23748_ord": "233", - "2374_index": "38255", - "23751_ord": "4866", - "23755_ord": "4373", - "2375_index": "23425", - "23762_ord": "2966", - "23769_ord": "713", - "2376_index": "22228", - "23777_ord": "4825", - "2377_index": "25303", - "23780_ord": "243", - "23781_ord": "5239", - "23782_ord": "2383", - "23784_ord": "5313", - "23786_ord": "709", - "23789_ord": "1445", - "2378_index": "24162", - "23792_ord": "1908", - "2379_index": "35890", - "237_index": "33300", - "23803_ord": "714", - "2380_index": "20309", - "23810_ord": "2755", - "23811_ord": "3998", - "23814_ord": "3171", - "23815_ord": "2994", - "2381_index": "32537", - "23822_ord": "882", - "23828_ord": "61", - "2382_index": "26487", - "23830_ord": "2886", - "23834_ord": "5735", - "23835_ord": "3932", - "2383_index": "23782", - "23847_ord": "1667", - "23849_ord": "1276", - "2384_index": "38810", - "23853_ord": "3543", - "2385_index": "27198", - "23860_ord": "1416", - "2386_index": "24812", - "2387_index": "20992", - "23883_ord": "1816", - "23884_ord": "2100", - "2388_index": "29432", - "23896_ord": "41", - "2389_index": "25166", - "238_index": "36962", - "2390_index": "36154", - "23913_ord": "5818", - "23916_ord": "929", - "23919_ord": "120", - "2391_index": "20891", - "2392_index": "30209", - "23938_ord": "4649", - "2393_index": "26526", - "2394_index": "34183", - "2395_index": "33716", - "23961_ord": "473", - "2396_index": "21149", - "2397_index": "28977", - "2398_index": "28976", - "23991_ord": "1678", - "2399_index": "31034", - "239_index": "30010", - "23_index": "24449", - "24005_ord": "5243", - "24009_ord": "1007", - "2400_index": "29406", - "24013_ord": "3893", - "2401_index": "32764", - "24029_ord": "2562", - "2402_index": "12290", - "24030_ord": "701", - "24033_ord": "4410", - "24034_ord": "1432", - "24037_ord": "3655", - "24038_ord": "3662", - "24039_ord": "3708", - "2403_index": "26003", - "24040_ord": "2598", - "24041_ord": "5610", - "24043_ord": "3158", - "24046_ord": "1556", - "24049_ord": "5227", - "2404_index": "27774", - "24050_ord": "4252", - "24051_ord": "3873", - "24052_ord": "4632", - "24055_ord": "4115", - "2405_index": "31548", - "24061_ord": "1712", - "24062_ord": "306", - "24063_ord": "4851", - "24065_ord": "80", - "24066_ord": "4314", - "24067_ord": "1360", - "24069_ord": "2025", - "2406_index": "22833", - "24070_ord": "4301", - "24072_ord": "3037", - "24076_ord": "5297", - "24079_ord": "5422", - "2407_index": "20940", - "24080_ord": "3440", - "24081_ord": "3987", - "24084_ord": "160", - "24085_ord": "5806", - "24086_ord": "287", - "24088_ord": "36", - "2408_index": "31755", - "24090_ord": "380", - "24091_ord": "2199", - "24092_ord": "3268", - "24093_ord": "195", - "2409_index": "23401", - "240_index": "36725", - "24102_ord": "2515", - "24103_ord": "428", - "24104_ord": "2709", - "24109_ord": "4554", - "2410_index": "25374", - "24110_ord": "3477", - "24119_ord": "429", - "2411_index": "30334", - "24120_ord": "5479", - "24124_ord": "4016", - "24125_ord": "2262", - "2412_index": "25523", - "24130_ord": "5662", - "24132_ord": "5652", - "24133_ord": "1693", - "2413_index": "38592", - "24140_ord": "3200", - "24148_ord": "840", - "24149_ord": "995", - "2414_index": "34022", - "24155_ord": "4502", - "24158_ord": "4998", - "2415_index": "31800", - "24161_ord": "988", - "24162_ord": "2378", - "2416_index": "20107", - "24178_ord": "5457", - "24179_ord": "3602", - "2417_index": "31890", - "24180_ord": "3973", - "24182_ord": "4802", - "24184_ord": "3520", - "24186_ord": "3461", - "24187_ord": "3653", - "24188_ord": "5397", - "24189_ord": "2658", - "2418_index": "33527", - "24191_ord": "1267", - "24196_ord": "1010", - "24198_ord": "2514", - "24199_ord": "2678", - "2419_index": "31809", - "241_index": "30896", - "24202_ord": "3272", - "24207_ord": "2847", - "24208_ord": "4082", - "24209_ord": "1985", - "2420_index": "40614", - "24211_ord": "2656", - "24212_ord": "1910", - "24213_ord": "2167", - "24214_ord": "1169", - "24215_ord": "3221", - "24217_ord": "1574", - "24218_ord": "5579", - "2421_index": "8545", - "24220_ord": "493", - "24222_ord": "1565", - "24223_ord": "5315", - "24224_ord": "3475", - "24229_ord": "2978", - "2422_index": "38752", - "24230_ord": "1774", - "24231_ord": "2007", - "24237_ord": "90", - "2423_index": "26472", - "24245_ord": "3131", - "24246_ord": "5470", - "24247_ord": "5237", - "24248_ord": "5723", - "2424_index": "37117", - "24254_ord": "3628", - "2425_index": "40654", - "24265_ord": "3024", - "24266_ord": "3827", - "2426_index": "27795", - "24275_ord": "1204", - "24278_ord": "5306", - "2427_index": "35970", - "24283_ord": "3577", - "2428_index": "26177", - "24296_ord": "853", - "24298_ord": "1518", - "2429_index": "35843", - "242_index": "28814", - "2430_index": "20934", - "24310_ord": "4887", - "24311_ord": "328", - "24314_ord": "288", - "24319_ord": "1322", - "2431_index": "20149", - "24320_ord": "2839", - "24321_ord": "3295", - "24322_ord": "339", - "24323_ord": "1987", - "24324_ord": "2808", - "24328_ord": "1791", - "2432_index": "32445", - "24330_ord": "5175", - "24331_ord": "2702", - "24335_ord": "1501", - "24337_ord": "4803", - "24339_ord": "2692", - "2433_index": "9319", - "24341_ord": "1366", - "24343_ord": "5720", - "24344_ord": "5772", - "24347_ord": "2923", - "2434_index": "22737", - "24351_ord": "3995", - "24352_ord": "4247", - "24354_ord": "5490", - "24357_ord": "648", - "24358_ord": "623", - "24359_ord": "2082", - "2435_index": "33041", - "24361_ord": "2029", - "24365_ord": "2255", - "24367_ord": "1988", - "24369_ord": "4687", - "2436_index": "34633", - "24373_ord": "4813", - "24377_ord": "4380", - "24378_ord": "2976", - "2437_index": "26666", - "24380_ord": "3193", - "24384_ord": "5187", - "2438_index": "26082", - "24394_ord": "5810", - "2439_index": "22434", - "243_index": "23780", - "24402_ord": "335", - "24403_ord": "4041", - "24405_ord": "753", - "24407_ord": "4072", - "24408_ord": "2244", - "2440_index": "23476", - "24413_ord": "2568", - "24418_ord": "2834", - "2441_index": "39067", - "24420_ord": "341", - "24422_ord": "2126", - "24425_ord": "659", - "24426_ord": "2288", - "24428_ord": "2511", - "24429_ord": "4858", - "2442_index": "20943", - "24432_ord": "4725", - "24433_ord": "5796", - "24439_ord": "4798", - "2443_index": "39033", - "24441_ord": "4807", - "24443_ord": "1037", - "24444_ord": "5110", - "24448_ord": "2276", - "24449_ord": "23", - "2444_index": "36797", - "24450_ord": "699", - "24452_ord": "332", - "24453_ord": "4319", - "24455_ord": "2108", - "24456_ord": "1668", - "24457_ord": "1435", - "24458_ord": "4275", - "24459_ord": "2784", - "2445_index": "27063", - "24460_ord": "495", - "24464_ord": "5202", - "24466_ord": "4038", - "24469_ord": "4039", - "2446_index": "26007", - "24471_ord": "5400", - "24472_ord": "3087", - "24473_ord": "4002", - "24476_ord": "209", - "2447_index": "38643", - "24481_ord": "3097", - "24488_ord": "1161", - "2448_index": "25115", - "24490_ord": "3592", - "24493_ord": "3150", - "24494_ord": "5463", - "24499_ord": "4145", - "2449_index": "26629", - "244_index": "30528", - "24501_ord": "555", - "24503_ord": "2162", - "24508_ord": "5529", - "24509_ord": "5655", - "2450_index": "30165", - "24515_ord": "5136", - "24517_ord": "1973", - "24518_ord": "1676", - "2451_index": "23005", - "24524_ord": "2829", - "24525_ord": "752", - "24527_ord": "1859", - "24528_ord": "4043", - "24529_ord": "3997", - "2452_index": "36434", - "24530_ord": "5644", - "24534_ord": "4745", - "24535_ord": "3714", - "24536_ord": "817", - "24537_ord": "6", - "2453_index": "20161", - "24541_ord": "1113", - "24544_ord": "1764", - "24545_ord": "3239", - "24548_ord": "669", - "2454_index": "26483", - "24551_ord": "187", - "24554_ord": "3411", - "24555_ord": "3342", - "2455_index": "21048", - "24561_ord": "1282", - "24565_ord": "1531", - "2456_index": "32650", - "24571_ord": "5511", - "24573_ord": "1228", - "24575_ord": "4080", - "24576_ord": "4060", - "24577_ord": "4405", - "24578_ord": "2838", - "2457_index": "30103", - "24581_ord": "5041", - "24582_ord": "3972", - "24589_ord": "3814", - "2458_index": "34480", - "24590_ord": "4159", - "24591_ord": "3603", - "24594_ord": "3454", - "24596_ord": "1268", - "24597_ord": "2679", - "24598_ord": "3959", - "2459_index": "35855", - "245_index": "21397", - "24601_ord": "1846", - "24603_ord": "5582", - "24604_ord": "4714", - "24605_ord": "4537", - "24608_ord": "3166", - "24609_ord": "3517", - "2460_index": "24751", - "24613_ord": "3875", - "24614_ord": "1417", - "24615_ord": "3569", - "24616_ord": "3442", - "24618_ord": "2078", - "24619_ord": "2299", - "2461_index": "33145", - "24623_ord": "4096", - "24629_ord": "5381", - "2462_index": "24845", - "24635_ord": "1746", - "24636_ord": "3599", - "24639_ord": "1314", - "2463_index": "33537", - "24642_ord": "3819", - "24643_ord": "1377", - "2464_index": "30844", - "24651_ord": "5194", - "24653_ord": "4729", - "24656_ord": "5022", - "24658_ord": "5709", - "2465_index": "20122", - "24661_ord": "2469", - "24665_ord": "3052", - "24666_ord": "464", - "24669_ord": "4991", - "2466_index": "34966", - "24674_ord": "1391", - "24675_ord": "612", - "24676_ord": "124", - "2467_index": "32724", - "24680_ord": "4454", - "24681_ord": "2231", - "24682_ord": "2575", - "24683_ord": "3934", - "24684_ord": "3313", - "24685_ord": "4735", - "24687_ord": "1147", - "24688_ord": "4436", - "2468_index": "37048", - "24691_ord": "5133", - "24694_ord": "4744", - "24696_ord": "82", - "24697_ord": "5424", - "24698_ord": "3251", - "24699_ord": "1364", - "2469_index": "24661", - "246_index": "24811", - "24700_ord": "2630", - "24701_ord": "3126", - "24703_ord": "5271", - "24708_ord": "1742", - "2470_index": "29616", - "24713_ord": "2503", - "24716_ord": "1449", - "24717_ord": "4074", - "2471_index": "36180", - "24722_ord": "2221", - "24724_ord": "3317", - "24726_ord": "885", - "2472_index": "26001", - "24730_ord": "366", - "24733_ord": "662", - "24734_ord": "5611", - "24735_ord": "2851", - "24736_ord": "2079", - "24739_ord": "4360", - "2473_index": "30152", - "24742_ord": "2563", - "24744_ord": "3079", - "24747_ord": "1579", - "24748_ord": "1769", - "24749_ord": "2519", - "2474_index": "33970", - "24751_ord": "2460", - "24754_ord": "871", - "24756_ord": "5275", - "2475_index": "30690", - "24760_ord": "4239", - "24763_ord": "4455", - "24764_ord": "5519", - "2476_index": "73", - "24773_ord": "3856", - "24774_ord": "73", - "24775_ord": "157", - "24778_ord": "3877", - "24779_ord": "192", - "2477_index": "21457", - "24785_ord": "1274", - "24789_ord": "5021", - "2478_index": "25479", - "24792_ord": "4939", - "24794_ord": "4245", - "24796_ord": "3223", - "24799_ord": "2033", - "2479_index": "36992", - "247_index": "28799", - "247_ord": "4748", - "24800_ord": "374", - "24806_ord": "2249", - "24807_ord": "4826", - "24808_ord": "1463", - "24809_ord": "3652", - "2480_index": "32915", - "24811_ord": "246", - "24812_ord": "2386", - "24813_ord": "591", - "24814_ord": "2747", - "24815_ord": "181", - "24816_ord": "668", - "24819_ord": "1239", - "2481_index": "36394", - "24820_ord": "2254", - "24822_ord": "5641", - "24825_ord": "32", - "24826_ord": "5701", - "2482_index": "25705", - "24832_ord": "4232", - "24833_ord": "5113", - "24838_ord": "820", - "2483_index": "20332", - "24840_ord": "4018", - "24841_ord": "4878", - "24845_ord": "2462", - "24846_ord": "2561", - "24847_ord": "221", - "2484_index": "29996", - "24853_ord": "2489", - "24858_ord": "1691", - "24859_ord": "2067", - "2485_index": "36196", - "24863_ord": "5124", - "24864_ord": "2119", - "24867_ord": "232", - "24868_ord": "5552", - "2486_index": "32676", - "24870_ord": "3805", - "24871_ord": "3981", - "24875_ord": "5633", - "24876_ord": "4652", - "2487_index": "22840", - "2488_index": "28070", - "24895_ord": "3511", - "2489_index": "24853", - "248_index": "38152", - "24904_ord": "1363", - "24908_ord": "2865", - "2490_index": "28392", - "24910_ord": "5750", - "24913_ord": "3801", - "24917_ord": "4234", - "2491_index": "1055", - "24921_ord": "5071", - "2492_index": "21480", - "24930_ord": "2039", - "24935_ord": "1300", - "24936_ord": "2525", - "2493_index": "40480", - "24944_ord": "5149", - "24949_ord": "2821", - "2494_index": "23574", - "24951_ord": "3813", - "2495_index": "22253", - "2496_index": "35955", - "24971_ord": "1355", - "24974_ord": "3201", - "2497_index": "20957", - "24980_ord": "5240", - "2498_index": "27495", - "24999_ord": "280", - "2499_index": "20813", - "249_index": "20608", - "24_index": "27529", - "25000_ord": "2651", - "25001_ord": "2323", - "25004_ord": "593", - "2500_index": "21389", - "2501_index": "20391", - "25022_ord": "109", - "25026_ord": "3999", - "2502_index": "33416", - "25032_ord": "3112", - "25034_ord": "4048", - "25035_ord": "4668", - "2503_index": "24713", - "25041_ord": "5263", - "25042_ord": "348", - "2504_index": "23447", - "25052_ord": "1584", - "2505_index": "39295", - "25062_ord": "2526", - "2506_index": "38551", - "25077_ord": "2282", - "2507_index": "20603", - "25087_ord": "4494", - "2508_index": "21326", - "25094_ord": "2132", - "25096_ord": "3609", - "25098_ord": "1003", - "2509_index": "36842", - "250_index": "25496", - "25100_ord": "4638", - "25101_ord": "1076", - "25102_ord": "4122", - "25103_ord": "5509", - "25104_ord": "1661", - "25105_ord": "2628", - "25106_ord": "1615", - "25109_ord": "5036", - "2510_index": "25249", - "25110_ord": "5079", - "25111_ord": "1450", - "25112_ord": "3402", - "25114_ord": "3179", - "25115_ord": "2448", - "25119_ord": "4511", - "2511_index": "24428", - "25122_ord": "4353", - "2512_index": "25645", - "25130_ord": "353", - "25134_ord": "2146", - "25139_ord": "1453", - "2513_index": "21587", - "25140_ord": "1047", - "25143_ord": "4377", - "2514_index": "24198", - "25150_ord": "5506", - "25151_ord": "1976", - "25152_ord": "4801", - "25153_ord": "1842", - "25155_ord": "4211", - "25159_ord": "3432", - "2515_index": "24102", - "25160_ord": "3958", - "25161_ord": "151", - "25163_ord": "711", - "25164_ord": "3219", - "25165_ord": "573", - "25166_ord": "2389", - "25169_ord": "3679", - "2516_index": "36168", - "25170_ord": "494", - "25171_ord": "1330", - "25172_ord": "4897", - "25176_ord": "5080", - "25179_ord": "4213", - "2517_index": "36314", - "25182_ord": "3443", - "25186_ord": "686", - "25187_ord": "5820", - "2518_index": "34579", - "25191_ord": "4881", - "25193_ord": "2245", - "25194_ord": "1608", - "25195_ord": "5715", - "25196_ord": "4591", - "25197_ord": "4776", - "25198_ord": "3937", - "25199_ord": "3800", - "2519_index": "24749", - "251_index": "36845", - "25200_ord": "4398", - "25203_ord": "2717", - "25206_ord": "2963", - "25209_ord": "3214", - "2520_index": "28316", - "25212_ord": "4810", - "25214_ord": "3930", - "25215_ord": "178", - "25216_ord": "2997", - "2521_index": "27609", - "25220_ord": "2697", - "25225_ord": "485", - "25226_ord": "3816", - "2522_index": "27825", - "25233_ord": "2537", - "25234_ord": "1227", - "25235_ord": "4622", - "25237_ord": "5577", - "25238_ord": "2996", - "25239_ord": "4185", - "2523_index": "36523", - "25240_ord": "5127", - "25242_ord": "1694", - "25243_ord": "2916", - "25247_ord": "2014", - "25248_ord": "3613", - "25249_ord": "2510", - "2524_index": "21021", - "25250_ord": "4268", - "25252_ord": "5501", - "25253_ord": "1234", - "25256_ord": "3546", - "25259_ord": "1414", - "2525_index": "24936", - "25260_ord": "1032", - "25265_ord": "3955", - "25269_ord": "5494", - "2526_index": "25062", - "25273_ord": "2065", - "25276_ord": "388", - "25277_ord": "4506", - "25279_ord": "1407", - "2527_index": "32424", - "25282_ord": "1893", - "25284_ord": "3361", - "25285_ord": "1247", - "25286_ord": "5732", - "25287_ord": "907", - "25288_ord": "5256", - "25289_ord": "1839", - "2528_index": "27953", - "25290_ord": "1331", - "25292_ord": "5606", - "25293_ord": "947", - "25294_ord": "3240", - "25296_ord": "3515", - "25298_ord": "839", - "25299_ord": "3611", - "2529_index": "27792", - "252_index": "23146", - "252_ord": "4228", - "25300_ord": "4545", - "25302_ord": "4282", - "25303_ord": "2377", - "25304_ord": "2558", - "25305_ord": "5779", - "25306_ord": "3069", - "25307_ord": "1934", - "25308_ord": "3325", - "2530_index": "22120", - "25311_ord": "956", - "25314_ord": "3952", - "25315_ord": "1797", - "25317_ord": "4156", - "25318_ord": "2786", - "25319_ord": "693", - "2531_index": "26144", - "25320_ord": "2724", - "25321_ord": "3312", - "25324_ord": "102", - "25325_ord": "3797", - "25326_ord": "2814", - "25327_ord": "3502", - "25329_ord": "5072", - "2532_index": "20314", - "25331_ord": "2726", - "25332_ord": "4158", - "25335_ord": "4818", - "2533_index": "31485", - "25340_ord": "46", - "25341_ord": "27", - "25342_ord": "4718", - "25343_ord": "4045", - "25345_ord": "3880", - "25346_ord": "1533", - "2534_index": "27516", - "25351_ord": "3866", - "25352_ord": "5680", - "25353_ord": "4543", - "25358_ord": "2859", - "2535_index": "38517", - "25361_ord": "1259", - "25366_ord": "5756", - "2536_index": "37084", - "25370_ord": "1906", - "25371_ord": "3759", - "25373_ord": "1460", - "25374_ord": "2410", - "25375_ord": "1974", - "25376_ord": "789", - "25377_ord": "2168", - "25379_ord": "3182", - "2537_index": "25233", - "25380_ord": "3244", - "25381_ord": "4761", - "25384_ord": "3271", - "25386_ord": "4132", - "25387_ord": "3222", - "2538_index": "38108", - "25391_ord": "3174", - "2539_index": "30328", - "253_index": "21571", - "25401_ord": "836", - "25402_ord": "4024", - "25405_ord": "594", - "2540_index": "116", - "25410_ord": "5427", - "25413_ord": "5654", - "25414_ord": "4381", - "25417_ord": "3018", - "25419_ord": "5650", - "2541_index": "21589", - "25421_ord": "3863", - "25422_ord": "3252", - "25423_ord": "3720", - "25424_ord": "866", - "25429_ord": "3623", - "2542_index": "32553", - "25438_ord": "4195", - "25439_ord": "1027", - "2543_index": "9650", - "25441_ord": "2165", - "25442_ord": "2665", - "25443_ord": "632", - "25447_ord": "84", - "2544_index": "20139", - "25453_ord": "1631", - "25454_ord": "4367", - "25457_ord": "194", - "2545_index": "36968", - "25462_ord": "4997", - "25463_ord": "4031", - "25466_ord": "3032", - "25467_ord": "4210", - "25469_ord": "660", - "2546_index": "38556", - "25472_ord": "3467", - "25474_ord": "1680", - "25479_ord": "2478", - "2547_index": "28608", - "25480_ord": "4517", - "25481_ord": "3946", - "25484_ord": "71", - "25487_ord": "1517", - "25488_ord": "4763", - "2548_index": "31546", - "25490_ord": "4327", - "25494_ord": "1954", - "25496_ord": "250", - "2549_index": "25880", - "254_index": "65072", - "25504_ord": "5625", - "25506_ord": "2257", - "25507_ord": "1807", - "25509_ord": "1799", - "2550_index": "36169", - "25511_ord": "4476", - "25512_ord": "5681", - "25513_ord": "1337", - "25514_ord": "1864", - "25516_ord": "2169", - "2551_index": "19968", - "25520_ord": "3433", - "25523_ord": "2412", - "25527_ord": "1213", - "2552_index": "38579", - "25530_ord": "4434", - "25532_ord": "4694", - "25534_ord": "1270", - "2553_index": "27712", - "25540_ord": "2662", - "25542_ord": "4052", - "25545_ord": "5115", - "25549_ord": "1459", - "2554_index": "26551", - "25551_ord": "2723", - "25552_ord": "1573", - "25554_ord": "3920", - "25558_ord": "4435", - "2555_index": "31183", - "25564_ord": "5726", - "25569_ord": "4555", - "2556_index": "37329", - "25571_ord": "4466", - "25577_ord": "5531", - "25578_ord": "1804", - "2557_index": "26577", - "25581_ord": "1263", - "25588_ord": "2866", - "2558_index": "25304", - "25590_ord": "5356", - "25597_ord": "3614", - "2559_index": "40092", - "255_index": "38801", - "25600_ord": "3315", - "25601_ord": "5057", - "25602_ord": "1640", - "25605_ord": "5128", - "2560_index": "26384", - "25615_ord": "4842", - "25616_ord": "5192", - "25618_ord": "1452", - "25619_ord": "1567", - "2561_index": "24846", - "25620_ord": "1572", - "25628_ord": "3281", - "2562_index": "24029", - "25630_ord": "3804", - "25632_ord": "5118", - "25634_ord": "4487", - "2563_index": "24742", - "25642_ord": "5453", - "25644_ord": "4678", - "25645_ord": "2512", - "2564_index": "21247", - "25652_ord": "72", - "25658_ord": "1760", - "2565_index": "38291", - "25661_ord": "3379", - "25665_ord": "3990", - "25668_ord": "1986", - "2566_index": "29380", - "25670_ord": "5108", - "25671_ord": "4273", - "25672_ord": "1123", - "25674_ord": "2745", - "2567_index": "26009", - "25682_ord": "3698", - "25684_ord": "1144", - "25688_ord": "4559", - "2568_index": "24413", - "25694_ord": "3043", - "2569_index": "21294", - "256_index": "23478", - "25703_ord": "4321", - "25705_ord": "2482", - "2570_index": "32465", - "2571_index": "35286", - "25720_ord": "122", - "25721_ord": "880", - "2572_index": "22993", - "25730_ord": "3232", - "25735_ord": "3796", - "2573_index": "31705", - "25745_ord": "5739", - "25746_ord": "813", - "25749_ord": "4095", - "2574_index": "23618", - "25757_ord": "2307", - "25758_ord": "1892", - "2575_index": "24682", - "25764_ord": "2246", - "25769_ord": "2166", - "2576_index": "30097", - "25772_ord": "502", - "25773_ord": "2758", - "25774_ord": "996", - "25776_ord": "3702", - "2577_index": "28857", - "25781_ord": "1049", - "25783_ord": "5322", - "25786_ord": "3793", - "25788_ord": "4536", - "2578_index": "33176", - "25794_ord": "3632", - "25797_ord": "4788", - "2579_index": "31047", - "257_index": "26263", - "25805_ord": "5700", - "25806_ord": "3178", - "2580_index": "36944", - "25810_ord": "4397", - "25816_ord": "368", - "2581_index": "31637", - "25822_ord": "5520", - "25826_ord": "291", - "2582_index": "22919", - "25830_ord": "1096", - "2583_index": "34957", - "2584_index": "32993", - "25856_ord": "5513", - "2585_index": "31508", - "2586_index": "38145", - "25874_ord": "1052", - "2587_index": "30350", - "25880_ord": "2549", - "2588_index": "37319", - "25893_ord": "5152", - "25899_ord": "4271", - "2589_index": "39715", - "258_index": "20296", - "25903_ord": "1080", - "2590_index": "23427", - "25910_ord": "4188", - "25912_ord": "2607", - "25913_ord": "4504", - "25915_ord": "4451", - "25918_ord": "4547", - "25919_ord": "2652", - "2591_index": "26106", - "25925_ord": "1386", - "25928_ord": "5014", - "2592_index": "39551", - "25932_ord": "307", - "25935_ord": "3370", - "25937_ord": "5770", - "2593_index": "31918", - "25941_ord": "3756", - "25942_ord": "188", - "25945_ord": "3471", - "25947_ord": "3430", - "25949_ord": "563", - "2594_index": "21983", - "25950_ord": "3233", - "25954_ord": "1116", - "25955_ord": "2344", - "25958_ord": "3530", - "2595_index": "23459", - "25964_ord": "5823", - "25968_ord": "4483", - "2596_index": "23377", - "25970_ord": "1184", - "25972_ord": "370", - "25975_ord": "873", - "2597_index": "35748", - "2598_index": "24040", - "25991_ord": "2734", - "25995_ord": "5691", - "25996_ord": "28", - "2599_index": "32701", - "259_index": "22070", - "25_index": "21988", - "26000_ord": "3294", - "26001_ord": "2472", - "26003_ord": "2403", - "26007_ord": "2446", - "26009_ord": "2567", - "2600_index": "30562", - "26011_ord": "2151", - "26012_ord": "3857", - "26015_ord": "4168", - "26017_ord": "60", - "2601_index": "38115", - "26020_ord": "1237", - "26021_ord": "3260", - "26023_ord": "1146", - "26025_ord": "407", - "26027_ord": "3412", - "26029_ord": "596", - "2602_index": "36873", - "26031_ord": "4139", - "26032_ord": "5493", - "26034_ord": "5396", - "2603_index": "26848", - "26041_ord": "2929", - "26044_ord": "707", - "26045_ord": "321", - "26049_ord": "1012", - "2604_index": "20073", - "26051_ord": "4419", - "26052_ord": "5317", - "26053_ord": "3792", - "26059_ord": "1560", - "2605_index": "32972", - "26060_ord": "313", - "26062_ord": "690", - "26063_ord": "3794", - "26066_ord": "1620", - "2606_index": "38386", - "26070_ord": "691", - "26071_ord": "4447", - "2607_index": "25912", - "26080_ord": "5537", - "26082_ord": "2438", - "26085_ord": "2061", - "26086_ord": "5259", - "26087_ord": "3025", - "26088_ord": "2186", - "26089_ord": "4396", - "2608_index": "37024", - "26092_ord": "1469", - "26093_ord": "2632", - "26097_ord": "1349", - "2609_index": "33637", - "260_index": "67", - "26102_ord": "51", - "26103_ord": "3834", - "26106_ord": "2591", - "26107_ord": "3514", - "2610_index": "9670", - "26112_ord": "2327", - "26114_ord": "4289", - "26115_ord": "1202", - "26118_ord": "2235", - "26119_ord": "3993", - "2611_index": "40842", - "26122_ord": "3168", - "26124_ord": "4233", - "26126_ord": "111", - "26127_ord": "2213", - "2612_index": "28095", - "26131_ord": "5084", - "26132_ord": "5302", - "26133_ord": "350", - "26137_ord": "1114", - "2613_index": "34044", - "26143_ord": "451", - "26144_ord": "2531", - "26149_ord": "1917", - "2614_index": "21710", - "26151_ord": "3364", - "26152_ord": "675", - "26157_ord": "2099", - "26159_ord": "3889", - "2615_index": "26623", - "26161_ord": "2208", - "26164_ord": "5327", - "26165_ord": "3519", - "2616_index": "29827", - "26172_ord": "180", - "26174_ord": "1581", - "26177_ord": "2428", - "26179_ord": "704", - "2617_index": "23143", - "26187_ord": "1869", - "26188_ord": "3004", - "2618_index": "23467", - "26191_ord": "4970", - "26194_ord": "5596", - "26195_ord": "152", - "26196_ord": "2777", - "26197_ord": "1586", - "26198_ord": "4875", - "26199_ord": "1421", - "2619_index": "33278", - "261_index": "35861", - "26202_ord": "1704", - "26206_ord": "4840", - "26207_ord": "3250", - "26209_ord": "2157", - "2620_index": "39181", - "26212_ord": "3429", - "26214_ord": "1223", - "26216_ord": "2371", - "2621_index": "65289", - "26222_ord": "4752", - "26223_ord": "3560", - "26224_ord": "3472", - "26228_ord": "1967", - "2622_index": "21897", - "26230_ord": "5789", - "26234_ord": "1069", - "26238_ord": "403", - "2623_index": "31423", - "26242_ord": "106", - "26244_ord": "2845", - "26247_ord": "4361", - "2624_index": "31177", - "26257_ord": "3568", - "2625_index": "30224", - "26262_ord": "4646", - "26263_ord": "257", - "2626_index": "30491", - "26279_ord": "1063", - "2627_index": "34137", - "26280_ord": "3023", - "26286_ord": "5656", - "2628_index": "25105", - "26290_ord": "1000", - "26292_ord": "535", - "26297_ord": "3418", - "2629_index": "30315", - "262_index": "33094", - "26302_ord": "4633", - "2630_index": "24700", - "2631_index": "34553", - "26329_ord": "478", - "2632_index": "26093", - "26331_ord": "4792", - "26332_ord": "1881", - "26333_ord": "3917", - "2633_index": "104", - "26342_ord": "770", - "26345_ord": "3282", - "2634_index": "28904", - "26352_ord": "3731", - "26354_ord": "5499", - "26355_ord": "1055", - "26356_ord": "4861", - "26359_ord": "1828", - "2635_index": "32824", - "26360_ord": "1180", - "26361_ord": "5258", - "26364_ord": "801", - "26366_ord": "5137", - "26367_ord": "4066", - "26368_ord": "4330", - "2636_index": "1054", - "26376_ord": "3448", - "26377_ord": "2296", - "26379_ord": "2863", - "2637_index": "33463", - "26381_ord": "40", - "26384_ord": "2560", - "26388_ord": "5406", - "26389_ord": "3148", - "2638_index": "30623", - "26391_ord": "2688", - "26395_ord": "4182", - "26397_ord": "601", - "26399_ord": "2134", - "2639_index": "20146", - "263_index": "22352", - "26406_ord": "677", - "26408_ord": "2088", - "2640_index": "29409", - "26410_ord": "4928", - "26411_ord": "1107", - "26412_ord": "2081", - "26413_ord": "2846", - "26415_ord": "1858", - "26417_ord": "1866", - "2641_index": "31077", - "26420_ord": "4073", - "26421_ord": "3143", - "26426_ord": "108", - "26429_ord": "1255", - "2642_index": "101", - "26432_ord": "3183", - "26434_ord": "529", - "26435_ord": "4686", - "26438_ord": "5746", - "2643_index": "32597", - "26441_ord": "5170", - "26444_ord": "1901", - "26446_ord": "3516", - "26447_ord": "5530", - "26448_ord": "2219", - "26449_ord": "78", - "2644_index": "33296", - "26451_ord": "5528", - "26454_ord": "4728", - "2645_index": "20181", - "26460_ord": "1761", - "26462_ord": "2298", - "26463_ord": "190", - "26464_ord": "2854", - "26465_ord": "1362", - "26469_ord": "2089", - "2646_index": "29239", - "26472_ord": "2423", - "26474_ord": "1094", - "26477_ord": "3947", - "26479_ord": "2115", - "2647_index": "27929", - "26480_ord": "4222", - "26482_ord": "3729", - "26483_ord": "2454", - "26485_ord": "2720", - "26487_ord": "2382", - "2648_index": "21741", - "26494_ord": "123", - "26495_ord": "3481", - "26497_ord": "3360", - "2649_index": "21481", - "264_index": "20117", - "26500_ord": "772", - "26503_ord": "4596", - "26505_ord": "3700", - "26507_ord": "1486", - "2650_index": "21761", - "26512_ord": "1637", - "26517_ord": "3495", - "26519_ord": "4671", - "2651_index": "25000", - "26522_ord": "5679", - "26524_ord": "1777", - "26525_ord": "4580", - "26526_ord": "2393", - "2652_index": "25919", - "26530_ord": "4249", - "26531_ord": "3388", - "26533_ord": "3665", - "26538_ord": "3984", - "26539_ord": "5491", - "2653_index": "40100", - "26541_ord": "5488", - "26543_ord": "863", - "26544_ord": "4830", - "26547_ord": "1604", - "26549_ord": "1922", - "2654_index": "36742", - "26550_ord": "3184", - "26551_ord": "2554", - "26552_ord": "1271", - "2655_index": "65", - "26564_ord": "974", - "26568_ord": "3107", - "2656_index": "24211", - "26575_ord": "2056", - "26576_ord": "49", - "26577_ord": "2557", - "26579_ord": "1489", - "2657_index": "32507", - "26580_ord": "5273", - "26584_ord": "4069", - "26586_ord": "2241", - "26588_ord": "3552", - "2658_index": "24189", - "26590_ord": "4879", - "26592_ord": "75", - "26594_ord": "4681", - "26597_ord": "3101", - "2659_index": "21073", - "265_index": "40605", - "26601_ord": "5188", - "26604_ord": "1429", - "26607_ord": "5629", - "26608_ord": "5350", - "26609_ord": "52", - "2660_index": "36364", - "26611_ord": "488", - "26612_ord": "4061", - "2661_index": "38081", - "26623_ord": "2615", - "26624_ord": "5335", - "26629_ord": "2449", - "2662_index": "25540", - "26631_ord": "539", - "26632_ord": "29", - "26633_ord": "3367", - "26635_ord": "5376", - "26638_ord": "5607", - "26639_ord": "5250", - "2663_index": "30655", - "26641_ord": "4475", - "26643_ord": "386", - "26646_ord": "900", - "26647_ord": "1178", - "2664_index": "30044", - "26657_ord": "1277", - "2665_index": "25442", - "26665_ord": "346", - "26666_ord": "2437", - "2666_index": "36757", - "26679_ord": "1902", - "2667_index": "29738", - "26680_ord": "5471", - "26681_ord": "1015", - "26684_ord": "142", - "26685_ord": "5026", - "26686_ord": "634", - "26688_ord": "5719", - "2668_index": "37075", - "26690_ord": "3155", - "26691_ord": "362", - "26693_ord": "4259", - "26694_ord": "1068", - "26696_ord": "3046", - "2669_index": "9585", - "266_index": "36464", - "26700_ord": "5624", - "26702_ord": "751", - "26704_ord": "4984", - "26705_ord": "4244", - "26707_ord": "2922", - "26708_ord": "496", - "2670_index": "35851", - "2671_index": "30168", - "26720_ord": "3408", - "26721_ord": "525", - "26722_ord": "977", - "26723_ord": "2971", - "26725_ord": "4985", - "26726_ord": "2712", - "26727_ord": "3078", - "26728_ord": "144", - "26729_ord": "3565", - "2672_index": "36840", - "2673_index": "33696", - "26742_ord": "5698", - "2674_index": "20803", - "26753_ord": "2836", - "26755_ord": "4203", - "26757_ord": "3330", - "26758_ord": "763", - "2675_index": "40843", - "26767_ord": "5120", - "2676_index": "33310", - "26771_ord": "2206", - "26775_ord": "5354", - "2677_index": "37306", - "26786_ord": "458", - "2678_index": "24199", - "26790_ord": "3523", - "26791_ord": "4674", - "26792_ord": "3033", - "26797_ord": "4452", - "26799_ord": "4173", - "2679_index": "24597", - "267_index": "23567", - "26800_ord": "5527", - "26803_ord": "4726", - "26805_ord": "381", - "2680_index": "32510", - "26816_ord": "972", - "26818_ord": "3779", - "2681_index": "30702", - "26825_ord": "546", - "26827_ord": "3616", - "26829_ord": "3319", - "2682_index": "36897", - "26834_ord": "4871", - "26835_ord": "5085", - "26837_ord": "1206", - "2683_index": "27539", - "26840_ord": "3484", - "26842_ord": "4477", - "26848_ord": "2603", - "2684_index": "31921", - "26851_ord": "3558", - "2685_index": "22338", - "26862_ord": "455", - "26864_ord": "4760", - "26865_ord": "1061", - "26869_ord": "5347", - "2686_index": "31496", - "26873_ord": "844", - "26874_ord": "2226", - "2687_index": "30140", - "26880_ord": "963", - "26881_ord": "2961", - "26885_ord": "1474", - "2688_index": "26391", - "26893_ord": "5462", - "26894_ord": "198", - "26896_ord": "4087", - "26898_ord": "2297", - "2689_index": "34527", - "268_index": "30388", - "2690_index": "38155", - "26911_ord": "138", - "2691_index": "33018", - "26925_ord": "1170", - "26928_ord": "205", - "2692_index": "24339", - "26937_ord": "5809", - "2693_index": "39535", - "26941_ord": "115", - "26943_ord": "2921", - "26946_ord": "119", - "2694_index": "27891", - "2695_index": "33002", - "26964_ord": "5121", - "26967_ord": "819", - "2696_index": "36291", - "26970_ord": "2177", - "26974_ord": "5570", - "26976_ord": "3279", - "26979_ord": "1252", - "2697_index": "25220", - "26987_ord": "960", - "2698_index": "39316", - "26990_ord": "1286", - "26999_ord": "898", - "2699_index": "35838", - "269_index": "19976", - "26_index": "33419", - "27000_ord": "1924", - "27001_ord": "3316", - "27004_ord": "1645", - "2700_index": "21705", - "27010_ord": "2069", - "27012_ord": "1062", - "27014_ord": "784", - "27015_ord": "1073", - "27016_ord": "3288", - "2701_index": "27696", - "27028_ord": "726", - "27029_ord": "3741", - "2702_index": "24331", - "27035_ord": "562", - "27036_ord": "1318", - "2703_index": "31243", - "27047_ord": "4001", - "27048_ord": "1174", - "2704_index": "28193", - "27051_ord": "3362", - "27053_ord": "1911", - "27057_ord": "4600", - "2705_index": "29312", - "27060_ord": "4944", - "27063_ord": "2445", - "27067_ord": "1457", - "27068_ord": "4439", - "2706_index": "31377", - "27073_ord": "2934", - "27075_ord": "4608", - "2707_index": "21892", - "27082_ord": "5455", - "27084_ord": "1108", - "27088_ord": "4586", - "2708_index": "89", - "27099_ord": "4355", - "2709_index": "24104", - "270_index": "34191", - "27103_ord": "4371", - "2710_index": "29609", - "2711_index": "33705", - "2712_index": "26726", - "27133_ord": "5451", - "27135_ord": "3173", - "2713_index": "32485", - "27146_ord": "5116", - "2714_index": "21072", - "27159_ord": "4444", - "2715_index": "35805", - "27167_ord": "5593", - "27169_ord": "4636", - "2716_index": "22381", - "27178_ord": "2024", - "2717_index": "25203", - "27183_ord": "1181", - "27185_ord": "1651", - "27189_ord": "3365", - "2718_index": "29989", - "27197_ord": "1526", - "27198_ord": "2385", - "2719_index": "20811", - "271_index": "23621", - "27204_ord": "456", - "27207_ord": "5043", - "2720_index": "26485", - "27216_ord": "5752", - "2721_index": "20133", - "27224_ord": "1483", - "27225_ord": "3957", - "2722_index": "55", - "27233_ord": "4720", - "2723_index": "25551", - "27249_ord": "4598", - "2724_index": "25320", - "27257_ord": "5482", - "2725_index": "21011", - "27264_ord": "1403", - "27268_ord": "3703", - "2726_index": "25331", - "2727_index": "28353", - "27280_ord": "5062", - "2728_index": "32592", - "27296_ord": "4896", - "2729_index": "23041", - "272_index": "23068", - "27308_ord": "5556", - "2730_index": "27748", - "2731_index": "29934", - "2732_index": "29699", - "2733_index": "27946", - "2734_index": "25991", - "2735_index": "38039", - "2736_index": "31049", - "2737_index": "30272", - "2738_index": "20607", - "2739_index": "23500", - "273_index": "35881", - "2740_index": "21028", - "2741_index": "20020", - "27424_ord": "5266", - "27425_ord": "3167", - "27426_ord": "3538", - "27427_ord": "3409", - "27428_ord": "3915", - "2742_index": "30967", - "27431_ord": "2329", - "2743_index": "23110", - "27442_ord": "1927", - "27447_ord": "2969", - "2744_index": "32531", - "27450_ord": "3598", - "27451_ord": "4688", - "27454_ord": "4889", - "2745_index": "25674", - "27462_ord": "4369", - "27463_ord": "1700", - "27465_ord": "1230", - "27468_ord": "4212", - "2746_index": "32928", - "27476_ord": "1703", - "2747_index": "24814", - "27480_ord": "2338", - "27481_ord": "2924", - "2748_index": "114", - "27490_ord": "2830", - "27491_ord": "5584", - "27492_ord": "4509", - "27493_ord": "5478", - "27494_ord": "4614", - "27495_ord": "2498", - "27498_ord": "1088", - "2749_index": "20989", - "274_index": "20629", - "2750_index": "35866", - "27513_ord": "5734", - "27515_ord": "1605", - "27516_ord": "2534", - "2751_index": "20238", - "27521_ord": "1427", - "27522_ord": "34", - "27523_ord": "3949", - "27524_ord": "5232", - "27526_ord": "728", - "27527_ord": "5257", - "27529_ord": "24", - "2752_index": "29325", - "27530_ord": "3637", - "27531_ord": "595", - "27538_ord": "444", - "27539_ord": "2683", - "2753_index": "33487", - "27542_ord": "4832", - "27546_ord": "3570", - "27547_ord": "2173", - "2754_index": "22999", - "27553_ord": "3499", - "2755_index": "23810", - "27562_ord": "5653", - "2756_index": "36144", - "27572_ord": "3782", - "27573_ord": "1039", - "27575_ord": "5711", - "2757_index": "21338", - "27581_ord": "2910", - "27583_ord": "5615", - "27585_ord": "1150", - "27586_ord": "4425", - "27589_ord": "298", - "2758_index": "25773", - "27595_ord": "5481", - "27597_ord": "3691", - "27599_ord": "3935", - "2759_index": "36857", - "275_index": "34980", - "27602_ord": "1009", - "27603_ord": "3688", - "27604_ord": "1470", - "27605_ord": "4339", - "27607_ord": "1126", - "27609_ord": "2521", - "2760_index": "38235", - "27611_ord": "1503", - "27617_ord": "105", - "2761_index": "37225", - "27627_ord": "411", - "2762_index": "34411", - "27631_ord": "2906", - "2763_index": "27850", - "2764_index": "31395", - "27653_ord": "2905", - "27654_ord": "1675", - "27655_ord": "2202", - "2765_index": "20018", - "27663_ord": "4850", - "27664_ord": "5669", - "27665_ord": "5435", - "27667_ord": "3672", - "27668_ord": "4857", - "2766_index": "38109", - "27670_ord": "5106", - "27675_ord": "4254", - "27679_ord": "4165", - "2767_index": "9671", - "27681_ord": "3646", - "27682_ord": "33", - "27684_ord": "1112", - "27686_ord": "4566", - "27687_ord": "1689", - "27688_ord": "3657", - "27689_ord": "5460", - "2768_index": "29736", - "27694_ord": "1475", - "27695_ord": "4235", - "27696_ord": "2701", - "27698_ord": "5229", - "2769_index": "20255", - "276_index": "20052", - "27700_ord": "2200", - "27704_ord": "2783", - "2770_index": "35757", - "27712_ord": "2553", - "27713_ord": "3503", - "27714_ord": "5452", - "27719_ord": "1086", - "2771_index": "28142", - "27721_ord": "4643", - "27728_ord": "4126", - "2772_index": "28847", - "27733_ord": "3853", - "27735_ord": "347", - "27739_ord": "5214", - "2773_index": "39311", - "27740_ord": "3138", - "27741_ord": "3270", - "27742_ord": "1290", - "27743_ord": "1399", - "27744_ord": "415", - "27745_ord": "5762", - "27748_ord": "2730", - "2774_index": "20141", - "27752_ord": "2927", - "27753_ord": "3500", - "27754_ord": "2147", - "27757_ord": "1093", - "2775_index": "30066", - "27760_ord": "5378", - "27762_ord": "4028", - "27764_ord": "3717", - "27766_ord": "171", - "27769_ord": "5371", - "2776_index": "22359", - "27773_ord": "1369", - "27774_ord": "2404", - "27777_ord": "694", - "27778_ord": "1874", - "27779_ord": "1506", - "2777_index": "26196", - "27781_ord": "3541", - "27784_ord": "3911", - "27785_ord": "62", - "27788_ord": "4205", - "2778_index": "40669", - "27792_ord": "2529", - "27795_ord": "2426", - "27796_ord": "3765", - "2779_index": "20034", - "277_index": "28382", - "27801_ord": "4474", - "27803_ord": "778", - "27807_ord": "581", - "27809_ord": "3483", - "2780_index": "40672", - "27811_ord": "3351", - "27813_ord": "4345", - "27814_ord": "1569", - "27815_ord": "566", - "27818_ord": "1957", - "27819_ord": "2356", - "2781_index": "21206", - "27820_ord": "5689", - "27822_ord": "3761", - "27825_ord": "2522", - "27827_ord": "5622", - "2782_index": "20123", - "27832_ord": "2035", - "27833_ord": "941", - "27835_ord": "3953", - "27836_ord": "4505", - "27837_ord": "3663", - "27838_ord": "112", - "27839_ord": "3393", - "2783_index": "27704", - "27844_ord": "3277", - "27845_ord": "4047", - "27849_ord": "5201", - "2784_index": "24459", - "27850_ord": "2763", - "27852_ord": "5631", - "27859_ord": "3651", - "2785_index": "37294", - "27861_ord": "413", - "27863_ord": "3860", - "27867_ord": "799", - "2786_index": "25318", - "27870_ord": "5766", - "27872_ord": "1752", - "27873_ord": "3323", - "27874_ord": "658", - "27875_ord": "5143", - "27877_ord": "973", - "2787_index": "28888", - "27880_ord": "2102", - "27882_ord": "1311", - "27883_ord": "811", - "27886_ord": "860", - "27887_ord": "4737", - "27888_ord": "4775", - "27889_ord": "542", - "2788_index": "30597", - "27891_ord": "2694", - "27893_ord": "4020", - "27895_ord": "2842", - "27896_ord": "3964", - "27899_ord": "5006", - "2789_index": "22484", - "278_index": "21945", - "27900_ord": "4209", - "27901_ord": "5224", - "27902_ord": "3425", - "27905_ord": "1999", - "2790_index": "23665", - "27915_ord": "2867", - "2791_index": "36807", - "27922_ord": "1790", - "27927_ord": "4940", - "27929_ord": "2647", - "2792_index": "20540", - "27931_ord": "4647", - "27934_ord": "5109", - "27935_ord": "680", - "2793_index": "20457", - "27941_ord": "731", - "27946_ord": "2733", - "2794_index": "28074", - "27950_ord": "4521", - "27953_ord": "2528", - "27954_ord": "5627", - "2795_index": "28729", - "27961_ord": "3395", - "27963_ord": "4654", - "27964_ord": "3146", - "27965_ord": "2196", - "27966_ord": "3948", - "27969_ord": "76", - "2796_index": "20999", - "27971_ord": "2911", - "27973_ord": "798", - "27974_ord": "1338", - "27975_ord": "4637", - "27978_ord": "857", - "27979_ord": "4415", - "2797_index": "33152", - "27981_ord": "5612", - "27982_ord": "1067", - "27983_ord": "4114", - "27984_ord": "517", - "27985_ord": "1438", - "27986_ord": "117", - "27987_ord": "4588", - "27988_ord": "3116", - "2798_index": "20805", - "27993_ord": "5557", - "27994_ord": "2812", - "27996_ord": "1105", - "27998_ord": "5683", - "2799_index": "30640", - "279_index": "29426", - "27_index": "25341", - "28003_ord": "1685", - "28006_ord": "5747", - "28009_ord": "212", - "2800_index": "34952", - "28010_ord": "81", - "28014_ord": "2072", - "2801_index": "39546", - "28020_ord": "5539", - "28023_ord": "141", - "28024_ord": "1375", - "28028_ord": "1768", - "2802_index": "29814", - "28034_ord": "5341", - "28037_ord": "5749", - "2803_index": "20837", - "28040_ord": "2876", - "28041_ord": "3162", - "28044_ord": "2016", - "28046_ord": "1591", - "2804_index": "20652", - "28051_ord": "5439", - "28052_ord": "5538", - "28053_ord": "5320", - "28059_ord": "116", - "2805_index": "23637", - "28061_ord": "1222", - "28063_ord": "5776", - "28065_ord": "1849", - "28067_ord": "3262", - "28068_ord": "1546", - "2806_index": "36195", - "28070_ord": "2488", - "28071_ord": "883", - "28072_ord": "1197", - "28073_ord": "4957", - "28074_ord": "2794", - "28078_ord": "1570", - "28079_ord": "4604", - "2807_index": "32517", - "28082_ord": "1665", - "28085_ord": "2920", - "28088_ord": "780", - "2808_index": "24324", - "28095_ord": "2612", - "28096_ord": "1539", - "2809_index": "30231", - "280_index": "24999", - "28100_ord": "666", - "28101_ord": "1817", - "28102_ord": "4716", - "28103_ord": "3678", - "28107_ord": "1296", - "28108_ord": "4147", - "2810_index": "22839", - "28113_ord": "3336", - "28118_ord": "3152", - "2811_index": "37321", - "28120_ord": "1353", - "28121_ord": "5330", - "28126_ord": "5189", - "28129_ord": "3886", - "2812_index": "27994", - "28132_ord": "1990", - "28139_ord": "161", - "2813_index": "31933", - "28140_ord": "938", - "28142_ord": "2771", - "28145_ord": "2051", - "28147_ord": "1829", - "2814_index": "25326", - "28151_ord": "5061", - "28153_ord": "3789", - "28155_ord": "1877", - "28156_ord": "510", - "2815_index": "32834", - "28165_ord": "5430", - "2816_index": "32166", - "28170_ord": "5822", - "28173_ord": "4844", - "28174_ord": "5254", - "28176_ord": "217", - "28177_ord": "5438", - "2817_index": "28975", - "28180_ord": "1334", - "28182_ord": "4356", - "28183_ord": "1596", - "28186_ord": "4338", - "28189_ord": "5522", - "2818_index": "29923", - "28192_ord": "5436", - "28193_ord": "2704", - "28195_ord": "3009", - "28196_ord": "459", - "28197_ord": "4303", - "2819_index": "32508", - "281_index": "33581", - "28201_ord": "5437", - "28205_ord": "5282", - "28207_ord": "3085", - "2820_index": "35817", - "28210_ord": "3247", - "28212_ord": "3701", - "28216_ord": "3862", - "28218_ord": "1819", - "2821_index": "24949", - "28227_ord": "4333", - "28228_ord": "523", - "2822_index": "22089", - "28237_ord": "1873", - "28238_ord": "4272", - "2823_index": "30036", - "28246_ord": "1048", - "28248_ord": "4943", - "2824_index": "32959", - "28251_ord": "3545", - "28255_ord": "1822", - "2825_index": "33108", - "28267_ord": "92", - "2826_index": "20311", - "28270_ord": "3347", - "2827_index": "37190", - "28286_ord": "1562", - "28287_ord": "3785", - "2828_index": "35778", - "28291_ord": "2287", - "28293_ord": "1963", - "28297_ord": "4441", - "2829_index": "24524", - "282_index": "22949", - "28301_ord": "5238", - "28304_ord": "365", - "2830_index": "27490", - "28316_ord": "2520", - "28319_ord": "1926", - "2831_index": "22261", - "28322_ord": "1914", - "28325_ord": "16", - "28327_ord": "997", - "2832_index": "38094", - "28330_ord": "167", - "28335_ord": "3608", - "28338_ord": "1310", - "2833_index": "39031", - "28340_ord": "3583", - "28342_ord": "3836", - "28343_ord": "4157", - "28346_ord": "4934", - "2834_index": "24418", - "28353_ord": "2727", - "28354_ord": "3359", - "28359_ord": "3575", - "2835_index": "20329", - "28360_ord": "4982", - "28363_ord": "670", - "28369_ord": "4967", - "2836_index": "26753", - "28371_ord": "2915", - "28372_ord": "5069", - "28373_ord": "879", - "28378_ord": "1652", - "2837_index": "23267", - "28382_ord": "277", - "28385_ord": "10", - "28388_ord": "1975", - "28389_ord": "4535", - "2838_index": "24578", - "28390_ord": "3885", - "28392_ord": "2490", - "28393_ord": "741", - "2839_index": "24320", - "283_index": "36317", - "28404_ord": "301", - "2840_index": "39549", - "28418_ord": "937", - "2841_index": "32428", - "28422_ord": "5331", - "28425_ord": "1104", - "2842_index": "27895", - "28431_ord": "3113", - "28435_ord": "2879", - "28436_ord": "5251", - "28437_ord": "4184", - "2843_index": "35065", - "28448_ord": "5199", - "2844_index": "35779", - "28457_ord": "5639", - "28458_ord": "1616", - "28459_ord": "4854", - "2845_index": "26244", - "28463_ord": "3673", - "28465_ord": "137", - "28467_ord": "199", - "2846_index": "26413", - "28478_ord": "1256", - "2847_index": "24207", - "28487_ord": "4423", - "2848_index": "28909", - "28493_ord": "696", - "2849_index": "39285", - "284_index": "40557", - "28504_ord": "5580", - "28508_ord": "1059", - "2850_index": "21356", - "28510_ord": "3762", - "28514_ord": "5024", - "28518_ord": "1091", - "2851_index": "24735", - "28525_ord": "4091", - "28526_ord": "344", - "2852_index": "29730", - "28532_ord": "1946", - "28536_ord": "918", - "28538_ord": "2133", - "2853_index": "22918", - "28540_ord": "4525", - "28548_ord": "3799", - "2854_index": "26464", - "28552_ord": "649", - "28557_ord": "1388", - "28558_ord": "3241", - "2855_index": "23439", - "2856_index": "21363", - "28572_ord": "1162", - "28577_ord": "3373", - "2857_index": "21465", - "28583_ord": "3446", - "2858_index": "21916", - "28595_ord": "5346", - "2859_index": "25358", - "285_index": "32796", - "28601_ord": "5305", - "28608_ord": "2547", - "2860_index": "33507", - "28610_ord": "1491", - "2861_index": "22404", - "28625_ord": "2055", - "28626_ord": "1607", - "2862_index": "31520", - "28638_ord": "2353", - "2863_index": "26379", - "28640_ord": "1931", - "28641_ord": "1137", - "2864_index": "30782", - "28654_ord": "4261", - "28655_ord": "133", - "2865_index": "24908", - "2866_index": "25588", - "2867_index": "27915", - "28689_ord": "3122", - "2868_index": "22495", - "28698_ord": "945", - "28699_ord": "2938", - "2869_index": "36732", - "286_index": "30361", - "2870_index": "21040", - "2871_index": "62", - "28729_ord": "2795", - "2872_index": "36784", - "2873_index": "21884", - "28748_ord": "3732", - "2874_index": "34578", - "2875_index": "37207", - "28766_ord": "2300", - "2876_index": "28040", - "28779_ord": "3724", - "2877_index": "35292", - "28781_ord": "5576", - "28783_ord": "2042", - "28784_ord": "5783", - "28789_ord": "921", - "2878_index": "33495", - "28790_ord": "5753", - "28792_ord": "4336", - "28796_ord": "1305", - "28798_ord": "512", - "28799_ord": "247", - "2879_index": "28435", - "287_index": "24086", - "28800_ord": "681", - "28809_ord": "5567", - "2880_index": "33203", - "28810_ord": "1479", - "28814_ord": "242", - "28818_ord": "4152", - "2881_index": "30472", - "28820_ord": "3039", - "28821_ord": "3293", - "28822_ord": "4329", - "28825_ord": "611", - "28828_ord": "1344", - "2882_index": "20937", - "28831_ord": "1167", - "2883_index": "21162", - "28843_ord": "5790", - "28844_ord": "3694", - "28845_ord": "4702", - "28846_ord": "3706", - "28847_ord": "2772", - "2884_index": "29787", - "28851_ord": "1171", - "28855_ord": "3094", - "28856_ord": "5551", - "28857_ord": "2577", - "2885_index": "21093", - "28860_ord": "1465", - "28861_ord": "4641", - "28865_ord": "3966", - "28866_ord": "3215", - "2886_index": "23830", - "28872_ord": "4395", - "2887_index": "39663", - "28888_ord": "2787", - "28889_ord": "4512", - "2888_index": "38408", - "28891_ord": "4181", - "28892_ord": "1218", - "28893_ord": "1145", - "28895_ord": "1743", - "2889_index": "29606", - "288_index": "24314", - "28900_ord": "3744", - "28902_ord": "1549", - "28903_ord": "4891", - "28904_ord": "2634", - "28905_ord": "3462", - "28907_ord": "5675", - "28908_ord": "5642", - "28909_ord": "2848", - "2890_index": "21476", - "28911_ord": "3139", - "28919_ord": "1979", - "2891_index": "37043", - "28921_ord": "2347", - "28925_ord": "1738", - "2892_index": "32736", - "28937_ord": "4962", - "28938_ord": "5792", - "2893_index": "33450", - "28949_ord": "4698", - "2894_index": "37214", - "28950_ord": "534", - "28952_ord": "946", - "28953_ord": "3790", - "28954_ord": "4392", - "28956_ord": "5100", - "2895_index": "36192", - "28966_ord": "3287", - "2896_index": "38452", - "28975_ord": "2817", - "28976_ord": "2398", - "28977_ord": "2397", - "2897_index": "21971", - "28982_ord": "5231", - "2898_index": "34573", - "28997_ord": "445", - "2899_index": "29467", - "289_index": "34676", - "28_index": "25996", - "29002_ord": "5142", - "29004_ord": "3458", - "29006_ord": "4667", - "2900_index": "31665", - "2901_index": "23049", - "29020_ord": "58", - "29022_ord": "4274", - "29028_ord": "3976", - "2902_index": "20083", - "29030_ord": "3337", - "29031_ord": "5", - "29032_ord": "5446", - "29038_ord": "5630", - "2903_index": "33760", - "29042_ord": "1542", - "2904_index": "38553", - "29053_ord": "213", - "2905_index": "27653", - "29060_ord": "3209", - "29066_ord": "3205", - "2906_index": "27631", - "29071_ord": "5676", - "29076_ord": "962", - "2907_index": "9349", - "29081_ord": "3656", - "29087_ord": "5787", - "29088_ord": "4143", - "2908_index": "21602", - "29096_ord": "1515", - "2909_index": "21659", - "290_index": "23234", - "29100_ord": "1134", - "2910_index": "27581", - "29113_ord": "1740", - "2911_index": "27971", - "29123_ord": "2367", - "2912_index": "33484", - "29134_ord": "806", - "2913_index": "33422", - "29140_ord": "955", - "29141_ord": "928", - "2914_index": "20964", - "29152_ord": "5082", - "29157_ord": "2238", - "29159_ord": "3842", - "2915_index": "28371", - "29166_ord": "4046", - "2916_index": "25243", - "29177_ord": "3415", - "2917_index": "39764", - "2918_index": "30740", - "29190_ord": "1306", - "29191_ord": "2362", - "2919_index": "36896", - "291_index": "25826", - "2920_index": "28085", - "2921_index": "26943", - "29224_ord": "870", - "29226_ord": "2015", - "29228_ord": "1269", - "2922_index": "26707", - "29232_ord": "4446", - "29233_ord": "4770", - "29234_ord": "826", - "29237_ord": "3901", - "29238_ord": "5352", - "29239_ord": "2646", - "2923_index": "24347", - "29240_ord": "118", - "29241_ord": "57", - "29243_ord": "5094", - "29245_ord": "3945", - "2924_index": "27481", - "29255_ord": "3366", - "29256_ord": "5122", - "2925_index": "20979", - "29260_ord": "1871", - "29261_ord": "2283", - "29266_ord": "4617", - "2926_index": "20348", - "29270_ord": "4099", - "29273_ord": "1240", - "29275_ord": "1381", - "29277_ord": "4515", - "29279_ord": "437", - "2927_index": "27752", - "29281_ord": "4656", - "29282_ord": "1482", - "29286_ord": "476", - "29287_ord": "837", - "29289_ord": "4542", - "2928_index": "36203", - "29295_ord": "5339", - "29298_ord": "655", - "2929_index": "26041", - "292_index": "35056", - "29301_ord": "3407", - "29305_ord": "847", - "29306_ord": "4630", - "2930_index": "40555", - "29312_ord": "2705", - "29313_ord": "1408", - "2931_index": "36182", - "29322_ord": "3468", - "29325_ord": "2752", - "2932_index": "22872", - "29330_ord": "2131", - "2933_index": "38738", - "2934_index": "27073", - "29356_ord": "4081", - "29359_ord": "3340", - "2935_index": "36292", - "29364_ord": "4734", - "29366_ord": "2973", - "29367_ord": "4292", - "29369_ord": "294", - "2936_index": "38772", - "29377_ord": "861", - "29378_ord": "3742", - "29379_ord": "4501", - "2937_index": "23451", - "29380_ord": "2566", - "29384_ord": "3763", - "2938_index": "28699", - "29390_ord": "4659", - "29392_ord": "5157", - "29394_ord": "2005", - "29399_ord": "3844", - "2939_index": "21280", - "293_index": "31098", - "29401_ord": "1361", - "29405_ord": "2368", - "29406_ord": "2400", - "29408_ord": "2021", - "29409_ord": "2640", - "2940_index": "21861", - "29417_ord": "2060", - "2941_index": "32735", - "29420_ord": "4823", - "29421_ord": "363", - "29422_ord": "4492", - "29424_ord": "329", - "29425_ord": "3042", - "29426_ord": "279", - "2942_index": "20742", - "29432_ord": "2388", - "29435_ord": "4206", - "29436_ord": "4424", - "2943_index": "22863", - "29443_ord": "808", - "2944_index": "22378", - "29450_ord": "2107", - "29454_ord": "398", - "2945_index": "34684", - "29461_ord": "1717", - "29462_ord": "1347", - "29463_ord": "2058", - "29467_ord": "2899", - "29468_ord": "4986", - "29469_ord": "5046", - "2946_index": "22806", - "29474_ord": "3518", - "29477_ord": "3768", - "2947_index": "30772", - "29481_ord": "3125", - "29482_ord": "439", - "29483_ord": "159", - "29484_ord": "2023", - "29486_ord": "1201", - "29489_ord": "4736", - "2948_index": "22478", - "29492_ord": "5601", - "29495_ord": "2183", - "2949_index": "31295", - "294_index": "29369", - "29502_ord": "65", - "29503_ord": "5401", - "2950_index": "38850", - "2951_index": "30137", - "29520_ord": "1980", - "29527_ord": "1776", - "2952_index": "38718", - "29536_ord": "3218", - "2953_index": "36837", - "29548_ord": "796", - "29549_ord": "4534", - "2954_index": "30862", - "2955_index": "30519", - "29566_ord": "944", - "2956_index": "36881", - "29572_ord": "564", - "29575_ord": "1627", - "29577_ord": "5461", - "29579_ord": "1117", - "2957_index": "34506", - "29585_ord": "389", - "29589_ord": "2259", - "2958_index": "22040", - "29595_ord": "2361", - "2959_index": "30718", - "295_index": "21315", - "29606_ord": "2889", - "29609_ord": "2710", - "2960_index": "9347", - "29611_ord": "1406", - "29614_ord": "4250", - "29615_ord": "3044", - "29616_ord": "2470", - "29618_ord": "1598", - "29619_ord": "663", - "2961_index": "26881", - "29623_ord": "767", - "29626_ord": "985", - "29627_ord": "2121", - "2962_index": "40667", - "29632_ord": "598", - "29634_ord": "2030", - "29637_ord": "1211", - "2963_index": "25206", - "29640_ord": "3383", - "29642_ord": "5441", - "29645_ord": "1889", - "29647_ord": "3644", - "29648_ord": "4354", - "29649_ord": "1026", - "2964_index": "21462", - "2965_index": "9633", - "29662_ord": "3229", - "29664_ord": "5602", - "29669_ord": "1285", - "2966_index": "23762", - "29673_ord": "3666", - "29674_ord": "2075", - "29677_ord": "4135", - "29678_ord": "5586", - "2967_index": "30691", - "29680_ord": "453", - "2968_index": "32564", - "29699_ord": "2732", - "2969_index": "27447", - "296_index": "35014", - "29701_ord": "545", - "29702_ord": "3083", - "29705_ord": "3693", - "2970_index": "21305", - "29711_ord": "3988", - "29712_ord": "1978", - "29718_ord": "5003", - "2971_index": "26723", - "29723_ord": "5031", - "2972_index": "9334", - "29730_ord": "2852", - "29733_ord": "599", - "29734_ord": "1442", - "29736_ord": "2768", - "29738_ord": "2667", - "2973_index": "29366", - "29742_ord": "1013", - "29744_ord": "155", - "29747_ord": "2991", - "29748_ord": "5413", - "29749_ord": "3899", - "2974_index": "32519", - "29750_ord": "3712", - "29756_ord": "5160", - "2975_index": "33211", - "29761_ord": "4387", - "2976_index": "24378", - "2977_index": "40844", - "29781_ord": "4359", - "29785_ord": "4323", - "29786_ord": "3896", - "29787_ord": "2884", - "29788_ord": "1447", - "2978_index": "24229", - "29790_ord": "4831", - "29791_ord": "1433", - "2979_index": "35853", - "297_index": "37013", - "29808_ord": "3704", - "2980_index": "32753", - "29814_ord": "2802", - "2981_index": "33683", - "29822_ord": "4472", - "29824_ord": "5524", - "29827_ord": "2616", - "2982_index": "23221", - "29830_ord": "4880", - "29831_ord": "1044", - "29835_ord": "70", - "2983_index": "38079", - "29840_ord": "4105", - "2984_index": "32874", - "29852_ord": "1594", - "29854_ord": "3117", - "29855_ord": "689", - "2985_index": "21057", - "29863_ord": "948", - "29864_ord": "146", - "2986_index": "35814", - "2987_index": "12394", - "2988_index": "35759", - "2989_index": "40104", - "298_index": "27589", - "29906_ord": "4240", - "2990_index": "32552", - "29916_ord": "343", - "2991_index": "29747", - "29920_ord": "375", - "29922_ord": "579", - "29923_ord": "2818", - "29926_ord": "5595", - "2992_index": "34784", - "29934_ord": "2731", - "29935_ord": "4833", - "2993_index": "22756", - "29940_ord": "3105", - "29942_ord": "3760", - "29943_ord": "1155", - "29947_ord": "600", - "2994_index": "23815", - "29956_ord": "5550", - "2995_index": "30805", - "29969_ord": "4493", - "2996_index": "25238", - "29976_ord": "4815", - "29977_ord": "3394", - "29978_ord": "3983", - "2997_index": "25216", - "29980_ord": "1128", - "29983_ord": "2291", - "29987_ord": "5476", - "29989_ord": "2718", - "2998_index": "32755", - "29992_ord": "4783", - "29993_ord": "2237", - "29995_ord": "5485", - "29996_ord": "2484", - "29997_ord": "5420", - "2999_index": "37228", - "299_index": "20472", - "29_index": "26632", - "2_index": "34414", - "30000_ord": "4352", - "30001_ord": "2211", - "30002_ord": "4207", - "30003_ord": "3199", - "30005_ord": "5560", - "30007_ord": "4921", - "30008_ord": "5548", - "3000_index": "40736", - "30010_ord": "239", - "30011_ord": "3757", - "30014_ord": "4426", - "30016_ord": "4845", - "3001_index": "32697", - "30021_ord": "3692", - "30028_ord": "417", - "3002_index": "40112", - "30030_ord": "2176", - "30031_ord": "3526", - "30033_ord": "3228", - "30036_ord": "2823", - "3003_index": "30109", - "30041_ord": "3368", - "30044_ord": "2664", - "3004_index": "26188", - "30053_ord": "338", - "30054_ord": "1891", - "30058_ord": "961", - "3005_index": "40560", - "30066_ord": "2775", - "30068_ord": "1139", - "3006_index": "36131", - "30072_ord": "2343", - "30079_ord": "1642", - "3007_index": "33046", - "30083_ord": "4827", - "30086_ord": "4136", - "3008_index": "33491", - "30091_ord": "1971", - "30095_ord": "357", - "30097_ord": "2576", - "3009_index": "28195", - "300_index": "39063", - "30103_ord": "2457", - "30105_ord": "4283", - "30106_ord": "621", - "30109_ord": "3003", - "3010_index": "19994", - "30111_ord": "4178", - "30113_ord": "1115", - "30115_ord": "981", - "30116_ord": "4125", - "30117_ord": "2321", - "3011_index": "35199", - "30123_ord": "3405", - "30126_ord": "902", - "30127_ord": "4540", - "30129_ord": "3818", - "3012_index": "233", - "30130_ord": "5359", - "30132_ord": "2313", - "30133_ord": "4174", - "30136_ord": "893", - "30137_ord": "2951", - "3013_index": "8800", - "30140_ord": "2687", - "30141_ord": "4313", - "30142_ord": "1028", - "30146_ord": "506", - "30149_ord": "3292", - "3014_index": "20285", - "30151_ord": "3151", - "30152_ord": "2473", - "30153_ord": "4458", - "30154_ord": "2047", - "30157_ord": "508", - "3015_index": "22688", - "30162_ord": "3401", - "30164_ord": "1656", - "30165_ord": "2450", - "30168_ord": "2671", - "3016_index": "37095", - "30171_ord": "2216", - "30174_ord": "2370", - "30178_ord": "4794", - "30179_ord": "3375", - "3017_index": "38243", - "30180_ord": "719", - "30183_ord": "4696", - "30186_ord": "597", - "30187_ord": "2192", - "3018_index": "25417", - "30192_ord": "4856", - "30196_ord": "949", - "3019_index": "39608", - "301_index": "28404", - "30201_ord": "5450", - "30204_ord": "385", - "30207_ord": "5092", - "30208_ord": "2103", - "30209_ord": "2392", - "3020_index": "34281", - "3021_index": "22238", - "30224_ord": "2625", - "3022_index": "38544", - "30231_ord": "2809", - "30232_ord": "603", - "30233_ord": "1602", - "30239_ord": "3451", - "3023_index": "26280", - "30240_ord": "2197", - "30242_ord": "912", - "30244_ord": "1136", - "30245_ord": "1553", - "30246_ord": "4118", - "30249_ord": "1440", - "3024_index": "24265", - "30250_ord": "4989", - "30251_ord": "140", - "30259_ord": "225", - "3025_index": "26087", - "30260_ord": "2315", - "30261_ord": "5454", - "30264_ord": "705", - "3026_index": "30784", - "30270_ord": "1958", - "30272_ord": "2737", - "3027_index": "31293", - "30284_ord": "3750", - "3028_index": "22383", - "30292_ord": "1778", - "30294_ord": "1359", - "3029_index": "30337", - "302_index": "38197", - "30300_ord": "5233", - "30302_ord": "5225", - "30307_ord": "1983", - "3030_index": "20542", - "30315_ord": "2629", - "3031_index": "32918", - "30328_ord": "2539", - "3032_index": "25466", - "30331_ord": "69", - "30333_ord": "127", - "30334_ord": "2411", - "30337_ord": "3029", - "30338_ord": "39", - "3033_index": "26792", - "30340_ord": "443", - "30342_ord": "1666", - "30343_ord": "207", - "30344_ord": "1653", - "30347_ord": "5321", - "3034_index": "23381", - "30350_ord": "2587", - "30353_ord": "932", - "30355_ord": "5211", - "30358_ord": "5319", - "3035_index": "32903", - "30361_ord": "286", - "3036_index": "32494", - "30372_ord": "4414", - "3037_index": "24072", - "30382_ord": "2217", - "30385_ord": "2111", - "30388_ord": "268", - "3038_index": "35786", - "30399_ord": "527", - "3039_index": "28820", - "303_index": "31378", - "30402_ord": "804", - "30405_ord": "700", - "30406_ord": "787", - "30408_ord": "692", - "3040_index": "20877", - "30410_ord": "4379", - "30413_ord": "3941", - "30414_ord": "5693", - "30415_ord": "4724", - "30416_ord": "1795", - "30417_ord": "1726", - "30418_ord": "1372", - "3041_index": "22842", - "30420_ord": "3327", - "30422_ord": "874", - "30423_ord": "2359", - "30424_ord": "2003", - "30427_ord": "1624", - "3042_index": "29425", - "30431_ord": "3865", - "30437_ord": "1582", - "3043_index": "25694", - "30446_ord": "805", - "30447_ord": "3951", - "30449_ord": "5361", - "3044_index": "29615", - "30450_ord": "1870", - "30452_ord": "1834", - "30456_ord": "3636", - "30457_ord": "2360", - "3045_index": "38498", - "30460_ord": "1283", - "30462_ord": "4276", - "30465_ord": "1384", - "3046_index": "26696", - "30471_ord": "11", - "30472_ord": "2881", - "30473_ord": "441", - "30475_ord": "1632", - "3047_index": "20114", - "30489_ord": "5784", - "3048_index": "20919", - "30491_ord": "2626", - "30495_ord": "782", - "30496_ord": "1534", - "30498_ord": "4571", - "3049_index": "32559", - "304_index": "22741", - "30502_ord": "4103", - "30504_ord": "3217", - "30505_ord": "4778", - "3050_index": "30917", - "30511_ord": "4021", - "30518_ord": "5761", - "30519_ord": "2955", - "3051_index": "31941", - "30520_ord": "1563", - "30522_ord": "5695", - "30524_ord": "3136", - "30528_ord": "244", - "30529_ord": "3812", - "3052_index": "24665", - "30535_ord": "2345", - "3053_index": "35803", - "30544_ord": "1346", - "30545_ord": "4404", - "30546_ord": "1280", - "3054_index": "34612", - "30554_ord": "3455", - "30555_ord": "3687", - "3055_index": "38169", - "30561_ord": "1098", - "30562_ord": "2600", - "30563_ord": "1378", - "30566_ord": "4343", - "30568_ord": "764", - "3056_index": "31459", - "30570_ord": "3058", - "30571_ord": "3926", - "30572_ord": "101", - "3057_index": "22094", - "30585_ord": "4670", - "30589_ord": "1142", - "3058_index": "30570", - "30590_ord": "4987", - "30591_ord": "4634", - "30592_ord": "1894", - "30596_ord": "2349", - "30597_ord": "2788", - "3059_index": "32954", - "305_index": "9346", - "30603_ord": "4721", - "30604_ord": "5581", - "30606_ord": "3305", - "30609_ord": "750", - "3060_index": "20971", - "30610_ord": "1415", - "3061_index": "34701", - "30623_ord": "2638", - "30624_ord": "5661", - "30629_ord": "4010", - "3062_index": "32782", - "30631_ord": "50", - "30633_ord": "1182", - "30634_ord": "5409", - "30636_ord": "5166", - "30637_ord": "5803", - "3063_index": "20316", - "30640_ord": "2799", - "30643_ord": "4658", - "3064_index": "38632", - "30651_ord": "5368", - "30653_ord": "5198", - "30654_ord": "1351", - "30655_ord": "2663", - "3065_index": "42", - "3066_index": "23360", - "30679_ord": "3258", - "3067_index": "20743", - "30683_ord": "2006", - "30684_ord": "5811", - "3068_index": "37148", - "30690_ord": "2475", - "30691_ord": "2967", - "30693_ord": "4544", - "30697_ord": "1198", - "30699_ord": "980", - "3069_index": "25306", - "306_index": "24062", - "30701_ord": "31", - "30702_ord": "2681", - "30707_ord": "148", - "3070_index": "31455", - "30710_ord": "5013", - "30717_ord": "3224", - "30718_ord": "2959", - "30719_ord": "4150", - "3071_index": "36755", - "30720_ord": "5086", - "30721_ord": "4959", - "30722_ord": "4317", - "3072_index": "35737", - "30732_ord": "1400", - "30733_ord": "74", - "30738_ord": "2263", - "3073_index": "32578", - "30740_ord": "2918", - "30742_ord": "5009", - "30746_ord": "3441", - "30749_ord": "1288", - "3074_index": "20462", - "30755_ord": "5492", - "30757_ord": "5666", - "30759_ord": "1390", - "3075_index": "21076", - "30765_ord": "2080", - "30768_ord": "130", - "3076_index": "31531", - "30772_ord": "2947", - "30775_ord": "989", - "30776_ord": "4223", - "30778_ord": "748", - "3077_index": "20882", - "30782_ord": "2864", - "30784_ord": "3026", - "30789_ord": "3894", - "3078_index": "26727", - "3079_index": "24744", - "307_index": "25932", - "30802_ord": "4457", - "30805_ord": "2995", - "3080_index": "20116", - "30813_ord": "5512", - "3081_index": "20935", - "30827_ord": "4490", - "30828_ord": "990", - "3082_index": "20104", - "30830_ord": "4253", - "3083_index": "29702", - "30844_ord": "2464", - "30849_ord": "3400", - "3084_index": "100", - "30857_ord": "4964", - "3085_index": "28207", - "30860_ord": "3435", - "30861_ord": "5807", - "30862_ord": "2954", - "30865_ord": "4488", - "30867_ord": "5808", - "3086_index": "35887", - "30871_ord": "2105", - "30872_ord": "3308", - "30875_ord": "1074", - "30879_ord": "532", - "3087_index": "24472", - "30883_ord": "4619", - "30887_ord": "3810", - "3088_index": "21799", - "30896_ord": "241", - "30897_ord": "5686", - "30899_ord": "2138", - "3089_index": "21009", - "308_index": "21183", - "30900_ord": "1969", - "3090_index": "32633", - "30910_ord": "4642", - "30913_ord": "3787", - "30917_ord": "3050", - "3091_index": "22948", - "30922_ord": "3748", - "30923_ord": "2001", - "30928_ord": "4033", - "3092_index": "31937", - "30932_ord": "1888", - "30933_ord": "1208", - "30939_ord": "1016", - "3093_index": "31085", - "3094_index": "28855", - "30952_ord": "5147", - "30956_ord": "1650", - "3095_index": "20081", - "30967_ord": "2742", - "3096_index": "21592", - "30970_ord": "4616", - "30977_ord": "4983", - "3097_index": "24481", - "3098_index": "12304", - "3099_index": "32670", - "309_index": "38142", - "30_index": "33446", - "3100_index": "20381", - "3101_index": "26597", - "31028_ord": "4564", - "3102_index": "22199", - "31034_ord": "2399", - "31035_ord": "1524", - "31036_ord": "2036", - "31038_ord": "4180", - "3103_index": "21912", - "31040_ord": "4873", - "31041_ord": "1710", - "31047_ord": "2579", - "31048_ord": "183", - "31049_ord": "2736", - "3104_index": "38543", - "31054_ord": "4030", - "31056_ord": "5433", - "31059_ord": "4035", - "3105_index": "29940", - "31062_ord": "3255", - "31063_ord": "3547", - "31066_ord": "4460", - "31067_ord": "3537", - "31068_ord": "5416", - "31069_ord": "4835", - "3106_index": "20127", - "31070_ord": "219", - "31071_ord": "4008", - "31072_ord": "1953", - "31077_ord": "2641", - "31079_ord": "1035", - "3107_index": "26568", - "31080_ord": "1497", - "31085_ord": "3093", - "31087_ord": "3195", - "3108_index": "36943", - "31095_ord": "3397", - "31096_ord": "3492", - "31098_ord": "293", - "3109_index": "22771", - "310_index": "40483", - "31104_ord": "890", - "31105_ord": "4862", - "31108_ord": "1309", - "31109_ord": "984", - "3110_index": "20317", - "31119_ord": "1686", - "3111_index": "35806", - "3112_index": "25032", - "3113_index": "28431", - "31143_ord": "5716", - "3114_index": "32792", - "31155_ord": "5309", - "3115_index": "36335", - "31161_ord": "1141", - "31162_ord": "4324", - "31163_ord": "5312", - "31165_ord": "2191", - "31166_ord": "1448", - "31168_ord": "2184", - "31169_ord": "2171", - "3116_index": "27988", - "31171_ord": "1159", - "31177_ord": "2624", - "31179_ord": "760", - "3117_index": "29854", - "31181_ord": "4912", - "31183_ord": "2555", - "31185_ord": "645", - "31186_ord": "1962", - "3118_index": "34962", - "31192_ord": "4057", - "31199_ord": "432", - "3119_index": "22367", - "311_index": "20174", - "31204_ord": "3297", - "31206_ord": "1231", - "31207_ord": "4083", - "31209_ord": "5648", - "3120_index": "38414", - "31215_ord": "37", - "31216_ord": "606", - "3121_index": "35824", - "31224_ord": "2084", - "31227_ord": "5703", - "31229_ord": "1832", - "3122_index": "28689", - "31232_ord": "5053", - "3123_index": "32468", - "31243_ord": "2703", - "31245_ord": "1287", - "31246_ord": "4121", - "3124_index": "20820", - "31252_ord": "1342", - "31255_ord": "3134", - "31258_ord": "3721", - "3125_index": "29481", - "31262_ord": "4820", - "31264_ord": "215", - "31267_ord": "2224", - "3126_index": "24701", - "3127_index": "37057", - "31283_ord": "3328", - "31287_ord": "4201", - "3128_index": "38654", - "31291_ord": "5507", - "31292_ord": "3371", - "31293_ord": "3027", - "31295_ord": "2949", - "3129_index": "33218", - "312_index": "20393", - "31302_ord": "3369", - "3130_index": "12301", - "31313_ord": "2320", - "31319_ord": "4084", - "3131_index": "24245", - "3132_index": "21979", - "3133_index": "32923", - "31344_ord": "3633", - "31348_ord": "5609", - "3134_index": "31255", - "31350_ord": "745", - "31351_ord": "568", - "31353_ord": "3300", - "31354_ord": "4899", - "31359_ord": "4605", - "3135_index": "32458", - "31361_ord": "1176", - "31363_ord": "2190", - "31364_ord": "1036", - "31368_ord": "1783", - "3136_index": "30524", - "31373_ord": "2285", - "31377_ord": "2706", - "31378_ord": "303", - "3137_index": "34388", - "31381_ord": "793", - "31382_ord": "5585", - "31383_ord": "4163", - "31384_ord": "5553", - "31388_ord": "3627", - "31389_ord": "3578", - "3138_index": "27740", - "31391_ord": "4740", - "31392_ord": "491", - "31395_ord": "2764", - "31397_ord": "5498", - "31398_ord": "5467", - "3139_index": "28911", - "313_index": "26060", - "31404_ord": "5203", - "31405_ord": "4689", - "3140_index": "32570", - "3141_index": "36985", - "31423_ord": "2623", - "3142_index": "32541", - "31435_ord": "1600", - "3143_index": "26421", - "31446_ord": "4849", - "31449_ord": "1262", - "3144_index": "33323", - "31454_ord": "761", - "31455_ord": "3070", - "31456_ord": "3156", - "31459_ord": "3056", - "3145_index": "38684", - "31461_ord": "3980", - "31469_ord": "4853", - "3146_index": "27964", - "31471_ord": "59", - "3147_index": "36965", - "31481_ord": "1468", - "31482_ord": "574", - "31485_ord": "2533", - "31487_ord": "5055", - "3148_index": "26389", - "31491_ord": "1320", - "31492_ord": "4533", - "31494_ord": "4116", - "31496_ord": "2686", - "31499_ord": "360", - "3149_index": "39542", - "314_index": "21695", - "31505_ord": "1345", - "31508_ord": "2585", - "3150_index": "24493", - "31513_ord": "733", - "31515_ord": "3994", - "31518_ord": "481", - "3151_index": "30151", - "31520_ord": "2862", - "31524_ord": "172", - "31525_ord": "3831", - "31526_ord": "1348", - "31528_ord": "2057", - "3152_index": "28118", - "31531_ord": "3076", - "31532_ord": "2256", - "3153_index": "33324", - "31546_ord": "2548", - "31548_ord": "2405", - "3154_index": "20449", - "3155_index": "26690", - "31561_ord": "2234", - "31563_ord": "5380", - "31567_ord": "906", - "31568_ord": "1722", - "31569_ord": "4955", - "3156_index": "31456", - "31570_ord": "3985", - "31572_ord": "3548", - "31574_ord": "4449", - "31579_ord": "1075", - "3157_index": "39296", - "31581_ord": "2071", - "31584_ord": "2087", - "3158_index": "24043", - "31598_ord": "1592", - "3159_index": "36413", - "315_index": "23448", - "31601_ord": "5002", - "31605_ord": "1422", - "31607_ord": "558", - "31609_ord": "1660", - "3160_index": "22564", - "31614_ord": "2252", - "31616_ord": "4528", - "3161_index": "32789", - "31629_ord": "4886", - "3162_index": "28041", - "31636_ord": "1436", - "31637_ord": "2581", - "31639_ord": "3544", - "3163_index": "34162", - "31649_ord": "5048", - "3164_index": "38797", - "31654_ord": "2159", - "31655_ord": "5056", - "31657_ord": "1025", - "31659_ord": "1477", - "3165_index": "21191", - "31661_ord": "1690", - "31665_ord": "2900", - "31668_ord": "1872", - "3166_index": "24608", - "31672_ord": "3940", - "3167_index": "27425", - "31681_ord": "230", - "31686_ord": "913", - "31687_ord": "3428", - "3168_index": "26122", - "31697_ord": "983", - "31699_ord": "2073", - "3169_index": "39569", - "316_index": "21368", - "31705_ord": "2573", - "31709_ord": "3829", - "3170_index": "23409", - "31713_ord": "189", - "3171_index": "23814", - "31726_ord": "734", - "31729_ord": "4672", - "3172_index": "33503", - "31735_ord": "1552", - "3173_index": "27135", - "31742_ord": "1571", - "3174_index": "25391", - "31751_ord": "5414", - "31755_ord": "2408", - "31756_ord": "1151", - "31759_ord": "4924", - "3175_index": "33260", - "3176_index": "23481", - "3177_index": "34256", - "31783_ord": "177", - "31786_ord": "1628", - "3178_index": "25806", - "3179_index": "25114", - "317_index": "34928", - "31800_ord": "2415", - "31807_ord": "5200", - "31809_ord": "2419", - "3180_index": "35746", - "3181_index": "33040", - "31821_ord": "5373", - "3182_index": "25379", - "3183_index": "26432", - "3184_index": "26550", - "31859_ord": "3928", - "3185_index": "35819", - "31867_ord": "1852", - "31869_ord": "4110", - "3186_index": "21439", - "3187_index": "35882", - "31881_ord": "1326", - "31889_ord": "5038", - "3188_index": "21360", - "31890_ord": "2417", - "31893_ord": "3493", - "31895_ord": "3586", - "31896_ord": "1757", - "3189_index": "20551", - "318_index": "20508", - "31900_ord": "3861", - "31901_ord": "1878", - "31903_ord": "5337", - "31908_ord": "986", - "31909_ord": "1775", - "3190_index": "39064", - "31914_ord": "4904", - "31918_ord": "2593", - "3191_index": "21487", - "31921_ord": "2684", - "31922_ord": "812", - "31923_ord": "4242", - "31929_ord": "627", - "3192_index": "37050", - "31932_ord": "4133", - "31933_ord": "2813", - "31934_ord": "5144", - "31937_ord": "3092", - "3193_index": "24380", - "31941_ord": "3051", - "31946_ord": "1325", - "31948_ord": "5099", - "31949_ord": "821", - "3194_index": "37196", - "31957_ord": "1577", - "31958_ord": "4665", - "31959_ord": "4412", - "3195_index": "31087", - "31961_ord": "3643", - "31964_ord": "1092", - "31967_ord": "1412", - "31968_ord": "334", - "3196_index": "21949", - "3197_index": "22300", - "31983_ord": "3424", - "3198_index": "21035", - "31995_ord": "3791", - "3199_index": "30003", - "319_index": "21010", - "31_index": "30701", - "3200_index": "24140", - "32010_ord": "5620", - "3201_index": "24974", - "3202_index": "20518", - "32032_ord": "934", - "32034_ord": "3962", - "32039_ord": "3261", - "3203_index": "36460", - "32043_ord": "1376", - "32044_ord": "1767", - "32047_ord": "4917", - "3204_index": "21621", - "3205_index": "29066", - "3206_index": "33030", - "3207_index": "35273", - "3208_index": "22810", - "32092_ord": "1633", - "3209_index": "29060", - "320_index": "23724", - "3210_index": "34523", - "32110_ord": "5028", - "32119_ord": "1323", - "3211_index": "20769", - "3212_index": "23100", - "3213_index": "33099", - "3214_index": "25209", - "3215_index": "28866", - "32166_ord": "2816", - "3216_index": "38068", - "3217_index": "30504", - "3218_index": "29536", - "3219_index": "25164", - "321_index": "26045", - "3220_index": "8251", - "3221_index": "24215", - "3222_index": "25387", - "3223_index": "24796", - "3224_index": "30717", - "3225_index": "22880", - "3226_index": "21344", - "3227_index": "22725", - "32288_ord": "4885", - "3228_index": "30033", - "32290_ord": "1216", - "3229_index": "29662", - "322_index": "32687", - "32303_ord": "1498", - "3230_index": "32463", - "32315_ord": "5063", - "3231_index": "37", - "32321_ord": "2251", - "32327_ord": "3338", - "3232_index": "25730", - "3233_index": "25950", - "3234_index": "36865", - "3235_index": "21264", - "3236_index": "33275", - "3237_index": "21385", - "32386_ord": "652", - "3238_index": "38398", - "3239_index": "24545", - "323_index": "32771", - "32404_ord": "5542", - "3240_index": "25294", - "32416_ord": "3660", - "32417_ord": "4079", - "32418_ord": "5737", - "32419_ord": "2286", - "3241_index": "28558", - "32420_ord": "4708", - "32421_ord": "1441", - "32422_ord": "1845", - "32423_ord": "162", - "32424_ord": "2527", - "32426_ord": "516", - "32427_ord": "1083", - "32428_ord": "2841", - "32429_ord": "625", - "3242_index": "21380", - "32430_ord": "2284", - "32431_ord": "3536", - "32432_ord": "4480", - "32433_ord": "1186", - "32434_ord": "858", - "32435_ord": "1038", - "32437_ord": "1630", - "32438_ord": "2142", - "32439_ord": "358", - "3243_index": "32561", - "32440_ord": "3979", - "32441_ord": "5039", - "32442_ord": "3466", - "32443_ord": "1297", - "32445_ord": "2432", - "32446_ord": "165", - "32447_ord": "715", - "32448_ord": "635", - "32449_ord": "1122", - "3244_index": "25380", - "32451_ord": "1058", - "32452_ord": "642", - "32453_ord": "1728", - "32454_ord": "414", - "32455_ord": "2193", - "32456_ord": "4529", - "32458_ord": "3135", - "3245_index": "35272", - "32460_ord": "5355", - "32461_ord": "5710", - "32462_ord": "5316", - "32463_ord": "3230", - "32464_ord": "5129", - "32465_ord": "2570", - "32466_ord": "4144", - "32467_ord": "3303", - "32468_ord": "3123", - "32469_ord": "910", - "3246_index": "40150", - "32470_ord": "1089", - "32472_ord": "1723", - "32473_ord": "1724", - "32474_ord": "4015", - "32475_ord": "1530", - "32476_ord": "4478", - "32477_ord": "5657", - "32478_ord": "4090", - "32479_ord": "1054", - "3247_index": "28210", - "32480_ord": "1153", - "32481_ord": "2170", - "32482_ord": "1077", - "32483_ord": "1923", - "32485_ord": "2713", - "32486_ord": "754", - "32487_ord": "427", - "32488_ord": "4078", - "32489_ord": "2354", - "3248_index": "33146", - "32490_ord": "1785", - "32491_ord": "982", - "32493_ord": "1253", - "32494_ord": "3036", - "32495_ord": "1867", - "32496_ord": "361", - "32499_ord": "2277", - "3249_index": "36764", - "324_index": "35752", - "32500_ord": "1065", - "32501_ord": "4613", - "32502_ord": "2117", - "32503_ord": "1425", - "32504_ord": "5058", - "32506_ord": "2373", - "32507_ord": "2657", - "32508_ord": "2819", - "32509_ord": "450", - "3250_index": "26207", - "32510_ord": "2680", - "32511_ord": "1278", - "32512_ord": "3474", - "32513_ord": "3396", - "32516_ord": "3352", - "32517_ord": "2807", - "32518_ord": "1410", - "32519_ord": "2974", - "3251_index": "24698", - "32520_ord": "3349", - "32521_ord": "966", - "32526_ord": "1550", - "3252_index": "25422", - "32530_ord": "5388", - "32531_ord": "2744", - "32532_ord": "2204", - "32533_ord": "1865", - "32534_ord": "775", - "32535_ord": "1373", - "32536_ord": "5307", - "32537_ord": "2381", - "32538_ord": "5221", - "3253_index": "20747", - "32540_ord": "1613", - "32541_ord": "3142", - "32542_ord": "643", - "32543_ord": "4445", - "32544_ord": "351", - "32546_ord": "1984", - "32548_ord": "2228", - "32549_ord": "4351", - "3254_index": "81", - "32551_ord": "4151", - "32552_ord": "2990", - "32553_ord": "2542", - "32554_ord": "3918", - "32557_ord": "4050", - "32558_ord": "4277", - "32559_ord": "3049", - "3255_index": "31062", - "32560_ord": "4722", - "32561_ord": "3243", - "32563_ord": "3419", - "32564_ord": "2968", - "32565_ord": "1754", - "32566_ord": "5090", - "32568_ord": "5344", - "3256_index": "36160", - "32570_ord": "3140", - "32578_ord": "3073", - "3257_index": "35280", - "32580_ord": "1899", - "32581_ord": "1788", - "3258_index": "30679", - "32592_ord": "2728", - "32593_ord": "3631", - "32596_ord": "4200", - "32597_ord": "2643", - "32599_ord": "4335", - "3259_index": "36527", - "325_index": "21737", - "32600_ord": "4471", - "32602_ord": "1303", - "32609_ord": "954", - "3260_index": "26021", - "32610_ord": "2041", - "32613_ord": "3764", - "32617_ord": "842", - "32618_ord": "5054", - "3261_index": "32039", - "32622_ord": "5535", - "32626_ord": "3445", - "32628_ord": "5060", - "3262_index": "28067", - "32633_ord": "3090", - "3263_index": "21890", - "32641_ord": "727", - "3264_index": "23305", - "32650_ord": "2456", - "32652_ord": "1196", - "32654_ord": "4781", - "32657_ord": "3845", - "3265_index": "112", - "32660_ord": "3888", - "32662_ord": "13", - "32666_ord": "3274", - "3266_index": "38256", - "32670_ord": "3099", - "32671_ord": "5298", - "32673_ord": "4004", - "32676_ord": "2486", - "3267_index": "37124", - "32687_ord": "322", - "3268_index": "24092", - "32690_ord": "1813", - "32696_ord": "4952", - "32697_ord": "3001", - "3269_index": "37152", - "326_index": "20828", - "32701_ord": "2599", - "32703_ord": "2306", - "32705_ord": "1324", - "32709_ord": "5768", - "3270_index": "27741", - "32714_ord": "3363", - "32716_ord": "891", - "32718_ord": "1648", - "3271_index": "25384", - "32724_ord": "2467", - "32725_ord": "3676", - "32728_ord": "4961", - "3272_index": "24202", - "32735_ord": "2941", - "32736_ord": "2892", - "32737_ord": "4843", - "3273_index": "21321", - "32742_ord": "2178", - "32745_ord": "1945", - "3274_index": "32666", - "32750_ord": "4243", - "32752_ord": "400", - "32753_ord": "2980", - "32755_ord": "2998", - "3275_index": "23518", - "32763_ord": "586", - "32764_ord": "2401", - "32768_ord": "5219", - "32769_ord": "2091", - "3276_index": "38662", - "32771_ord": "323", - "32772_ord": "4868", - "32773_ord": "5284", - "32774_ord": "697", - "32779_ord": "1188", - "3277_index": "27844", - "32780_ord": "2308", - "32781_ord": "1437", - "32782_ord": "3062", - "32784_ord": "615", - "32789_ord": "3161", - "3278_index": "23195", - "32791_ord": "830", - "32792_ord": "3114", - "32793_ord": "391", - "32796_ord": "285", - "3279_index": "26976", - "327_index": "36802", - "32806_ord": "5162", - "32808_ord": "44", - "3280_index": "21825", - "32819_ord": "3510", - "3281_index": "25628", - "32822_ord": "4657", - "32824_ord": "2635", - "32827_ord": "3859", - "32829_ord": "3705", - "3282_index": "26345", - "32831_ord": "1205", - "32834_ord": "2815", - "32838_ord": "5677", - "3283_index": "22307", - "32842_ord": "4349", - "32843_ord": "4811", - "32844_ord": "5754", - "3284_index": "39751", - "32850_ord": "1936", - "32852_ord": "633", - "32856_ord": "614", - "32858_ord": "1737", - "3285_index": "33655", - "3286_index": "23046", - "32873_ord": "1291", - "32874_ord": "2984", - "3287_index": "28966", - "3288_index": "27016", - "32899_ord": "4006", - "3289_index": "36282", - "328_index": "24311", - "32900_ord": "5769", - "32902_ord": "3773", - "32903_ord": "3035", - "32905_ord": "639", - "32907_ord": "3876", - "32908_ord": "4828", - "3290_index": "20305", - "32915_ord": "2480", - "32918_ord": "3031", - "3291_index": "20556", - "32920_ord": "5279", - "32922_ord": "4730", - "32923_ord": "3133", - "32925_ord": "5385", - "32928_ord": "2746", - "32929_ord": "575", - "3292_index": "30149", - "32930_ord": "5151", - "32932_ord": "3617", - "32933_ord": "1960", - "32937_ord": "1493", - "32938_ord": "774", - "3293_index": "28821", - "32942_ord": "3837", - "32943_ord": "472", - "32945_ord": "3488", - "32946_ord": "1796", - "32948_ord": "226", - "3294_index": "26000", - "32954_ord": "3059", - "32957_ord": "1698", - "32958_ord": "698", - "32959_ord": "2824", - "3295_index": "24321", - "32960_ord": "5599", - "32961_ord": "1998", - "32963_ord": "3622", - "32964_ord": "4440", - "32966_ord": "4947", - "3296_index": "22826", - "32972_ord": "2605", - "32974_ord": "2110", - "3297_index": "31204", - "32982_ord": "3638", - "32986_ord": "3450", - "32988_ord": "4692", - "32989_ord": "1511", - "3298_index": "22922", - "32990_ord": "1111", - "32993_ord": "2584", - "32996_ord": "4500", - "32997_ord": "5287", - "32999_ord": "5621", - "3299_index": "20754", - "329_index": "29424", - "32_index": "24825", - "33002_ord": "2695", - "33003_ord": "2214", - "33005_ord": "5296", - "33007_ord": "3593", - "33008_ord": "1611", - "33009_ord": "2264", - "3300_index": "31353", - "33011_ord": "4953", - "33014_ord": "5131", - "33016_ord": "1919", - "33018_ord": "2691", - "3301_index": "19982", - "33021_ord": "4552", - "33022_ord": "3895", - "33025_ord": "4814", - "33026_ord": "5035", - "3302_index": "65374", - "33030_ord": "3206", - "33033_ord": "3974", - "33034_ord": "3534", - "33037_ord": "4852", - "33039_ord": "1248", - "3303_index": "32467", - "33040_ord": "3181", - "33041_ord": "2435", - "33043_ord": "3438", - "33044_ord": "4518", - "33046_ord": "3007", - "3304_index": "23649", - "33050_ord": "1961", - "3305_index": "30606", - "3306_index": "23059", - "33071_ord": "5210", - "33073_ord": "1160", - "33074_ord": "5267", - "3307_index": "23578", - "33080_ord": "2280", - "33086_ord": "5767", - "3308_index": "30872", - "33094_ord": "262", - "33096_ord": "815", - "33097_ord": "5037", - "33098_ord": "5065", - "33099_ord": "3213", - "3309_index": "20478", - "330_index": "22376", - "33100_ord": "1625", - "33104_ord": "5096", - "33105_ord": "3838", - "33107_ord": "2120", - "33108_ord": "2825", - "33109_ord": "4417", - "3310_index": "40638", - "3311_index": "39284", - "33125_ord": "2230", - "33129_ord": "4155", - "3312_index": "25321", - "33133_ord": "2022", - "33134_ord": "755", - "33136_ord": "2335", - "33137_ord": "2336", - "3313_index": "24684", - "33140_ord": "4951", - "33145_ord": "2461", - "33146_ord": "3248", - "33147_ord": "5432", - "33148_ord": "816", - "3314_index": "23736", - "33150_ord": "4741", - "33151_ord": "3766", - "33152_ord": "2797", - "3315_index": "25600", - "33160_ord": "3382", - "33162_ord": "1481", - "33167_ord": "340", - "33169_ord": "2222", - "3316_index": "27001", - "33176_ord": "2578", - "33179_ord": "5410", - "3317_index": "24724", - "33180_ord": "1824", - "33181_ord": "1152", - "3318_index": "38144", - "33190_ord": "5643", - "33192_ord": "1085", - "3319_index": "26829", - "331_index": "20301", - "33203_ord": "2880", - "3320_index": "20070", - "33210_ord": "4593", - "33211_ord": "2975", - "33216_ord": "4579", - "33218_ord": "3129", - "33219_ord": "620", - "3321_index": "36198", - "33222_ord": "505", - "33226_ord": "5165", - "3322_index": "23682", - "3323_index": "27873", - "33243_ord": "1504", - "3324_index": "33328", - "33251_ord": "4162", - "33255_ord": "1316", - "33258_ord": "3745", - "3325_index": "25308", - "33260_ord": "3175", - "33261_ord": "4883", - "33267_ord": "5217", - "33268_ord": "1812", - "3326_index": "21913", - "33275_ord": "3236", - "33276_ord": "1981", - "33278_ord": "2619", - "3327_index": "30420", - "33280_ord": "1250", - "33281_ord": "5364", - "33282_ord": "5795", - "33284_ord": "5253", - "33285_ord": "1756", - "33286_ord": "3479", - "3328_index": "31283", - "33292_ord": "5555", - "33293_ord": "4376", - "33296_ord": "2644", - "33298_ord": "835", - "3329_index": "23114", - "332_index": "24452", - "33300_ord": "237", - "33307_ord": "1510", - "33308_ord": "5561", - "3330_index": "26757", - "33310_ord": "2676", - "33311_ord": "4503", - "33313_ord": "1099", - "3331_index": "33609", - "33322_ord": "1705", - "33323_ord": "3144", - "33324_ord": "3153", - "33328_ord": "3324", - "33329_ord": "4874", - "3332_index": "21547", - "33333_ord": "3718", - "33334_ord": "818", - "33335_ord": "345", - "33337_ord": "4567", - "3333_index": "38046", - "3334_index": "35839", - "33351_ord": "3423", - "3335_index": "20051", - "33368_ord": "1781", - "3336_index": "28113", - "3337_index": "29030", - "3338_index": "32327", - "33390_ord": "979", - "33391_ord": "1030", - "33392_ord": "4514", - "33394_ord": "4456", - "33395_ord": "569", - "3339_index": "20513", - "333_index": "36175", - "33402_ord": "452", - "33406_ord": "5323", - "3340_index": "29359", - "33410_ord": "4519", - "33416_ord": "2502", - "33419_ord": "26", - "3341_index": "20809", - "33421_ord": "1275", - "33422_ord": "2913", - "33426_ord": "1443", - "3342_index": "24555", - "33432_ord": "48", - "33433_ord": "1763", - "33436_ord": "408", - "33437_ord": "4819", - "3343_index": "21512", - "33441_ord": "5688", - "33445_ord": "1848", - "33446_ord": "30", - "3344_index": "54", - "33450_ord": "2893", - "33451_ord": "470", - "33452_ord": "636", - "33453_ord": "896", - "33454_ord": "5159", - "33455_ord": "4161", - "33457_ord": "1001", - "33459_ord": "1912", - "3345_index": "8213", - "33463_ord": "2637", - "33464_ord": "5742", - "33465_ord": "4569", - "33469_ord": "4915", - "3346_index": "38181", - "33476_ord": "1502", - "33479_ord": "5288", - "3347_index": "28270", - "33483_ord": "5235", - "33484_ord": "2912", - "33485_ord": "227", - "33486_ord": "5658", - "33487_ord": "2753", - "33489_ord": "5745", - "3348_index": "20150", - "33490_ord": "4262", - "33491_ord": "3008", - "33492_ord": "1821", - "33493_ord": "1741", - "33495_ord": "2878", - "33499_ord": "5304", - "3349_index": "32520", - "334_index": "31968", - "33502_ord": "5389", - "33503_ord": "3172", - "33505_ord": "3597", - "33507_ord": "2860", - "33509_ord": "1669", - "3350_index": "21811", - "33510_ord": "520", - "33515_ord": "5736", - "33519_ord": "1243", - "3351_index": "27811", - "33521_ord": "3716", - "33524_ord": "4148", - "33527_ord": "2418", - "33529_ord": "975", - "3352_index": "32516", - "33531_ord": "3839", - "33536_ord": "2141", - "33537_ord": "2463", - "33538_ord": "5172", - "33539_ord": "1938", - "3353_index": "39076", - "33540_ord": "1809", - "33541_ord": "791", - "33542_ord": "644", - "33545_ord": "5030", - "3354_index": "34770", - "33550_ord": "4709", - "33551_ord": "5687", - "33556_ord": "3910", - "33557_ord": "1758", - "33559_ord": "4462", - "3355_index": "35787", - "33564_ord": "1095", - "3356_index": "20050", - "33575_ord": "2002", - "33576_ord": "1078", - "33579_ord": "5785", - "3357_index": "35772", - "33580_ord": "5636", - "33581_ord": "281", - "33583_ord": "5290", - "33585_ord": "5019", - "33588_ord": "3473", - "33589_ord": "22", - "3358_index": "22374", - "33590_ord": "5146", - "33592_ord": "4171", - "33593_ord": "1476", - "3359_index": "28354", - "335_index": "24402", - "33600_ord": "5206", - "33603_ord": "1950", - "33606_ord": "1368", - "33609_ord": "3331", - "3360_index": "26497", - "33615_ord": "4661", - "33616_ord": "2290", - "33618_ord": "2346", - "3361_index": "25284", - "33620_ord": "204", - "33626_ord": "5047", - "33628_ord": "4572", - "3362_index": "27051", - "33630_ord": "4482", - "33631_ord": "2112", - "33632_ord": "1090", - "33633_ord": "421", - "33635_ord": "4848", - "33636_ord": "5591", - "33637_ord": "2609", - "33638_ord": "4538", - "33639_ord": "5740", - "3363_index": "32714", - "33642_ord": "5114", - "33643_ord": "1404", - "33647_ord": "3916", - "3364_index": "26151", - "33655_ord": "3285", - "33659_ord": "86", - "3365_index": "27189", - "33660_ord": "3658", - "33669_ord": "1185", - "3366_index": "29255", - "33670_ord": "1100", - "33673_ord": "3783", - "33678_ord": "1568", - "3367_index": "26633", - "33682_ord": "1838", - "33683_ord": "2981", - "33688_ord": "1794", - "3368_index": "30041", - "33692_ord": "5018", - "33694_ord": "1803", - "33696_ord": "2673", - "3369_index": "31302", - "336_index": "38518", - "33704_ord": "1135", - "33705_ord": "2711", - "33707_ord": "4824", - "3370_index": "25935", - "33713_ord": "5372", - "33714_ord": "2350", - "33716_ord": "2395", - "33719_ord": "4927", - "3371_index": "31292", - "33721_ord": "5729", - "33722_ord": "1224", - "33725_ord": "4548", - "33729_ord": "2085", - "3372_index": "39122", - "33733_ord": "158", - "33735_ord": "4219", - "33738_ord": "538", - "3373_index": "28577", - "33740_ord": "4757", - "33743_ord": "5292", - "33745_ord": "1220", - "3374_index": "34546", - "33756_ord": "3439", - "33759_ord": "397", - "3375_index": "30179", - "33760_ord": "2903", - "33761_ord": "5308", - "33769_ord": "4107", - "3376_index": "36136", - "33777_ord": "5379", - "33778_ord": "4978", - "3377_index": "20248", - "33789_ord": "3726", - "3378_index": "38221", - "33795_ord": "1883", - "33796_ord": "1721", - "3379_index": "25661", - "337_index": "23576", - "33804_ord": "4719", - "33805_ord": "2125", - "33806_ord": "4022", - "3380_index": "39336", - "3381_index": "20826", - "33821_ord": "1913", - "33828_ord": "1203", - "33829_ord": "1532", - "3382_index": "33160", - "33830_ord": "2122", - "33831_ord": "5387", - "33832_ord": "4645", - "3383_index": "29640", - "33848_ord": "179", - "3384_index": "36461", - "33853_ord": "5812", - "3385_index": "22396", - "33862_ord": "191", - "3386_index": "105", - "33879_ord": "3878", - "3387_index": "39278", - "33883_ord": "3615", - "33889_ord": "1060", - "3388_index": "26531", - "33891_ord": "1903", - "33897_ord": "4747", - "33899_ord": "3738", - "3389_index": "35766", - "338_index": "30053", - "33900_ord": "4279", - "33901_ord": "139", - "33905_ord": "2044", - "33907_ord": "794", - "33909_ord": "771", - "3390_index": "22963", - "33914_ord": "5351", - "3391_index": "20851", - "33922_ord": "951", - "3392_index": "35845", - "33931_ord": "4264", - "3393_index": "27839", - "33943_ord": "513", - "33945_ord": "2294", - "33948_ord": "602", - "3394_index": "29977", - "3395_index": "27961", - "33967_ord": "1835", - "3396_index": "32513", - "33970_ord": "2474", - "33976_ord": "4769", - "33978_ord": "4746", - "3397_index": "31095", - "33981_ord": "5081", - "33983_ord": "759", - "33988_ord": "2013", - "3398_index": "39279", - "33993_ord": "3699", - "33997_ord": "4855", - "3399_index": "23033", - "339_index": "24322", - "33_index": "27682", - "33_ord": "4383", - "34000_ord": "1029", - "34003_ord": "3709", - "34006_ord": "503", - "3400_index": "30849", - "34013_ord": "1536", - "34015_ord": "3591", - "3401_index": "30162", - "34022_ord": "2414", - "34028_ord": "4183", - "3402_index": "25112", - "3403_index": "35265", - "34044_ord": "2613", - "3404_index": "34905", - "3405_index": "30123", - "34065_ord": "4676", - "34067_ord": "889", - "3406_index": "21634", - "34071_ord": "3891", - "34074_ord": "88", - "3407_index": "29301", - "34081_ord": "1654", - "3408_index": "26720", - "34091_ord": "5702", - "34092_ord": "480", - "3409_index": "27427", - "340_index": "33167", - "34103_ord": "533", - "34106_ord": "5568", - "34108_ord": "1932", - "34109_ord": "4829", - "3410_index": "40836", - "34115_ord": "77", - "3411_index": "24554", - "34121_ord": "3753", - "34122_ord": "3618", - "3412_index": "26027", - "34137_ord": "2627", - "3413_index": "21500", - "34148_ord": "1057", - "3414_index": "21350", - "34152_ord": "5469", - "3415_index": "29177", - "34162_ord": "3163", - "34164_ord": "4625", - "3416_index": "20355", - "34174_ord": "2293", - "3417_index": "21568", - "34180_ord": "3437", - "34183_ord": "2394", - "3418_index": "26297", - "34191_ord": "270", - "3419_index": "32563", - "341_index": "24420", - "34203_ord": "3567", - "34204_ord": "3563", - "3420_index": "34224", - "34212_ord": "572", - "34216_ord": "610", - "34218_ord": "4296", - "3421_index": "39640", - "34222_ord": "4762", - "34223_ord": "1246", - "34224_ord": "3420", - "3422_index": "46", - "3423_index": "33351", - "34241_ord": "392", - "34249_ord": "3626", - "3424_index": "31983", - "34255_ord": "5301", - "34256_ord": "3177", - "34259_ord": "2090", - "3425_index": "27902", - "34261_ord": "1621", - "34268_ord": "5487", - "3426_index": "106", - "34276_ord": "4510", - "3427_index": "20313", - "34281_ord": "3020", - "3428_index": "31687", - "34299_ord": "1172", - "3429_index": "26212", - "342_index": "22977", - "34303_ord": "4229", - "3430_index": "25947", - "3431_index": "35780", - "34321_ord": "3869", - "3432_index": "25159", - "3433_index": "25520", - "3434_index": "21516", - "3435_index": "30860", - "34360_ord": "556", - "3436_index": "23591", - "3437_index": "34180", - "34382_ord": "2332", - "34383_ord": "4299", - "34384_ord": "5646", - "34385_ord": "3580", - "34388_ord": "3137", - "3438_index": "33043", - "34394_ord": "914", - "34398_ord": "2225", - "3439_index": "33756", - "343_index": "29916", - "34402_ord": "4834", - "3440_index": "24080", - "34411_ord": "2762", - "34412_ord": "735", - "34414_ord": "2", - "34417_ord": "2212", - "3441_index": "30746", - "34425_ord": "4713", - "34426_ord": "5295", - "34429_ord": "5001", - "3442_index": "24616", - "34430_ord": "3482", - "34432_ord": "4919", - "34433_ord": "4712", - "34434_ord": "920", - "3443_index": "25182", - "34442_ord": "3464", - "34444_ord": "5044", - "3444_index": "39030", - "34451_ord": "849", - "34453_ord": "609", - "3445_index": "32626", - "34461_ord": "3978", - "34465_ord": "2223", - "34467_ord": "1699", - "34468_ord": "4703", - "3446_index": "28583", - "34473_ord": "182", - "34479_ord": "2062", - "3447_index": "38665", - "34480_ord": "2458", - "3448_index": "26376", - "34496_ord": "4470", - "3449_index": "21053", - "344_index": "28526", - "34502_ord": "537", - "34503_ord": "3906", - "34506_ord": "2957", - "34507_ord": "4086", - "3450_index": "32986", - "34510_ord": "4576", - "34512_ord": "1833", - "34516_ord": "390", - "3451_index": "30239", - "34521_ord": "5391", - "34523_ord": "3210", - "34527_ord": "2689", - "3452_index": "39550", - "34532_ord": "5277", - "34537_ord": "5592", - "3453_index": "20808", - "34541_ord": "3942", - "34542_ord": "5218", - "34544_ord": "4771", - "34546_ord": "3374", - "3454_index": "24594", - "34553_ord": "2631", - "34558_ord": "4382", - "3455_index": "30554", - "34560_ord": "4753", - "34562_ord": "560", - "34563_ord": "3669", - "34567_ord": "471", - "34568_ord": "4717", - "3456_index": "44", - "34573_ord": "2898", - "34578_ord": "2874", - "34579_ord": "2518", - "3457_index": "36173", - "34581_ord": "664", - "34583_ord": "777", - "34584_ord": "12", - "34586_ord": "426", - "34588_ord": "4260", - "3458_index": "29004", - "34593_ord": "4804", - "34597_ord": "1629", - "3459_index": "21806", - "345_index": "33335", - "3460_index": "39759", - "34612_ord": "3054", - "34615_ord": "867", - "34619_ord": "1130", - "3461_index": "24186", - "34623_ord": "1955", - "3462_index": "28905", - "34631_ord": "4907", - "34633_ord": "2436", - "34638_ord": "492", - "3463_index": "21721", - "34647_ord": "3771", - "34649_ord": "671", - "3464_index": "34442", - "34656_ord": "5045", - "3465_index": "20239", - "3466_index": "32442", - "34670_ord": "4294", - "34676_ord": "289", - "34678_ord": "2198", - "3467_index": "25472", - "34684_ord": "2945", - "3468_index": "29322", - "34690_ord": "5663", - "34691_ord": "3817", - "3469_index": "37259", - "346_index": "26665", - "34701_ord": "3061", - "3470_index": "34989", - "3471_index": "25945", - "34728_ord": "1606", - "3472_index": "26224", - "34731_ord": "1312", - "34733_ord": "164", - "34739_ord": "4715", - "3473_index": "33588", - "34746_ord": "235", - "3474_index": "32512", - "34758_ord": "1793", - "3475_index": "24224", - "34763_ord": "5398", - "3476_index": "21475", - "34770_ord": "3354", - "3477_index": "24110", - "34784_ord": "2992", - "3478_index": "39529", - "34797_ord": "5444", - "3479_index": "33286", - "347_index": "27735", - "34809_ord": "1006", - "3480_index": "12289", - "34814_ord": "4085", - "3481_index": "26495", - "3482_index": "34430", - "34837_ord": "4238", - "3483_index": "27809", - "34849_ord": "4768", - "3484_index": "26840", - "34850_ord": "940", - "3485_index": "38395", - "3486_index": "38451", - "34873_ord": "3683", - "3487_index": "21533", - "34880_ord": "4306", - "34885_ord": "359", - "3488_index": "32945", - "34892_ord": "641", - "34893_ord": "5603", - "3489_index": "38596", - "348_index": "25042", - "34900_ord": "4326", - "34903_ord": "1682", - "34905_ord": "3404", - "3490_index": "22994", - "34913_ord": "4034", - "34914_ord": "3581", - "34915_ord": "4903", - "34917_ord": "440", - "3491_index": "23613", - "34920_ord": "4662", - "34921_ord": "4527", - "34923_ord": "2189", - "34924_ord": "5774", - "34926_ord": "1844", - "34928_ord": "317", - "3492_index": "31096", - "34930_ord": "5748", - "34935_ord": "4131", - "3493_index": "31893", - "34941_ord": "438", - "34942_ord": "3527", - "34943_ord": "4241", - "34945_ord": "1279", - "34946_ord": "4288", - "34948_ord": "588", - "34949_ord": "1875", - "3494_index": "22030", - "34952_ord": "2800", - "34955_ord": "1523", - "34957_ord": "2583", - "3495_index": "26517", - "34962_ord": "3118", - "34966_ord": "2466", - "3496_index": "20420", - "34972_ord": "442", - "3497_index": "36866", - "34980_ord": "275", - "34987_ord": "1779", - "34989_ord": "3470", - "3498_index": "39281", - "34993_ord": "4892", - "34996_ord": "4340", - "3499_index": "27553", - "349_index": "21756", - "34_index": "27522", - "34_ord": "5408", - "35008_ord": "4756", - "35009_ord": "875", - "3500_index": "27753", - "35010_ord": "5684", - "35013_ord": "1879", - "35014_ord": "296", - "3501_index": "8240", - "35028_ord": "4948", - "35029_ord": "1434", - "3502_index": "25327", - "35032_ord": "1190", - "35033_ord": "4890", - "35039_ord": "1786", - "3503_index": "27713", - "35044_ord": "5516", - "35048_ord": "4193", - "3504_index": "20855", - "35056_ord": "292", - "35057_ord": "433", - "35059_ord": "2352", - "3505_index": "38063", - "35060_ord": "1413", - "35064_ord": "779", - "35065_ord": "2843", - "3506_index": "22830", - "35070_ord": "4077", - "35074_ord": "3913", - "3507_index": "8805", - "35082_ord": "522", - "35088_ord": "5660", - "3508_index": "38476", - "35090_ord": "814", - "35091_ord": "3562", - "35098_ord": "3900", - "35099_ord": "5190", - "3509_index": "21903", - "350_index": "26133", - "35109_ord": "4005", - "3510_index": "32819", - "35114_ord": "5186", - "35115_ord": "1101", - "3511_index": "24895", - "35124_ord": "1317", - "35126_ord": "5558", - "3512_index": "87", - "35137_ord": "1019", - "3513_index": "35815", - "35140_ord": "3840", - "35142_ord": "4971", - "3514_index": "26107", - "3515_index": "25296", - "35167_ord": "3758", - "3516_index": "26446", - "35174_ord": "2037", - "3517_index": "24609", - "3518_index": "29474", - "35199_ord": "3011", - "3519_index": "26165", - "351_index": "32544", - "35201_ord": "4388", - "35203_ord": "1943", - "35206_ord": "4663", - "3520_index": "24184", - "3521_index": "23633", - "3522_index": "38054", - "3523_index": "26790", - "3524_index": "23047", - "3525_index": "38367", - "35265_ord": "3403", - "35266_ord": "2145", - "35268_ord": "1031", - "35269_ord": "434", - "3526_index": "30031", - "35270_ord": "1815", - "35271_ord": "1358", - "35272_ord": "3245", - "35273_ord": "3207", - "35274_ord": "2215", - "35276_ord": "4612", - "35278_ord": "1158", - "3527_index": "34942", - "35280_ord": "3257", - "35281_ord": "587", - "35282_ord": "1127", - "35286_ord": "2571", - "3528_index": "23546", - "35290_ord": "1673", - "35292_ord": "2877", - "35294_ord": "4808", - "35299_ord": "4017", - "3529_index": "21857", - "352_index": "21970", - "35301_ord": "4660", - "35302_ord": "5274", - "3530_index": "25958", - "35315_ord": "5265", - "3531_index": "21513", - "35328_ord": "3824", - "3532_index": "39659", - "35335_ord": "1313", - "3533_index": "21830", - "3534_index": "33034", - "3535_index": "36886", - "3536_index": "32431", - "3537_index": "31067", - "3538_index": "27426", - "35390_ord": "4003", - "3539_index": "38816", - "353_index": "25130", - "35400_ord": "5541", - "3540_index": "22265", - "3541_index": "27781", - "3542_index": "20898", - "3543_index": "23853", - "35449_ord": "5392", - "3544_index": "31639", - "3545_index": "28251", - "35465_ord": "1655", - "3546_index": "25256", - "35475_ord": "5066", - "3547_index": "31063", - "3548_index": "31572", - "3549_index": "37255", - "354_index": "23396", - "3550_index": "20649", - "3551_index": "21814", - "3552_index": "26588", - "3553_index": "22349", - "3554_index": "21733", - "3555_index": "21822", - "3556_index": "22995", - "3557_index": "22271", - "3558_index": "26851", - "3559_index": "12296", - "355_index": "39037", - "3560_index": "26223", - "3561_index": "37011", - "3562_index": "35091", - "3563_index": "34204", - "3564_index": "37257", - "3565_index": "26729", - "3566_index": "40550", - "3567_index": "34203", - "35686_ord": "4318", - "3568_index": "26257", - "35692_ord": "129", - "3569_index": "24615", - "356_index": "20461", - "3570_index": "27546", - "3571_index": "36973", - "3572_index": "36457", - "35737_ord": "3072", - "3573_index": "22659", - "35745_ord": "5145", - "35746_ord": "3180", - "35747_ord": "5363", - "35748_ord": "2597", - "35749_ord": "1424", - "3574_index": "37073", - "35750_ord": "559", - "35751_ord": "1041", - "35752_ord": "324", - "35753_ord": "4284", - "35754_ord": "4438", - "35755_ord": "822", - "35757_ord": "2770", - "35758_ord": "5587", - "35759_ord": "2988", - "3575_index": "28359", - "35760_ord": "5788", - "35762_ord": "695", - "35763_ord": "3882", - "35764_ord": "1759", - "35765_ord": "1959", - "35766_ord": "3389", - "35767_ord": "991", - "35768_ord": "624", - "35769_ord": "4177", - "3576_index": "39274", - "35770_ord": "1589", - "35772_ord": "3357", - "35773_ord": "4909", - "35774_ord": "3823", - "35775_ord": "2292", - "35776_ord": "18", - "35777_ord": "5067", - "35778_ord": "2828", - "35779_ord": "2844", - "3577_index": "24283", - "35780_ord": "3431", - "35781_ord": "2068", - "35782_ord": "2258", - "35784_ord": "1356", - "35785_ord": "5589", - "35786_ord": "3038", - "35787_ord": "3355", - "35789_ord": "4938", - "3578_index": "31389", - "35790_ord": "2269", - "35791_ord": "1527", - "35793_ord": "4486", - "35794_ord": "1711", - "35797_ord": "1064", - "35799_ord": "994", - "3579_index": "22075", - "357_index": "30095", - "35800_ord": "4386", - "35801_ord": "887", - "35802_ord": "3943", - "35803_ord": "3053", - "35805_ord": "2715", - "35806_ord": "3111", - "35807_ord": "1639", - "35808_ord": "1471", - "35809_ord": "422", - "3580_index": "34385", - "35810_ord": "3755", - "35811_ord": "911", - "35812_ord": "1431", - "35813_ord": "3890", - "35814_ord": "2986", - "35815_ord": "3513", - "35816_ord": "4312", - "35817_ord": "2820", - "35819_ord": "3185", - "3581_index": "34914", - "35820_ord": "5293", - "35821_ord": "1395", - "35822_ord": "367", - "35823_ord": "1119", - "35824_ord": "3121", - "35825_ord": "5148", - "35826_ord": "1544", - "35827_ord": "1426", - "35828_ord": "1478", - "35829_ord": "4865", - "3582_index": "176", - "35831_ord": "2261", - "35832_ord": "4499", - "35834_ord": "4230", - "35835_ord": "2243", - "35837_ord": "394", - "35838_ord": "2699", - "35839_ord": "3334", - "3583_index": "28340", - "35840_ord": "5473", - "35841_ord": "4602", - "35843_ord": "2429", - "35844_ord": "4561", - "35845_ord": "3392", - "35846_ord": "200", - "35847_ord": "3921", - "35848_ord": "149", - "3584_index": "36441", - "35850_ord": "2334", - "35851_ord": "2670", - "35853_ord": "2979", - "35854_ord": "3903", - "35855_ord": "2459", - "35856_ord": "1298", - "35857_ord": "1554", - "35858_ord": "4418", - "35859_ord": "4653", - "3585_index": "36125", - "35861_ord": "261", - "35863_ord": "4375", - "35865_ord": "2059", - "35866_ord": "2750", - "35867_ord": "4877", - "35868_ord": "424", - "3586_index": "31895", - "35871_ord": "4706", - "35874_ord": "4624", - "35875_ord": "4532", - "35876_ord": "4691", - "35877_ord": "3843", - "35878_ord": "490", - "35879_ord": "150", - "3587_index": "38076", - "35880_ord": "4428", - "35881_ord": "273", - "35882_ord": "3187", - "35884_ord": "4679", - "35885_ord": "5817", - "35886_ord": "1110", - "35887_ord": "3086", - "35889_ord": "5286", - "3588_index": "21889", - "35890_ord": "2379", - "35891_ord": "1040", - "35892_ord": "5244", - "35894_ord": "1008", - "35895_ord": "4707", - "3589_index": "38742", - "358_index": "32439", - "35905_ord": "3784", - "3590_index": "38215", - "35910_ord": "1672", - "35913_ord": "5161", - "35916_ord": "5525", - "3591_index": "34015", - "35925_ord": "3645", - "3592_index": "24490", - "35930_ord": "1233", - "35937_ord": "1281", - "35938_ord": "5699", - "3593_index": "33007", - "35944_ord": "383", - "35946_ord": "862", - "35947_ord": "5540", - "35949_ord": "3806", - "3594_index": "70", - "35955_ord": "2496", - "3595_index": "72", - "35960_ord": "206", - "35961_ord": "5465", - "35962_ord": "509", - "3596_index": "20041", - "35970_ord": "2427", - "35977_ord": "4764", - "3597_index": "33505", - "35980_ord": "3607", - "35988_ord": "4331", - "3598_index": "27450", - "3599_index": "24636", - "359_index": "34885", - "35_index": "39683", - "35_ord": "4013", - "3600_index": "12299", - "3601_index": "38053", - "3602_index": "24179", - "3603_index": "24591", - "3604_index": "19977", - "3605_index": "21151", - "3606_index": "36741", - "3607_index": "35980", - "3608_index": "28335", - "3609_index": "25096", - "360_index": "31499", - "36103_ord": "223", - "3610_index": "22108", - "3611_index": "25299", - "36125_ord": "3585", - "36126_ord": "2063", - "36127_ord": "4976", - "36129_ord": "3621", - "3612_index": "21796", - "36130_ord": "5546", - "36131_ord": "3006", - "36132_ord": "3923", - "36133_ord": "5755", - "36134_ord": "4549", - "36135_ord": "63", - "36136_ord": "3376", - "36137_ord": "1566", - "36138_ord": "4364", - "36139_ord": "4109", - "3613_index": "25248", - "36140_ord": "1588", - "36141_ord": "3802", - "36142_ord": "5508", - "36143_ord": "1500", - "36144_ord": "2756", - "36145_ord": "174", - "36146_ord": "4774", - "36147_ord": "3697", - "36148_ord": "110", - "36149_ord": "3642", - "3614_index": "25597", - "36151_ord": "1593", - "36152_ord": "1992", - "36153_ord": "3674", - "36154_ord": "2390", - "36155_ord": "5489", - "36156_ord": "1585", - "36157_ord": "5594", - "36158_ord": "2137", - "36159_ord": "4809", - "3615_index": "33883", - "36160_ord": "3256", - "36161_ord": "4187", - "36162_ord": "1490", - "36163_ord": "703", - "36164_ord": "3931", - "36165_ord": "3681", - "36167_ord": "3723", - "36168_ord": "2516", - "36169_ord": "2550", - "3616_index": "26827", - "36170_ord": "4422", - "36171_ord": "2048", - "36172_ord": "5543", - "36173_ord": "3457", - "36174_ord": "4368", - "36175_ord": "333", - "36176_ord": "5252", - "3617_index": "32932", - "36180_ord": "2471", - "36182_ord": "2931", - "36184_ord": "4390", - "36186_ord": "4615", - "36187_ord": "3786", - "36188_ord": "1513", - "36189_ord": "1771", - "3618_index": "34122", - "36190_ord": "4942", - "36191_ord": "3852", - "36192_ord": "2895", - "36193_ord": "5678", - "36194_ord": "3752", - "36195_ord": "2806", - "36196_ord": "2485", - "36198_ord": "3321", - "36199_ord": "3798", - "3619_index": "23387", - "361_index": "32496", - "36202_ord": "3898", - "36203_ord": "2928", - "36205_ord": "4531", - "36208_ord": "3892", - "3620_index": "38422", - "36211_ord": "3830", - "36212_ord": "4522", - "36213_ord": "3671", - "36214_ord": "4432", - "36215_ord": "2341", - "3621_index": "36129", - "36225_ord": "4164", - "36228_ord": "4088", - "36229_ord": "2012", - "3622_index": "32963", - "36234_ord": "5575", - "36235_ord": "4328", - "3623_index": "25429", - "3624_index": "38116", - "36255_ord": "5180", - "36259_ord": "1787", - "3625_index": "22105", - "3626_index": "34249", - "36273_ord": "4012", - "36275_ord": "1520", - "36276_ord": "4106", - "36277_ord": "800", - "3627_index": "31388", - "36280_ord": "2250", - "36281_ord": "530", - "36282_ord": "3289", - "36286_ord": "845", - "3628_index": "24254", - "36290_ord": "2129", - "36291_ord": "2696", - "36292_ord": "2935", - "36294_ord": "2092", - "36299_ord": "1634", - "3629_index": "9352", - "362_index": "26691", - "36300_ord": "466", - "36305_ord": "128", - "3630_index": "23692", - "36310_ord": "1882", - "36314_ord": "2517", - "36315_ord": "83", - "36317_ord": "283", - "36319_ord": "1217", - "3631_index": "32593", - "36323_ord": "1561", - "36324_ord": "5375", - "36328_ord": "4075", - "3632_index": "25794", - "36330_ord": "897", - "36332_ord": "5647", - "36335_ord": "3115", - "36339_ord": "4266", - "3633_index": "31344", - "36341_ord": "1118", - "36343_ord": "173", - "36344_ord": "2240", - "36345_ord": "5216", - "36346_ord": "1540", - "36347_ord": "4895", - "36349_ord": "2351", - "3634_index": "40784", - "3635_index": "37036", - "36361_ord": "5685", - "36362_ord": "4068", - "36364_ord": "2660", - "36367_ord": "1907", - "3636_index": "30456", - "36372_ord": "5613", - "3637_index": "27530", - "36381_ord": "1575", - "36382_ord": "5706", - "36383_ord": "3", - "36386_ord": "5773", - "36387_ord": "4394", - "3638_index": "32982", - "36391_ord": "5340", - "36393_ord": "650", - "36394_ord": "2481", - "36399_ord": "1748", - "3639_index": "22823", - "363_index": "29421", - "36400_ord": "5604", - "36401_ord": "2010", - "36405_ord": "1304", - "36409_ord": "1853", - "3640_index": "38131", - "36413_ord": "3159", - "36416_ord": "2095", - "36418_ord": "678", - "3641_index": "946", - "36420_ord": "3695", - "36423_ord": "4704", - "36424_ord": "5016", - "36425_ord": "1495", - "36426_ord": "1045", - "36427_ord": "4960", - "3642_index": "36149", - "36433_ord": "3815", - "36434_ord": "2452", - "3643_index": "31961", - "36441_ord": "3584", - "3644_index": "29647", - "36454_ord": "4700", - "36457_ord": "3572", - "3645_index": "35925", - "36460_ord": "3203", - "36461_ord": "3384", - "36464_ord": "266", - "36466_ord": "708", - "36468_ord": "1494", - "3646_index": "27681", - "36470_ord": "1164", - "36475_ord": "419", - "36479_ord": "5204", - "3647_index": "20538", - "36481_ord": "2026", - "36485_ord": "4399", - "36487_ord": "1129", - "3648_index": "22969", - "36495_ord": "5299", - "3649_index": "40081", - "364_index": "39053", - "3650_index": "23016", - "36510_ord": "4293", - "3651_index": "27859", - "36523_ord": "2523", - "36524_ord": "2160", - "36527_ord": "3259", - "3652_index": "24809", - "36530_ord": "3719", - "36538_ord": "3667", - "3653_index": "24187", - "3654_index": "8212", - "3655_index": "24037", - "3656_index": "29081", - "3657_index": "27688", - "3658_index": "33660", - "3659_index": "20698", - "365_index": "28304", - "3660_index": "32416", - "3661_index": "39699", - "3662_index": "24038", - "3663_index": "27837", - "3664_index": "38464", - "3665_index": "26533", - "3666_index": "29673", - "3667_index": "36538", - "3668_index": "22696", - "3669_index": "34563", - "366_index": "24730", - "3670_index": "84", - "36710_ord": "2009", - "36711_ord": "4701", - "36712_ord": "1521", - "36713_ord": "5443", - "36715_ord": "768", - "36716_ord": "483", - "36718_ord": "1745", - "36719_ord": "1886", - "3671_index": "36213", - "36720_ord": "5777", - "36722_ord": "3747", - "36724_ord": "4581", - "36725_ord": "240", - "36726_ord": "4655", - "36728_ord": "2128", - "3672_index": "27667", - "36730_ord": "1051", - "36731_ord": "5215", - "36732_ord": "2869", - "36733_ord": "4906", - "36735_ord": "521", - "36739_ord": "4787", - "3673_index": "28463", - "36740_ord": "2340", - "36741_ord": "3606", - "36742_ord": "2654", - "36743_ord": "1340", - "36744_ord": "1753", - "36745_ord": "802", - "36749_ord": "3969", - "3674_index": "36153", - "36750_ord": "4905", - "36752_ord": "1856", - "36753_ord": "107", - "36755_ord": "3071", - "36756_ord": "1909", - "36757_ord": "2666", - "36758_ord": "45", - "36759_ord": "89", - "3675_index": "23241", - "36760_ord": "5032", - "36761_ord": "5247", - "36763_ord": "5075", - "36764_ord": "3249", - "36766_ord": "2017", - "36767_ord": "646", - "3676_index": "32725", - "36771_ord": "2194", - "36776_ord": "5367", - "36777_ord": "786", - "36779_ord": "1664", - "3677_index": "39270", - "36784_ord": "2872", - "36785_ord": "5220", - "3678_index": "28103", - "36793_ord": "1972", - "36797_ord": "2444", - "36798_ord": "1125", - "3679_index": "25169", - "367_index": "35822", - "36801_ord": "5394", - "36802_ord": "327", - "36804_ord": "2172", - "36805_ord": "4316", - "36807_ord": "2791", - "36808_ord": "810", - "3680_index": "23490", - "36814_ord": "4594", - "36816_ord": "4496", - "36817_ord": "1519", - "36819_ord": "1392", - "3681_index": "36165", - "36820_ord": "5377", - "36821_ord": "5241", - "36824_ord": "3912", - "36825_ord": "943", - "36827_ord": "4838", - "36828_ord": "1053", - "36829_ord": "5765", - "3682_index": "40664", - "36830_ord": "1702", - "36831_ord": "1806", - "36834_ord": "2066", - "36836_ord": "2148", - "36837_ord": "2953", - "36838_ord": "1941", - "3683_index": "34873", - "36840_ord": "2672", - "36841_ord": "1472", - "36842_ord": "2509", - "36843_ord": "3746", - "36845_ord": "251", - "36848_ord": "832", - "3684_index": "38901", - "36855_ord": "1131", - "36856_ord": "565", - "36857_ord": "2759", - "3685_index": "20498", - "36861_ord": "4526", - "36864_ord": "4640", - "36865_ord": "3234", - "36866_ord": "3497", - "36867_ord": "3730", - "36869_ord": "3780", - "3686_index": "21050", - "36870_ord": "685", - "36873_ord": "2602", - "36874_ord": "1257", - "36875_ord": "4365", - "36877_ord": "4972", - "36879_ord": "1732", - "3687_index": "30555", - "36880_ord": "3961", - "36881_ord": "2956", - "36882_ord": "4019", - "36884_ord": "1236", - "36886_ord": "3535", - "36887_ord": "3986", - "3688_index": "27603", - "36890_ord": "5017", - "36891_ord": "1244", - "36893_ord": "4023", - "36894_ord": "1226", - "36895_ord": "5744", - "36896_ord": "2919", - "36897_ord": "2682", - "36898_ord": "4800", - "3689_index": "23376", - "368_index": "25816", - "36902_ord": "4344", - "3690_index": "23617", - "36910_ord": "725", - "36917_ord": "5694", - "36918_ord": "1762", - "3691_index": "27597", - "36920_ord": "1755", - "36923_ord": "5425", - "36924_ord": "3715", - "36926_ord": "384", - "36929_ord": "1014", - "3692_index": "30021", - "36930_ord": "4393", - "36935_ord": "2205", - "3693_index": "29705", - "36941_ord": "4950", - "36943_ord": "3108", - "36944_ord": "2580", - "36945_ord": "2154", - "36946_ord": "5757", - "36947_ord": "1555", - "3694_index": "28844", - "36951_ord": "4071", - "36952_ord": "4102", - "36955_ord": "19", - "3695_index": "36420", - "36962_ord": "238", - "36963_ord": "4816", - "36965_ord": "3147", - "36968_ord": "2545", - "3696_index": "21202", - "36971_ord": "5468", - "36973_ord": "3571", - "36974_ord": "3936", - "3697_index": "36147", - "36980_ord": "5794", - "36981_ord": "4297", - "36982_ord": "4585", - "36985_ord": "3141", - "36989_ord": "1191", - "3698_index": "25682", - "36991_ord": "5759", - "36992_ord": "2479", - "36994_ord": "4599", - "36995_ord": "4172", - "3699_index": "33993", - "369_index": "22899", - "36_index": "24088", - "36_ord": "2052", - "37000_ord": "607", - "37003_ord": "2275", - "37009_ord": "1505", - "3700_index": "26505", - "37011_ord": "3561", - "37013_ord": "297", - "37019_ord": "3914", - "3701_index": "28212", - "37024_ord": "2608", - "37026_ord": "3925", - "37027_ord": "1194", - "3702_index": "25776", - "37030_ord": "3919", - "37034_ord": "5572", - "37036_ord": "3635", - "37038_ord": "2239", - "37039_ord": "958", - "3703_index": "27268", - "37040_ord": "5651", - "37041_ord": "1264", - "37043_ord": "2891", - "37044_ord": "3924", - "37045_ord": "1333", - "37048_ord": "2468", - "37049_ord": "5167", - "3704_index": "29808", - "37050_ord": "3192", - "37051_ord": "2325", - "37057_ord": "3127", - "3705_index": "32829", - "37060_ord": "4628", - "37061_ord": "1541", - "37066_ord": "5514", - "3706_index": "28846", - "37070_ord": "4946", - "37073_ord": "3574", - "37075_ord": "2668", - "3707_index": "38049", - "37084_ord": "2536", - "37085_ord": "5034", - "37089_ord": "4673", - "3708_index": "24039", - "37090_ord": "1558", - "37094_ord": "797", - "37095_ord": "3016", - "37096_ord": "803", - "37098_ord": "2203", - "37099_ord": "549", - "3709_index": "34003", - "370_index": "25972", - "37101_ord": "3809", - "37103_ord": "747", - "37108_ord": "846", - "3710_index": "21505", - "37112_ord": "416", - "37117_ord": "2424", - "37118_ord": "3850", - "37119_ord": "2324", - "3711_index": "19989", - "37122_ord": "500", - "37124_ord": "3267", - "3712_index": "29750", - "3713_index": "22904", - "37145_ord": "5357", - "37148_ord": "3068", - "3714_index": "24535", - "37152_ord": "3269", - "37154_ord": "724", - "37155_ord": "4966", - "3715_index": "36924", - "37169_ord": "925", - "3716_index": "33521", - "3717_index": "27764", - "3718_index": "33333", - "37190_ord": "2827", - "37193_ord": "5690", - "37194_ord": "1005", - "37195_ord": "4142", - "37196_ord": "3194", - "37197_ord": "4322", - "37198_ord": "4127", - "3719_index": "36530", - "371_index": "19984", - "37202_ord": "113", - "37207_ord": "2875", - "3720_index": "25423", - "37210_ord": "4508", - "37213_ord": "2124", - "37214_ord": "2894", - "37217_ord": "942", - "37218_ord": "1455", - "37219_ord": "3770", - "3721_index": "31258", - "37220_ord": "418", - "37221_ord": "4408", - "37225_ord": "2761", - "37226_ord": "4465", - "37228_ord": "2999", - "3722_index": "21777", - "37230_ord": "1004", - "37231_ord": "4459", - "37232_ord": "1837", - "37233_ord": "2175", - "37237_ord": "9", - "37238_ord": "5283", - "37239_ord": "5637", - "3723_index": "36167", - "37240_ord": "5673", - "37241_ord": "1219", - "37247_ord": "629", - "3724_index": "28779", - "37255_ord": "3549", - "37257_ord": "3564", - "37259_ord": "3469", - "3725_index": "92", - "37261_ord": "1599", - "37266_ord": "1018", - "3726_index": "33789", - "37274_ord": "5119", - "37275_ord": "1823", - "3727_index": "38218", - "3728_index": "38753", - "37290_ord": "1784", - "37294_ord": "2785", - "3729_index": "26482", - "372_index": "38125", - "37300_ord": "930", - "37301_ord": "2020", - "37306_ord": "2677", - "3730_index": "36867", - "37314_ord": "4401", - "37319_ord": "2588", - "3731_index": "26352", - "37321_ord": "2811", - "37322_ord": "5126", - "37324_ord": "4320", - "37325_ord": "4742", - "37326_ord": "1918", - "37327_ord": "4965", - "37328_ord": "5324", - "37329_ord": "2556", - "3732_index": "28748", - "3733_index": "39", - "37340_ord": "3832", - "3734_index": "38378", - "3735_index": "38747", - "3736_index": "23548", - "3737_index": "21545", - "37383_ord": "4870", - "3738_index": "33899", - "3739_index": "38148", - "373_index": "22996", - "3740_index": "21495", - "3741_index": "27029", - "3742_index": "29378", - "3743_index": "38468", - "3744_index": "28900", - "3745_index": "33258", - "3746_index": "36843", - "3747_index": "36722", - "3748_index": "30922", - "37492_ord": "3996", - "3749_index": "21956", - "374_index": "24800", - "3750_index": "30284", - "3751_index": "38096", - "3752_index": "36194", - "3753_index": "34121", - "3754_index": "65104", - "37550_ord": "1319", - "3755_index": "35810", - "3756_index": "25941", - "3757_index": "30011", - "3758_index": "35167", - "3759_index": "25371", - "375_index": "29920", - "3760_index": "29942", - "3761_index": "27822", - "3762_index": "28510", - "3763_index": "29384", - "3764_index": "32613", - "3765_index": "27796", - "3766_index": "33151", - "3767_index": "38120", - "3768_index": "29477", - "3769_index": "39560", - "376_index": "21943", - "3770_index": "37219", - "3771_index": "34647", - "3772_index": "22530", - "3773_index": "32902", - "3774_index": "37912", - "3775_index": "38899", - "3776_index": "20180", - "3777_index": "20982", - "3778_index": "20266", - "3779_index": "26818", - "377_index": "21387", - "3780_index": "36869", - "3781_index": "39143", - "3782_index": "27572", - "3783_index": "33673", - "37846_ord": "1716", - "3784_index": "35905", - "3785_index": "28287", - "3786_index": "36187", - "3787_index": "30913", - "3788_index": "22958", - "3789_index": "28153", - "378_index": "22687", - "3790_index": "28953", - "37912_ord": "3774", - "3791_index": "31995", - "3792_index": "26053", - "3793_index": "25786", - "3794_index": "26063", - "3795_index": "9342", - "3796_index": "25735", - "37977_ord": "5139", - "3797_index": "25325", - "3798_index": "36199", - "37995_ord": "5248", - "3799_index": "28548", - "379_index": "21467", - "37_index": "31215", - "37_ord": "3231", - "3800_index": "25199", - "3801_index": "24913", - "38024_ord": "5725", - "38025_ord": "1609", - "38026_ord": "1729", - "3802_index": "36141", - "38030_ord": "1272", - "38031_ord": "4918", - "38034_ord": "4248", - "38035_ord": "1456", - "38039_ord": "2735", - "3803_index": "40132", - "38041_ord": "5664", - "38042_ord": "1731", - "38043_ord": "4040", - "38044_ord": "1241", - "38045_ord": "3825", - "38046_ord": "3333", - "38047_ord": "2272", - "38048_ord": "489", - "38049_ord": "3707", - "3804_index": "25630", - "38050_ord": "5132", - "38052_ord": "2127", - "38053_ord": "3601", - "38054_ord": "3522", - "38055_ord": "5164", - "38056_ord": "1735", - "38057_ord": "1671", - "3805_index": "24870", - "38062_ord": "3826", - "38063_ord": "3505", - "38064_ord": "1595", - "38065_ord": "1601", - "38066_ord": "4565", - "38067_ord": "2179", - "38068_ord": "3216", - "38069_ord": "1327", - "3806_index": "35949", - "38073_ord": "5475", - "38074_ord": "5289", - "38075_ord": "3939", - "38076_ord": "3587", - "38078_ord": "5536", - "38079_ord": "2983", - "3807_index": "20440", - "38080_ord": "5569", - "38081_ord": "2661", - "38082_ord": "1301", - "38083_ord": "5125", - "38084_ord": "5791", - "38085_ord": "4876", - "38086_ord": "3954", - "38089_ord": "482", - "3808_index": "9734", - "38094_ord": "2832", - "38096_ord": "3751", - "3809_index": "37101", - "380_index": "24090", - "38105_ord": "5474", - "38107_ord": "1299", - "38108_ord": "2538", - "38109_ord": "2766", - "3810_index": "30887", - "38112_ord": "617", - "38114_ord": "4014", - "38115_ord": "2601", - "38116_ord": "3624", - "3811_index": "38829", - "38120_ord": "3767", - "38121_ord": "5168", - "38124_ord": "4037", - "38125_ord": "372", - "38126_ord": "1780", - "3812_index": "30529", - "38130_ord": "5751", - "38131_ord": "3640", - "38133_ord": "886", - "38134_ord": "5185", - "38136_ord": "578", - "38138_ord": "5117", - "3813_index": "24951", - "38142_ord": "309", - "38143_ord": "5510", - "38144_ord": "3318", - "38145_ord": "2586", - "38146_ord": "5386", - "38148_ord": "3739", - "38149_ord": "5077", - "3814_index": "24589", - "38152_ord": "248", - "38153_ord": "4029", - "38155_ord": "2690", - "38156_ord": "1578", - "38159_ord": "5448", - "3815_index": "36433", - "38160_ord": "3927", - "38161_ord": "68", - "38167_ord": "2318", - "38169_ord": "3055", - "3816_index": "25226", - "38170_ord": "2229", - "38177_ord": "4908", - "38178_ord": "4821", - "38179_ord": "3905", - "3817_index": "34691", - "38180_ord": "1618", - "38181_ord": "3346", - "38182_ord": "4690", - "38189_ord": "4461", - "3818_index": "30129", - "38190_ord": "5458", - "38191_ord": "5179", - "38192_ord": "5154", - "38193_ord": "730", - "38194_ord": "387", - "38197_ord": "302", - "38199_ord": "231", - "3819_index": "24642", - "381_index": "26805", - "38201_ord": "4956", - "38202_ord": "2364", - "38203_ord": "4520", - "38205_ord": "5074", - "38206_ord": "3975", - "38208_ord": "1289", - "38209_ord": "1225", - "3820_index": "23397", - "38210_ord": "1952", - "38215_ord": "3590", - "38217_ord": "618", - "38218_ord": "3727", - "3821_index": "20094", - "38220_ord": "1855", - "38221_ord": "3378", - "38224_ord": "1454", - "38225_ord": "936", - "38226_ord": "5091", - "38229_ord": "1730", - "3822_index": "20859", - "38230_ord": "5778", - "38235_ord": "2760", - "38236_ord": "1187", - "38237_ord": "2270", - "38238_ord": "1156", - "3823_index": "35774", - "38243_ord": "3017", - "3824_index": "35328", - "38250_ord": "2304", - "38252_ord": "1339", - "38253_ord": "895", - "38255_ord": "2374", - "38256_ord": "3266", - "38259_ord": "1773", - "3825_index": "38045", - "38261_ord": "544", - "38262_ord": "518", - "3826_index": "38062", - "38271_ord": "4054", - "3827_index": "24266", - "38283_ord": "5184", - "3828_index": "20687", - "38291_ord": "2565", - "3829_index": "31709", - "382_index": "23458", - "3830_index": "36211", - "3831_index": "31525", - "3832_index": "37340", - "3833_index": "38670", - "38343_ord": "399", - "3834_index": "26103", - "3835_index": "39575", - "38367_ord": "3525", - "3836_index": "28342", - "38376_ord": "4786", - "38378_ord": "3734", - "38379_ord": "5821", - "3837_index": "32942", - "38381_ord": "904", - "38382_ord": "5704", - "38383_ord": "56", - "38384_ord": "100", - "38385_ord": "1727", - "38386_ord": "2606", - "38387_ord": "4869", - "38388_ord": "2104", - "38389_ord": "2207", - "3838_index": "33105", - "38391_ord": "908", - "38392_ord": "4621", - "38393_ord": "854", - "38394_ord": "5052", - "38395_ord": "3485", - "38396_ord": "935", - "38397_ord": "5504", - "38398_ord": "3238", - "3839_index": "33531", - "383_index": "35944", - "38400_ord": "4305", - "38401_ord": "1508", - "38402_ord": "462", - "38403_ord": "1143", - "38405_ord": "38", - "38406_ord": "5496", - "38408_ord": "2888", - "38409_ord": "5260", - "3840_index": "35140", - "38410_ord": "2113", - "38413_ord": "4251", - "38414_ord": "3120", - "38415_ord": "5134", - "38416_ord": "4214", - "38417_ord": "5614", - "3841_index": "39321", - "38420_ord": "5671", - "38421_ord": "5182", - "38422_ord": "3620", - "38423_ord": "1335", - "38425_ord": "5010", - "38426_ord": "5310", - "38428_ord": "4784", - "3842_index": "29159", - "38431_ord": "4263", - "38433_ord": "5449", - "3843_index": "35877", - "38442_ord": "3887", - "38446_ord": "4358", - "38449_ord": "5421", - "3844_index": "29399", - "38450_ord": "4385", - "38451_ord": "3486", - "38452_ord": "2896", - "38453_ord": "4391", - "38454_ord": "4236", - "38459_ord": "4911", - "3845_index": "32657", - "38463_ord": "3855", - "38464_ord": "3664", - "38466_ord": "5103", - "38468_ord": "3743", - "38469_ord": "67", - "3846_index": "20010", - "38470_ord": "5101", - "38471_ord": "865", - "38472_ord": "131", - "38475_ord": "4790", - "38476_ord": "3508", - "38477_ord": "1212", - "3847_index": "39740", - "38480_ord": "5442", - "38485_ord": "4799", - "3848_index": "19978", - "38491_ord": "1991", - "38495_ord": "4406", - "38497_ord": "1681", - "38498_ord": "3045", - "3849_index": "38663", - "384_index": "36926", - "38500_ord": "1725", - "38504_ord": "1034", - "38505_ord": "4357", - "38506_ord": "1697", - "38508_ord": "2000", - "3850_index": "37118", - "38514_ord": "1043", - "38517_ord": "2535", - "38518_ord": "336", - "38519_ord": "4265", - "3851_index": "22855", - "3852_index": "36191", - "38533_ord": "4166", - "38534_ord": "4197", - "38539_ord": "5050", - "3853_index": "27733", - "38541_ord": "993", - "38543_ord": "3104", - "38544_ord": "3022", - "38548_ord": "4220", - "3854_index": "20694", - "38551_ord": "2506", - "38552_ord": "4759", - "38553_ord": "2904", - "38556_ord": "2546", - "3855_index": "38463", - "38567_ord": "5111", - "3856_index": "24773", - "38579_ord": "2552", - "3857_index": "26012", - "38582_ord": "145", - "38588_ord": "5332", - "38589_ord": "5417", - "3858_index": "23545", - "38590_ord": "4996", - "38592_ord": "2413", - "38593_ord": "5281", - "38596_ord": "3489", - "38597_ord": "536", - "38598_ord": "1087", - "38599_ord": "4859", - "3859_index": "32827", - "385_index": "30204", - "38601_ord": "953", - "38604_ord": "4450", - "38605_ord": "208", - "38606_ord": "2358", - "38607_ord": "2328", - "3860_index": "27863", - "38610_ord": "4221", - "38613_ord": "1209", - "3861_index": "31900", - "3862_index": "28216", - "38632_ord": "3064", - "38634_ord": "3897", - "38639_ord": "969", - "3863_index": "25421", - "38643_ord": "2447", - "38646_ord": "4541", - "38647_ord": "4785", - "38649_ord": "3933", - "3864_index": "19992", - "38654_ord": "3128", - "38656_ord": "1451", - "38657_ord": "1880", - "3865_index": "30431", - "38660_ord": "4930", - "38662_ord": "3276", - "38663_ord": "3849", - "38665_ord": "3447", - "38669_ord": "5033", - "3866_index": "25351", - "38670_ord": "3833", - "38675_ord": "4307", - "38678_ord": "4129", - "3867_index": "20263", - "38684_ord": "3145", - "38686_ord": "1070", - "3868_index": "39292", - "38691_ord": "5270", - "3869_index": "34321", - "386_index": "26643", - "38701_ord": "1200", - "38706_ord": "613", - "3870_index": "22073", - "38712_ord": "2369", - "38713_ord": "2143", - "38718_ord": "2952", - "3871_index": "40857", - "3872_index": "39579", - "38738_ord": "2933", - "38739_ord": "229", - "3873_index": "24051", - "38742_ord": "3589", - "38745_ord": "5195", - "38747_ord": "3735", - "3874_index": "77", - "38750_ord": "5724", - "38752_ord": "2422", - "38753_ord": "3728", - "38754_ord": "5628", - "38757_ord": "5183", - "3875_index": "24613", - "38761_ord": "465", - "3876_index": "32907", - "38771_ord": "1535", - "38772_ord": "2936", - "38774_ord": "1915", - "3877_index": "24778", - "38789_ord": "4362", - "3878_index": "33879", - "38795_ord": "1920", - "38797_ord": "3164", - "3879_index": "23319", - "387_index": "38194", - "38801_ord": "255", - "38808_ord": "4160", - "3880_index": "25345", - "38810_ord": "2384", - "38816_ord": "3539", - "38819_ord": "5819", - "3881_index": "65110", - "38827_ord": "1251", - "38829_ord": "3811", - "3882_index": "35763", - "38830_ord": "454", - "3883_index": "23703", - "3884_index": "76", - "38850_ord": "2950", - "3885_index": "28390", - "3886_index": "28129", - "3887_index": "38442", - "38886_ord": "656", - "38887_ord": "5574", - "38889_ord": "4864", - "3888_index": "32660", - "38890_ord": "5800", - "38892_ord": "5814", - "38893_ord": "1840", - "38899_ord": "3775", - "3889_index": "26159", - "388_index": "25276", - "38901_ord": "3684", - "38902_ord": "1933", - "3890_index": "35813", - "3891_index": "34071", - "3892_index": "36208", - "3893_index": "24013", - "3894_index": "30789", - "38955_ord": "4059", - "3895_index": "33022", - "3896_index": "29786", - "3897_index": "38634", - "3898_index": "36202", - "38994_ord": "2038", - "3899_index": "29749", - "389_index": "29585", - "38_index": "38405", - "38_ord": "4766", - "3900_index": "35098", - "3901_index": "29237", - "39029_ord": "54", - "3902_index": "22768", - "39030_ord": "3444", - "39031_ord": "2833", - "39033_ord": "2443", - "39034_ord": "2268", - "39035_ord": "2174", - "39036_ord": "5645", - "39037_ord": "355", - "39038_ord": "1336", - "39039_ord": "651", - "3903_index": "35854", - "39040_ord": "1050", - "39041_ord": "5502", - "39042_ord": "4308", - "39044_ord": "87", - "39045_ord": "1021", - "39046_ord": "1401", - "39047_ord": "406", - "39048_ord": "5533", - "39049_ord": "410", - "3904_index": "22411", - "39050_ord": "1357", - "39052_ord": "5207", - "39053_ord": "364", - "39056_ord": "4988", - "39057_ord": "5518", - "39059_ord": "2322", - "3905_index": "38179", - "39060_ord": "888", - "39062_ord": "2161", - "39063_ord": "300", - "39064_ord": "3190", - "39066_ord": "4196", - "39067_ord": "2441", - "39068_ord": "855", - "39069_ord": "4837", - "3906_index": "34503", - "39072_ord": "788", - "39073_ord": "1548", - "39076_ord": "3353", - "39078_ord": "1545", - "39079_ord": "1841", - "3907_index": "12305", - "3908_index": "22665", - "3909_index": "21776", - "390_index": "34516", - "3910_index": "33556", - "39118_ord": "828", - "3911_index": "27784", - "39122_ord": "3372", - "39123_ord": "923", - "39125_ord": "3938", - "39128_ord": "4497", - "39129_ord": "43", - "3912_index": "36824", - "39130_ord": "5004", - "39134_ord": "1173", - "39135_ord": "1692", - "3913_index": "35074", - "39143_ord": "3781", - "39144_ord": "5027", - "3914_index": "37019", - "3915_index": "27428", - "3916_index": "33647", - "3917_index": "26333", - "39181_ord": "2620", - "39184_ord": "1165", - "3918_index": "32554", - "3919_index": "37030", - "391_index": "32793", - "3920_index": "25554", - "39214_ord": "5804", - "3921_index": "35847", - "3922_index": "20504", - "3923_index": "36132", - "3924_index": "37044", - "39253_ord": "4682", - "3925_index": "37026", - "39269_ord": "683", - "3926_index": "30571", - "39270_ord": "3677", - "39274_ord": "3576", - "39276_ord": "792", - "39277_ord": "1261", - "39278_ord": "3387", - "39279_ord": "3398", - "3927_index": "38160", - "39280_ord": "2076", - "39281_ord": "3498", - "39282_ord": "1056", - "39284_ord": "3311", - "39285_ord": "2849", - "39286_ord": "736", - "39287_ord": "4773", - "3928_index": "31859", - "39290_ord": "479", - "39292_ord": "3868", - "39293_ord": "859", - "39295_ord": "2505", - "39296_ord": "3157", - "39297_ord": "687", - "3929_index": "22777", - "392_index": "34241", - "39301_ord": "1750", - "39302_ord": "1949", - "39304_ord": "4026", - "39307_ord": "4711", - "39309_ord": "582", - "3930_index": "25214", - "39310_ord": "4495", - "39311_ord": "2773", - "39312_ord": "4603", - "39314_ord": "5140", - "39315_ord": "1166", - "39316_ord": "2698", - "39317_ord": "987", - "39318_ord": "4334", - "3931_index": "36164", - "39321_ord": "3841", - "3932_index": "23835", - "39333_ord": "1066", - "39336_ord": "3380", - "3933_index": "38649", - "3934_index": "24683", - "3935_index": "27599", - "3936_index": "36974", - "3937_index": "25198", - "3938_index": "39125", - "3939_index": "38075", - "393_index": "22317", - "3940_index": "31672", - "3941_index": "30413", - "3942_index": "34541", - "3943_index": "35802", - "3944_index": "20105", - "3945_index": "29245", - "3946_index": "25481", - "3947_index": "26477", - "3948_index": "27966", - "3949_index": "27523", - "394_index": "35837", - "3950_index": "21888", - "3951_index": "30447", - "39529_ord": "3478", - "3952_index": "25314", - "39532_ord": "4104", - "39533_ord": "4592", - "39534_ord": "1405", - "39535_ord": "2693", - "39536_ord": "717", - "39537_ord": "550", - "39539_ord": "4311", - "3953_index": "27835", - "39540_ord": "1168", - "39542_ord": "3149", - "39543_ord": "1930", - "39544_ord": "2135", - "39545_ord": "1749", - "39546_ord": "2801", - "39547_ord": "5445", - "39548_ord": "1207", - "39549_ord": "2840", - "3954_index": "38086", - "39550_ord": "3452", - "39551_ord": "2592", - "39552_ord": "5431", - "39553_ord": "5608", - "39554_ord": "2242", - "39556_ord": "5674", - "39557_ord": "5102", - "39558_ord": "1706", - "39559_ord": "1138", - "3955_index": "25265", - "39560_ord": "3769", - "39562_ord": "4403", - "39563_ord": "4170", - "39564_ord": "716", - "39567_ord": "1789", - "39568_ord": "4062", - "39569_ord": "3169", - "3956_index": "40763", - "39574_ord": "5042", - "39575_ord": "3835", - "39576_ord": "4627", - "39578_ord": "4684", - "39579_ord": "3872", - "3957_index": "27225", - "39580_ord": "1820", - "39582_ord": "4557", - "39584_ord": "1473", - "39585_ord": "4175", - "39588_ord": "85", - "39589_ord": "4523", - "3958_index": "25160", - "39591_ord": "2303", - "39592_ord": "4409", - "3959_index": "24598", - "395_index": "20170", - "39600_ord": "4224", - "39606_ord": "1537", - "39607_ord": "1646", - "39608_ord": "3019", - "3960_index": "20190", - "39612_ord": "96", - "39616_ord": "5333", - "39619_ord": "5521", - "3961_index": "36880", - "39621_ord": "4295", - "39627_ord": "5466", - "3962_index": "32034", - "39633_ord": "4094", - "39635_ord": "5334", - "3963_index": "39746", - "39640_ord": "3421", - "39649_ord": "1485", - "3964_index": "27896", - "39654_ord": "4683", - "39659_ord": "3532", - "3965_index": "20315", - "39661_ord": "5000", - "39663_ord": "2887", - "3966_index": "28865", - "39675_ord": "4751", - "3967_index": "21608", - "39683_ord": "35", - "3968_index": "22581", - "39699_ord": "3661", - "3969_index": "36749", - "396_index": "21990", - "3970_index": "19997", - "39711_ord": "1868", - "39715_ord": "2589", - "3971_index": "23612", - "3972_index": "24582", - "39730_ord": "4743", - "39739_ord": "1102", - "3973_index": "24180", - "39740_ord": "3847", - "39745_ord": "631", - "39746_ord": "3963", - "39748_ord": "729", - "39749_ord": "5415", - "3974_index": "33033", - "39751_ord": "3284", - "39753_ord": "4797", - "39757_ord": "1543", - "39759_ord": "3460", - "3975_index": "38206", - "39761_ord": "5781", - "39764_ord": "2917", - "3976_index": "29028", - "3977_index": "20945", - "3978_index": "34461", - "3979_index": "32440", - "397_index": "33759", - "3980_index": "31461", - "3981_index": "24871", - "3982_index": "20985", - "3983_index": "29978", - "3984_index": "26538", - "3985_index": "31570", - "3986_index": "36887", - "3987_index": "24081", - "3988_index": "29711", - "3989_index": "21491", - "398_index": "29454", - "3990_index": "25665", - "3991_index": "21046", - "3992_index": "21335", - "3993_index": "26119", - "3994_index": "31515", - "3995_index": "24351", - "3996_index": "37492", - "3997_index": "24529", - "3998_index": "23811", - "3999_index": "25026", - "399_index": "38343", - "39_index": "30338", - "39_ord": "3733", - "3_index": "36383", - "4000_index": "9317", - "4001_index": "27047", - "4002_index": "24473", - "4003_index": "35390", - "4004_index": "32673", - "4005_index": "35109", - "40060_ord": "5815", - "40063_ord": "2098", - "40065_ord": "743", - "4006_index": "32899", - "40071_ord": "1860", - "40075_ord": "1371", - "40077_ord": "1982", - "4007_index": "21823", - "40080_ord": "448", - "40081_ord": "3649", - "40084_ord": "5668", - "4008_index": "31071", - "40091_ord": "4705", - "40092_ord": "2559", - "40096_ord": "4610", - "4009_index": "40518", - "400_index": "32752", - "40100_ord": "2653", - "40103_ord": "4793", - "40104_ord": "2989", - "4010_index": "30629", - "40112_ord": "3002", - "40114_ord": "1419", - "4011_index": "23035", - "40120_ord": "852", - "4012_index": "36273", - "40131_ord": "2118", - "40132_ord": "3803", - "4013_index": "35", - "40140_ord": "404", - "40141_ord": "1193", - "40143_ord": "4836", - "4014_index": "38114", - "40150_ord": "3246", - "40156_ord": "1249", - "40157_ord": "5722", - "40158_ord": "4055", - "4015_index": "32474", - "4016_index": "24124", - "4017_index": "35299", - "4018_index": "24840", - "4019_index": "36882", - "401_index": "22435", - "4020_index": "27893", - "4021_index": "30511", - "4022_index": "33806", - "4023_index": "36893", - "4024_index": "25402", - "4025_index": "20047", - "4026_index": "39304", - "4027_index": "23506", - "4028_index": "27762", - "4029_index": "38153", - "402_index": "21674", - "4030_index": "31054", - "4031_index": "25463", - "4032_index": "224", - "4033_index": "30928", - "4034_index": "34913", - "4035_index": "31059", - "4036_index": "21576", - "4037_index": "38124", - "4038_index": "24466", - "4039_index": "24469", - "403_index": "26238", - "4040_index": "38043", - "4041_index": "24403", - "4042_index": "23572", - "4043_index": "24528", - "4044_index": "21208", - "4045_index": "25343", - "4046_index": "29166", - "40479_ord": "2156", - "4047_index": "27845", - "40480_ord": "2493", - "40481_ord": "5163", - "40482_ord": "915", - "40483_ord": "310", - "40485_ord": "1811", - "40486_ord": "2094", - "40488_ord": "1610", - "40489_ord": "412", - "4048_index": "25034", - "40492_ord": "4974", - "40493_ord": "1409", - "40494_ord": "2114", - "40495_ord": "4846", - "40497_ord": "5068", - "40499_ord": "4137", - "4049_index": "45", - "404_index": "40140", - "40501_ord": "4225", - "40503_ord": "4949", - "40509_ord": "2312", - "4050_index": "32557", - "40510_ord": "4914", - "40511_ord": "5318", - "40514_ord": "5477", - "40515_ord": "5353", - "40516_ord": "1684", - "40517_ord": "1747", - "40518_ord": "4009", - "4051_index": "20196", - "40521_ord": "682", - "40522_ord": "4597", - "40527_ord": "999", - "40529_ord": "965", - "4052_index": "25542", - "40535_ord": "1707", - "40536_ord": "5083", - "40538_ord": "5395", - "4053_index": "21283", - "40540_ord": "5632", - "40542_ord": "5255", - "40547_ord": "843", - "40548_ord": "2070", - "4054_index": "38271", - "40550_ord": "3566", - "40555_ord": "2930", - "40557_ord": "284", - "4055_index": "40158", - "40560_ord": "3005", - "40563_ord": "1843", - "4056_index": "20993", - "40575_ord": "5544", - "40578_ord": "4796", - "4057_index": "31192", - "40587_ord": "1538", - "4058_index": "22612", - "40594_ord": "1192", - "40595_ord": "4582", - "4059_index": "38955", - "405_index": "21477", - "40605_ord": "265", - "40607_ord": "1965", - "4060_index": "24576", - "40614_ord": "2420", - "4061_index": "26612", - "4062_index": "39568", - "40635_ord": "1890", - "40637_ord": "4601", - "40638_ord": "3310", - "4063_index": "22697", - "40644_ord": "2182", - "4064_index": "21483", - "40653_ord": "1713", - "40654_ord": "2425", - "40655_ord": "5181", - "40657_ord": "4575", - "4065_index": "103", - "40660_ord": "4342", - "40664_ord": "3682", - "40667_ord": "2962", - "40668_ord": "1801", - "40669_ord": "2778", - "4066_index": "26367", - "40671_ord": "1733", - "40672_ord": "2780", - "4067_index": "20463", - "40687_ord": "1940", - "4068_index": "36362", - "4069_index": "26584", - "406_index": "39047", - "40702_ord": "672", - "4070_index": "23588", - "40715_ord": "5205", - "40717_ord": "5598", - "40718_ord": "4738", - "4071_index": "36951", - "40723_ord": "5434", - "4072_index": "24407", - "40736_ord": "3000", - "4073_index": "26420", - "4074_index": "24717", - "4075_index": "36328", - "40763_ord": "3956", - "40766_ord": "528", - "4076_index": "22432", - "4077_index": "35070", - "40784_ord": "3634", - "4078_index": "32488", - "4079_index": "32417", - "407_index": "26025", - "4080_index": "24575", - "4081_index": "29356", - "4082_index": "24208", - "40831_ord": "967", - "40833_ord": "2279", - "40836_ord": "3410", - "4083_index": "31207", - "40840_ord": "5141", - "40842_ord": "2611", - "40843_ord": "2675", - "40844_ord": "2977", - "40847_ord": "524", - "4084_index": "31319", - "40857_ord": "3871", - "40858_ord": "430", - "40859_ord": "1557", - "4085_index": "34814", - "40863_ord": "4128", - "4086_index": "34507", - "4087_index": "26896", - "4088_index": "36228", - "4089_index": "23210", - "408_index": "33436", - "4090_index": "32478", - "4091_index": "28525", - "4092_index": "20565", - "4093_index": "21860", - "4094_index": "39633", - "4095_index": "25749", - "4096_index": "24623", - "4097_index": "22774", - "4098_index": "102", - "4099_index": "29270", - "409_index": "64", - "40_index": "26381", - "40_ord": "722", - "4100_index": "20864", - "4101_index": "23631", - "4102_index": "36952", - "4103_index": "30502", - "4104_index": "39532", - "4105_index": "29840", - "4106_index": "36276", - "4107_index": "33769", - "4108_index": "23094", - "4109_index": "36139", - "410_index": "39049", - "4110_index": "31869", - "4111_index": "22962", - "4112_index": "23244", - "4113_index": "21767", - "4114_index": "27983", - "4115_index": "24055", - "4116_index": "31494", - "4117_index": "21693", - "4118_index": "30246", - "4119_index": "945", - "411_index": "27627", - "4120_index": "23045", - "4121_index": "31246", - "4122_index": "25102", - "4123_index": "22244", - "4124_index": "20394", - "4125_index": "30116", - "4126_index": "27728", - "4127_index": "37198", - "4128_index": "40863", - "4129_index": "38678", - "412_index": "40489", - "4130_index": "22992", - "4131_index": "34935", - "4132_index": "25386", - "4133_index": "31932", - "4134_index": "20570", - "4135_index": "29677", - "4136_index": "30086", - "4137_index": "40499", - "4138_index": "21486", - "4139_index": "26031", - "413_index": "27861", - "4140_index": "22827", - "4141_index": "21161", - "4142_index": "37195", - "4143_index": "29088", - "4144_index": "32466", - "4145_index": "24499", - "4146_index": "8242", - "4147_index": "28108", - "4148_index": "33524", - "4149_index": "20846", - "414_index": "32454", - "4150_index": "30719", - "4151_index": "32551", - "4152_index": "28818", - "4153_index": "23729", - "4154_index": "22925", - "4155_index": "33129", - "4156_index": "25317", - "4157_index": "28343", - "4158_index": "25332", - "4159_index": "24590", - "415_index": "27744", - "4160_index": "38808", - "4161_index": "33455", - "4162_index": "33251", - "4163_index": "31383", - "4164_index": "36225", - "4165_index": "27679", - "4166_index": "38533", - "4167_index": "21905", - "4168_index": "26015", - "4169_index": "23480", - "416_index": "37112", - "4170_index": "39563", - "4171_index": "33592", - "4172_index": "36995", - "4173_index": "26799", - "4174_index": "30133", - "4175_index": "39585", - "4176_index": "22391", - "4177_index": "35769", - "4178_index": "30111", - "4179_index": "20552", - "417_index": "30028", - "4180_index": "31038", - "4181_index": "28891", - "4182_index": "26395", - "4183_index": "34028", - "4184_index": "28437", - "4185_index": "25239", - "4186_index": "20214", - "4187_index": "36161", - "4188_index": "25910", - "4189_index": "21016", - "418_index": "37220", - "4190_index": "21549", - "4191_index": "22931", - "4192_index": "21078", - "4193_index": "35048", - "4194_index": "20367", - "4195_index": "25438", - "4196_index": "39066", - "4197_index": "38534", - "4198_index": "20171", - "4199_index": "21152", - "419_index": "36475", - "41_index": "23896", - "41_ord": "4215", - "4200_index": "32596", - "4201_index": "31287", - "4202_index": "21220", - "4203_index": "26755", - "4204_index": "22014", - "4205_index": "27788", - "4206_index": "29435", - "4207_index": "30002", - "4208_index": "21604", - "4209_index": "27900", - "420_index": "23431", - "4210_index": "25467", - "4211_index": "25155", - "4212_index": "27468", - "4213_index": "25179", - "4214_index": "38416", - "4215_index": "41", - "4216_index": "23651", - "4217_index": "21097", - "4218_index": "20869", - "4219_index": "33735", - "421_index": "33633", - "4220_index": "38548", - "4221_index": "38610", - "4222_index": "26480", - "4223_index": "30776", - "4224_index": "39600", - "4225_index": "40501", - "4226_index": "20184", - "4227_index": "20860", - "4228_index": "252", - "4229_index": "34303", - "422_index": "35809", - "4230_index": "35834", - "4231_index": "22862", - "4232_index": "24832", - "4233_index": "26124", - "4234_index": "24917", - "4235_index": "27695", - "4236_index": "38454", - "4237_index": "23113", - "4238_index": "34837", - "4239_index": "24760", - "423_index": "22545", - "4240_index": "29906", - "4241_index": "34943", - "4242_index": "31923", - "4243_index": "32750", - "4244_index": "26705", - "4245_index": "24794", - "4246_index": "8546", - "4247_index": "24352", - "4248_index": "38034", - "4249_index": "26530", - "424_index": "35868", - "4250_index": "29614", - "4251_index": "38413", - "4252_index": "24050", - "4253_index": "30830", - "4254_index": "27675", - "4255_index": "20901", - "4256_index": "21713", - "4257_index": "21098", - "4258_index": "21863", - "4259_index": "26693", - "425_index": "22654", - "4260_index": "34588", - "4261_index": "28654", - "4262_index": "33490", - "4263_index": "38431", - "4264_index": "33931", - "4265_index": "38519", - "4266_index": "36339", - "4267_index": "20013", - "4268_index": "25250", - "4269_index": "21650", - "426_index": "34586", - "4270_index": "20154", - "4271_index": "25899", - "4272_index": "28238", - "4273_index": "25671", - "4274_index": "29022", - "4275_index": "24458", - "4276_index": "30462", - "4277_index": "32558", - "4278_index": "20254", - "4279_index": "33900", - "427_index": "32487", - "4280_index": "20040", - "4281_index": "19971", - "4282_index": "25302", - "4283_index": "30105", - "4284_index": "35753", - "4285_index": "20390", - "4286_index": "23608", - "4287_index": "22351", - "4288_index": "34946", - "4289_index": "26114", - "428_index": "24103", - "4290_index": "21365", - "4291_index": "22797", - "4292_index": "29367", - "4293_index": "36510", - "4294_index": "34670", - "4295_index": "39621", - "4296_index": "34218", - "4297_index": "36981", - "4298_index": "21484", - "4299_index": "34383", - "429_index": "24119", - "42_index": "20260", - "42_ord": "3065", - "4300_index": "19979", - "4301_index": "24070", - "4302_index": "22971", - "4303_index": "28197", - "4304_index": "19969", - "4305_index": "38400", - "4306_index": "34880", - "4307_index": "38675", - "4308_index": "39042", - "4309_index": "23254", - "430_index": "40858", - "4310_index": "23418", - "4311_index": "39539", - "4312_index": "35816", - "4313_index": "30141", - "4314_index": "24066", - "4315_index": "22330", - "4316_index": "36805", - "4317_index": "30722", - "4318_index": "35686", - "4319_index": "24453", - "431_index": "22234", - "4320_index": "37324", - "4321_index": "25703", - "4322_index": "37197", - "4323_index": "29785", - "4324_index": "31162", - "4325_index": "21908", - "4326_index": "34900", - "4327_index": "25490", - "4328_index": "36235", - "4329_index": "28822", - "432_index": "31199", - "4330_index": "26368", - "4331_index": "35988", - "4332_index": "56", - "4333_index": "28227", - "4334_index": "39318", - "4335_index": "32599", - "4336_index": "28792", - "4337_index": "8594", - "4338_index": "28186", - "4339_index": "27605", - "433_index": "35057", - "4340_index": "34996", - "4341_index": "22068", - "4342_index": "40660", - "4343_index": "30566", - "4344_index": "36902", - "4345_index": "27813", - "4346_index": "23130", - "4347_index": "23449", - "4348_index": "20621", - "4349_index": "32842", - "434_index": "35269", - "4350_index": "21422", - "4351_index": "32549", - "4352_index": "30000", - "4353_index": "25122", - "4354_index": "29648", - "4355_index": "27099", - "4356_index": "28182", - "4357_index": "38505", - "4358_index": "38446", - "4359_index": "29781", - "435_index": "20046", - "4360_index": "24739", - "4361_index": "26247", - "4362_index": "38789", - "4363_index": "21382", - "4364_index": "36138", - "4365_index": "36875", - "4366_index": "21917", - "4367_index": "25454", - "4368_index": "36174", - "4369_index": "27462", - "436_index": "20061", - "4370_index": "23462", - "4371_index": "27103", - "4372_index": "20064", - "4373_index": "23755", - "4374_index": "20405", - "4375_index": "35863", - "4376_index": "33293", - "4377_index": "25143", - "4378_index": "21043", - "4379_index": "30410", - "437_index": "29279", - "4380_index": "24377", - "4381_index": "25414", - "4382_index": "34558", - "4383_index": "33", - "4384_index": "20024", - "4385_index": "38450", - "4386_index": "35800", - "4387_index": "29761", - "4388_index": "35201", - "4389_index": "22257", - "438_index": "34941", - "4390_index": "36184", - "4391_index": "38453", - "4392_index": "28954", - "4393_index": "36930", - "4394_index": "36387", - "4395_index": "28872", - "4396_index": "26089", - "4397_index": "25810", - "4398_index": "25200", - "4399_index": "36485", - "439_index": "29482", - "43_index": "39129", - "43_ord": "1154", - "4400_index": "8547", - "4401_index": "37314", - "4402_index": "20442", - "4403_index": "39562", - "4404_index": "30545", - "4405_index": "24577", - "4406_index": "38495", - "4407_index": "21327", - "4408_index": "37221", - "4409_index": "39592", - "440_index": "34917", - "4410_index": "24033", - "4411_index": "21894", - "4412_index": "31959", - "4413_index": "20108", - "4414_index": "30372", - "4415_index": "27979", - "4416_index": "21514", - "4417_index": "33109", - "4418_index": "35858", - "4419_index": "26051", - "441_index": "30473", - "4420_index": "22429", - "4421_index": "20283", - "4422_index": "36170", - "4423_index": "28487", - "4424_index": "29436", - "4425_index": "27586", - "4426_index": "30014", - "4427_index": "20291", - "4428_index": "35880", - "4429_index": "23104", - "442_index": "34972", - "4430_index": "119", - "4431_index": "20282", - "4432_index": "36214", - "4433_index": "99", - "4434_index": "25530", - "4435_index": "25558", - "4436_index": "24688", - "4437_index": "21807", - "4438_index": "35754", - "4439_index": "27068", - "443_index": "30340", - "4440_index": "32964", - "4441_index": "28297", - "4442_index": "21306", - "4443_index": "65106", - "4444_index": "27159", - "4445_index": "32543", - "4446_index": "29232", - "4447_index": "26071", - "4448_index": "21521", - "4449_index": "31574", - "444_index": "27538", - "4450_index": "38604", - "4451_index": "25915", - "4452_index": "26797", - "4453_index": "22066", - "4454_index": "24680", - "4455_index": "24763", - "4456_index": "33394", - "4457_index": "30802", - "4458_index": "30153", - "4459_index": "37231", - "445_index": "28997", - "4460_index": "31066", - "4461_index": "38189", - "4462_index": "33559", - "4463_index": "21691", - "4464_index": "20262", - "4465_index": "37226", - "4466_index": "25571", - "4467_index": "21269", - "4468_index": "23721", - "4469_index": "21754", - "446_index": "21482", - "4470_index": "34496", - "4471_index": "32600", - "4472_index": "29822", - "4473_index": "21698", - "4474_index": "27801", - "4475_index": "26641", - "4476_index": "25511", - "4477_index": "26842", - "4478_index": "32476", - "4479_index": "21671", - "447_index": "21187", - "4480_index": "32432", - "4481_index": "21165", - "4482_index": "33630", - "4483_index": "25968", - "4484_index": "21313", - "4485_index": "22256", - "4486_index": "35793", - "4487_index": "25634", - "4488_index": "30865", - "4489_index": "21657", - "448_index": "40080", - "4490_index": "30827", - "4491_index": "8712", - "4492_index": "29422", - "4493_index": "29969", - "4494_index": "25087", - "4495_index": "39310", - "4496_index": "36816", - "4497_index": "39128", - "4498_index": "78", - "4499_index": "35832", - "449_index": "22353", - "44_index": "32808", - "44_ord": "3456", - "4500_index": "32996", - "4501_index": "29379", - "4502_index": "24155", - "4503_index": "33311", - "4504_index": "25913", - "4505_index": "27836", - "4506_index": "25277", - "4507_index": "53", - "4508_index": "37210", - "4509_index": "27492", - "450_index": "32509", - "4510_index": "34276", - "4511_index": "25119", - "4512_index": "28889", - "4513_index": "19995", - "4514_index": "33392", - "4515_index": "29277", - "4516_index": "21334", - "4517_index": "25480", - "4518_index": "33044", - "4519_index": "33410", - "451_index": "26143", - "4520_index": "38203", - "4521_index": "27950", - "4522_index": "36212", - "4523_index": "39589", - "4524_index": "21489", - "4525_index": "28540", - "4526_index": "36861", - "4527_index": "34921", - "4528_index": "31616", - "4529_index": "32456", - "452_index": "33402", - "4530_index": "21738", - "4531_index": "36205", - "4532_index": "35875", - "4533_index": "31492", - "4534_index": "29549", - "4535_index": "28389", - "4536_index": "25788", - "4537_index": "24605", - "4538_index": "33638", - "4539_index": "23553", - "453_index": "29680", - "4540_index": "30127", - "4541_index": "38646", - "4542_index": "29289", - "4543_index": "25353", - "4544_index": "30693", - "4545_index": "25300", - "4546_index": "21378", - "4547_index": "25918", - "4548_index": "33725", - "4549_index": "36134", - "454_index": "38830", - "4550_index": "23707", - "4551_index": "20885", - "4552_index": "33021", - "4553_index": "22443", - "4554_index": "24109", - "4555_index": "25569", - "4556_index": "20446", - "4557_index": "39582", - "4558_index": "20445", - "4559_index": "25688", - "455_index": "26862", - "4560_index": "23630", - "4561_index": "35844", - "4562_index": "20233", - "4563_index": "21563", - "4564_index": "31028", - "4565_index": "38066", - "4566_index": "27686", - "4567_index": "33337", - "4568_index": "23562", - "4569_index": "33465", - "456_index": "27204", - "4570_index": "21405", - "4571_index": "30498", - "4572_index": "33628", - "4573_index": "21145", - "4574_index": "23432", - "4575_index": "40657", - "4576_index": "34510", - "4577_index": "22496", - "4578_index": "21522", - "4579_index": "33216", - "457_index": "21017", - "4580_index": "26525", - "4581_index": "36724", - "4582_index": "40595", - "4583_index": "20520", - "4584_index": "9651", - "4585_index": "36982", - "4586_index": "27088", - "4587_index": "23408", - "4588_index": "27987", - "4589_index": "20137", - "458_index": "26786", - "4590_index": "20080", - "4591_index": "25196", - "4592_index": "39533", - "4593_index": "33210", - "4594_index": "36814", - "4595_index": "21068", - "4596_index": "26503", - "4597_index": "40522", - "4598_index": "27249", - "4599_index": "36994", - "459_index": "28196", - "45_index": "36758", - "45_ord": "4049", - "4600_index": "27057", - "4601_index": "40637", - "4602_index": "35841", - "4603_index": "39312", - "4604_index": "28079", - "4605_index": "31359", - "4606_index": "23044", - "4607_index": "22242", - "4608_index": "27075", - "4609_index": "21169", - "460_index": "22419", - "4610_index": "40096", - "4611_index": "23388", - "4612_index": "35276", - "4613_index": "32501", - "4614_index": "27494", - "4615_index": "36186", - "4616_index": "30970", - "4617_index": "29266", - "4618_index": "57", - "4619_index": "30883", - "461_index": "23512", - "4620_index": "20339", - "4621_index": "38392", - "4622_index": "25235", - "4623_index": "20369", - "4624_index": "35874", - "4625_index": "34164", - "4626_index": "22865", - "4627_index": "39576", - "4628_index": "37060", - "4629_index": "20165", - "462_index": "38402", - "4630_index": "29306", - "4631_index": "22275", - "4632_index": "24052", - "4633_index": "26302", - "4634_index": "30591", - "4635_index": "21460", - "4636_index": "27169", - "4637_index": "27975", - "4638_index": "25100", - "4639_index": "20043", - "463_index": "20917", - "4640_index": "36864", - "4641_index": "28861", - "4642_index": "30910", - "4643_index": "27721", - "4644_index": "22561", - "4645_index": "33832", - "4646_index": "26262", - "4647_index": "27931", - "4648_index": "20056", - "4649_index": "23938", - "464_index": "24666", - "4650_index": "21032", - "4651_index": "21277", - "4652_index": "24876", - "4653_index": "35859", - "4654_index": "27963", - "4655_index": "36726", - "4656_index": "29281", - "4657_index": "32822", - "4658_index": "30643", - "4659_index": "29390", - "465_index": "38761", - "4660_index": "35301", - "4661_index": "33615", - "4662_index": "34920", - "4663_index": "35206", - "4664_index": "20173", - "4665_index": "31958", - "4666_index": "22334", - "4667_index": "29006", - "4668_index": "25035", - "4669_index": "20865", - "466_index": "36300", - "4670_index": "30585", - "4671_index": "26519", - "4672_index": "31729", - "4673_index": "37089", - "4674_index": "26791", - "4675_index": "20718", - "4676_index": "34065", - "4677_index": "9312", - "4678_index": "25644", - "4679_index": "35884", - "467_index": "21681", - "4680_index": "20421", - "4681_index": "26594", - "4682_index": "39253", - "4683_index": "39654", - "4684_index": "39578", - "4685_index": "23089", - "4686_index": "26435", - "4687_index": "24369", - "4688_index": "27451", - "4689_index": "31405", - "468_index": "21627", - "4690_index": "38182", - "4691_index": "35876", - "4692_index": "32988", - "4693_index": "21556", - "4694_index": "25532", - "4695_index": "19975", - "4696_index": "30183", - "4697_index": "20426", - "4698_index": "28949", - "4699_index": "23230", - "469_index": "21006", - "46_index": "25340", - "46_ord": "3422", - "4700_index": "36454", - "4701_index": "36711", - "4702_index": "28845", - "4703_index": "34468", - "4704_index": "36423", - "4705_index": "40091", - "4706_index": "35871", - "4707_index": "35895", - "4708_index": "32420", - "4709_index": "33550", - "470_index": "33451", - "4710_index": "21623", - "4711_index": "39307", - "4712_index": "34433", - "4713_index": "34425", - "4714_index": "24604", - "4715_index": "34739", - "4716_index": "28102", - "4717_index": "34568", - "4718_index": "25342", - "4719_index": "33804", - "471_index": "34567", - "4720_index": "27233", - "4721_index": "30603", - "4722_index": "32560", - "4723_index": "21891", - "4724_index": "30415", - "4725_index": "24432", - "4726_index": "26803", - "4727_index": "22024", - "4728_index": "26454", - "4729_index": "24653", - "472_index": "32943", - "4730_index": "32922", - "4731_index": "23090", - "4732_index": "8544", - "4733_index": "22764", - "4734_index": "29364", - "4735_index": "24685", - "4736_index": "29489", - "4737_index": "27887", - "4738_index": "40718", - "4739_index": "22534", - "473_index": "23961", - "4740_index": "31391", - "4741_index": "33150", - "4742_index": "37325", - "4743_index": "39730", - "4744_index": "24694", - "4745_index": "24534", - "4746_index": "33978", - "4747_index": "33897", - "4748_index": "247", - "4749_index": "21117", - "474_index": "21985", - "4750_index": "22125", - "4751_index": "39675", - "4752_index": "26222", - "4753_index": "34560", - "4754_index": "20167", - "4755_index": "23494", - "4756_index": "35008", - "4757_index": "33740", - "4758_index": "20447", - "4759_index": "38552", - "475_index": "21683", - "4760_index": "26864", - "4761_index": "25381", - "4762_index": "34222", - "4763_index": "25488", - "4764_index": "35977", - "4765_index": "23011", - "4766_index": "38", - "4767_index": "22387", - "4768_index": "34849", - "4769_index": "33976", - "476_index": "29286", - "4770_index": "29233", - "4771_index": "34544", - "4772_index": "21417", - "4773_index": "39287", - "4774_index": "36146", - "4775_index": "27888", - "4776_index": "25197", - "4777_index": "9332", - "4778_index": "30505", - "4779_index": "20351", - "477_index": "23696", - "4780_index": "21629", - "4781_index": "32654", - "4782_index": "20961", - "4783_index": "29992", - "4784_index": "38428", - "4785_index": "38647", - "4786_index": "38376", - "4787_index": "36739", - "4788_index": "25797", - "4789_index": "21348", - "478_index": "26329", - "4790_index": "38475", - "4791_index": "23581", - "4792_index": "26331", - "4793_index": "40103", - "4794_index": "30178", - "4795_index": "21333", - "4796_index": "40578", - "4797_index": "39753", - "4798_index": "24439", - "4799_index": "38485", - "479_index": "39290", - "47_index": "22270", - "47_ord": "2136", - "4800_index": "36898", - "4801_index": "25152", - "4802_index": "24182", - "4803_index": "24337", - "4804_index": "34593", - "4805_index": "23700", - "4806_index": "22002", - "4807_index": "24441", - "4808_index": "35294", - "4809_index": "36159", - "480_index": "34092", - "4810_index": "25212", - "4811_index": "32843", - "4812_index": "21047", - "4813_index": "24373", - "4814_index": "33025", - "4815_index": "29976", - "4816_index": "36963", - "4817_index": "20558", - "4818_index": "25335", - "4819_index": "33437", - "481_index": "31518", - "4820_index": "31262", - "4821_index": "38178", - "4822_index": "22149", - "4823_index": "29420", - "4824_index": "33707", - "4825_index": "23777", - "4826_index": "24807", - "4827_index": "30083", - "4828_index": "32908", - "4829_index": "34109", - "482_index": "38089", - "4830_index": "26544", - "4831_index": "29790", - "4832_index": "27542", - "4833_index": "29935", - "4834_index": "34402", - "4835_index": "31069", - "4836_index": "40143", - "4837_index": "39069", - "4838_index": "36827", - "4839_index": "23265", - "483_index": "36716", - "4840_index": "26206", - "4841_index": "23626", - "4842_index": "25615", - "4843_index": "32737", - "4844_index": "28173", - "4845_index": "30016", - "4846_index": "40495", - "4847_index": "21974", - "4848_index": "33635", - "4849_index": "31446", - "484_index": "20493", - "4850_index": "27663", - "4851_index": "24063", - "4852_index": "33037", - "4853_index": "31469", - "4854_index": "28459", - "4855_index": "33997", - "4856_index": "30192", - "4857_index": "27668", - "4858_index": "24429", - "4859_index": "38599", - "485_index": "25225", - "4860_index": "20801", - "4861_index": "26356", - "4862_index": "31105", - "4863_index": "22859", - "4864_index": "38889", - "4865_index": "35829", - "4866_index": "23751", - "4867_index": "23020", - "4868_index": "32772", - "4869_index": "38387", - "486_index": "21898", - "4870_index": "37383", - "4871_index": "26834", - "4872_index": "23558", - "4873_index": "31040", - "4874_index": "33329", - "4875_index": "26198", - "4876_index": "38085", - "4877_index": "35867", - "4878_index": "24841", - "4879_index": "26590", - "487_index": "20007", - "4880_index": "29830", - "4881_index": "25191", - "4882_index": "20372", - "4883_index": "33261", - "4884_index": "23604", - "4885_index": "32288", - "4886_index": "31629", - "4887_index": "24310", - "4888_index": "20197", - "4889_index": "27454", - "488_index": "26611", - "4890_index": "35033", - "4891_index": "28903", - "4892_index": "34993", - "4893_index": "22441", - "4894_index": "23013", - "4895_index": "36347", - "4896_index": "27296", - "4897_index": "25172", - "4898_index": "20048", - "4899_index": "31354", - "489_index": "38048", - "48_index": "33432", - "48_ord": "5515", - "4900_index": "21261", - "4901_index": "118", - "4902_index": "21866", - "4903_index": "34915", - "4904_index": "31914", - "4905_index": "36750", - "4906_index": "36733", - "4907_index": "34631", - "4908_index": "38177", - "4909_index": "35773", - "490_index": "35878", - "4910_index": "21632", - "4911_index": "38459", - "4912_index": "31181", - "4913_index": "21128", - "4914_index": "40510", - "4915_index": "33469", - "4916_index": "20005", - "4917_index": "32047", - "4918_index": "38031", - "4919_index": "34432", - "491_index": "31392", - "4920_index": "22350", - "4921_index": "30007", - "4922_index": "20432", - "4923_index": "20818", - "4924_index": "31759", - "4925_index": "21311", - "4926_index": "22303", - "4927_index": "33719", - "4928_index": "26410", - "4929_index": "21719", - "492_index": "34638", - "4930_index": "38660", - "4931_index": "23653", - "4932_index": "86", - "4933_index": "23435", - "4934_index": "28346", - "4935_index": "21827", - "4936_index": "68", - "4937_index": "22467", - "4938_index": "35789", - "4939_index": "24792", - "493_index": "24220", - "4940_index": "27927", - "4941_index": "23395", - "4942_index": "36190", - "4943_index": "28248", - "4944_index": "27060", - "4945_index": "22915", - "4946_index": "37070", - "4947_index": "32966", - "4948_index": "35028", - "4949_index": "40503", - "494_index": "25170", - "4950_index": "36941", - "4951_index": "33140", - "4952_index": "32696", - "4953_index": "33011", - "4954_index": "22604", - "4955_index": "31569", - "4956_index": "38201", - "4957_index": "28073", - "4958_index": "83", - "4959_index": "30721", - "495_index": "24460", - "4960_index": "36427", - "4961_index": "32728", - "4962_index": "28937", - "4963_index": "21852", - "4964_index": "30857", - "4965_index": "37327", - "4966_index": "37155", - "4967_index": "28369", - "4968_index": "20581", - "4969_index": "96", - "496_index": "26708", - "4970_index": "26191", - "4971_index": "35142", - "4972_index": "36877", - "4973_index": "21617", - "4974_index": "40492", - "4975_index": "52", - "4976_index": "36127", - "4977_index": "21596", - "4978_index": "33778", - "4979_index": "21478", - "497_index": "23697", - "4980_index": "22987", - "4981_index": "65291", - "4982_index": "28360", - "4983_index": "30977", - "4984_index": "26704", - "4985_index": "26725", - "4986_index": "29468", - "4987_index": "30590", - "4988_index": "39056", - "4989_index": "30250", - "498_index": "22368", - "4990_index": "9354", - "4991_index": "24669", - "4992_index": "20892", - "4993_index": "23002", - "4994_index": "21246", - "4995_index": "20356", - "4996_index": "38590", - "4997_index": "25462", - "4998_index": "24158", - "4999_index": "21018", - "499_index": "23654", - "49_index": "26576", - "49_ord": "4", - "4_index": "49", - "5000_index": "39661", - "5001_index": "34429", - "5002_index": "31601", - "5003_index": "29718", - "5004_index": "39130", - "5005_index": "65292", - "5006_index": "27899", - "5007_index": "22909", - "5008_index": "21868", - "5009_index": "30742", - "500_index": "37122", - "5010_index": "38425", - "5011_index": "21872", - "5012_index": "21215", - "5013_index": "30710", - "5014_index": "25928", - "5015_index": "23477", - "5016_index": "36424", - "5017_index": "36890", - "5018_index": "33692", - "5019_index": "33585", - "501_index": "20284", - "5020_index": "23260", - "5021_index": "24789", - "5022_index": "24656", - "5023_index": "20272", - "5024_index": "28514", - "5025_index": "23735", - "5026_index": "26685", - "5027_index": "39144", - "5028_index": "32110", - "5029_index": "125", - "502_index": "25772", - "5030_index": "33545", - "5031_index": "29723", - "5032_index": "36760", - "5033_index": "38669", - "5034_index": "37085", - "5035_index": "33026", - "5036_index": "25109", - "5037_index": "33097", - "5038_index": "31889", - "5039_index": "32441", - "503_index": "34006", - "5040_index": "21059", - "5041_index": "24581", - "5042_index": "39574", - "5043_index": "27207", - "5044_index": "34444", - "5045_index": "34656", - "5046_index": "29469", - "5047_index": "33626", - "5048_index": "31649", - "5049_index": "23073", - "504_index": "22954", - "5050_index": "38539", - "5051_index": "23466", - "5052_index": "38394", - "5053_index": "31232", - "5054_index": "32618", - "5055_index": "31487", - "5056_index": "31655", - "5057_index": "25601", - "5058_index": "32504", - "5059_index": "21652", - "505_index": "33222", - "5060_index": "32628", - "5061_index": "28151", - "5062_index": "27280", - "5063_index": "32315", - "5064_index": "22937", - "5065_index": "33098", - "5066_index": "35475", - "5067_index": "35777", - "5068_index": "40497", - "5069_index": "28372", - "506_index": "30146", - "5070_index": "21493", - "5071_index": "24921", - "5072_index": "25329", - "5073_index": "22312", - "5074_index": "38205", - "5075_index": "36763", - "5076_index": "21507", - "5077_index": "38149", - "5078_index": "20525", - "5079_index": "25110", - "507_index": "20975", - "5080_index": "25176", - "5081_index": "33981", - "5082_index": "29152", - "5083_index": "40536", - "5084_index": "26131", - "5085_index": "26835", - "5086_index": "30720", - "5087_index": "22016", - "5088_index": "21757", - "5089_index": "21709", - "508_index": "30157", - "5090_index": "32566", - "5091_index": "38226", - "5092_index": "30207", - "5093_index": "22570", - "5094_index": "29243", - "5095_index": "20998", - "5096_index": "33104", - "5097_index": "20011", - "5098_index": "23673", - "5099_index": "31948", - "509_index": "35962", - "50_index": "30631", - "50_ord": "2123", - "5100_index": "28956", - "5101_index": "38470", - "5102_index": "39557", - "5103_index": "38466", - "5104_index": "22402", - "5105_index": "108", - "5106_index": "27670", - "5107_index": "23219", - "5108_index": "25670", - "5109_index": "27934", - "510_index": "28156", - "5110_index": "24444", - "5111_index": "38567", - "5112_index": "21628", - "5113_index": "24833", - "5114_index": "33642", - "5115_index": "25545", - "5116_index": "27146", - "5117_index": "38138", - "5118_index": "25632", - "5119_index": "37274", - "511_index": "23525", - "5120_index": "26767", - "5121_index": "26964", - "5122_index": "29256", - "5123_index": "21254", - "5124_index": "24863", - "5125_index": "38083", - "5126_index": "37322", - "5127_index": "25240", - "5128_index": "25605", - "5129_index": "32464", - "512_index": "28798", - "5130_index": "21317", - "5131_index": "33014", - "5132_index": "38050", - "5133_index": "24691", - "5134_index": "38415", - "5135_index": "23627", - "5136_index": "24515", - "5137_index": "26366", - "5138_index": "9675", - "5139_index": "37977", - "513_index": "33943", - "5140_index": "39314", - "5141_index": "40840", - "5142_index": "29002", - "5143_index": "27875", - "5144_index": "31934", - "5145_index": "35745", - "5146_index": "33590", - "5147_index": "30952", - "5148_index": "35825", - "5149_index": "24944", - "514_index": "21508", - "5150_index": "21367", - "5151_index": "32930", - "5152_index": "25893", - "5153_index": "23648", - "5154_index": "38192", - "5155_index": "21450", - "5156_index": "95", - "5157_index": "29392", - "5158_index": "23504", - "5159_index": "33454", - "515_index": "109", - "5160_index": "29756", - "5161_index": "35913", - "5162_index": "32806", - "5163_index": "40481", - "5164_index": "38055", - "5165_index": "33226", - "5166_index": "30636", - "5167_index": "37049", - "5168_index": "38121", - "5169_index": "98", - "516_index": "32426", - "5170_index": "26441", - "5171_index": "22240", - "5172_index": "33538", - "5173_index": "22856", - "5174_index": "20387", - "5175_index": "24330", - "5176_index": "21388", - "5177_index": "8595", - "5178_index": "21024", - "5179_index": "38191", - "517_index": "27984", - "5180_index": "36255", - "5181_index": "40655", - "5182_index": "38421", - "5183_index": "38757", - "5184_index": "38283", - "5185_index": "38134", - "5186_index": "35114", - "5187_index": "24384", - "5188_index": "26601", - "5189_index": "28126", - "518_index": "38262", - "5190_index": "35099", - "5191_index": "20559", - "5192_index": "25616", - "5193_index": "21919", - "5194_index": "24651", - "5195_index": "38745", - "5196_index": "21414", - "5197_index": "23071", - "5198_index": "30653", - "5199_index": "28448", - "519_index": "65294", - "51_index": "26102", - "51_ord": "1221", - "5200_index": "31807", - "5201_index": "27849", - "5202_index": "24464", - "5203_index": "31404", - "5204_index": "36479", - "5205_index": "40715", - "5206_index": "33600", - "5207_index": "39052", - "5208_index": "21927", - "5209_index": "23450", - "520_index": "33510", - "5210_index": "33071", - "5211_index": "30355", - "5212_index": "21595", - "5213_index": "21845", - "5214_index": "27739", - "5215_index": "36731", - "5216_index": "36345", - "5217_index": "33267", - "5218_index": "34542", - "5219_index": "32768", - "521_index": "36735", - "5220_index": "36785", - "5221_index": "32538", - "5222_index": "8230", - "5223_index": "20848", - "5224_index": "27901", - "5225_index": "30302", - "5226_index": "22079", - "5227_index": "24049", - "5228_index": "20817", - "5229_index": "27698", - "522_index": "35082", - "5230_index": "21566", - "5231_index": "28982", - "5232_index": "27524", - "5233_index": "30300", - "5234_index": "9320", - "5235_index": "33483", - "5236_index": "21780", - "5237_index": "24247", - "5238_index": "28301", - "5239_index": "23781", - "523_index": "28228", - "5240_index": "24980", - "5241_index": "36821", - "5242_index": "23081", - "5243_index": "24005", - "5244_index": "35892", - "5245_index": "20458", - "5246_index": "23048", - "5247_index": "36761", - "5248_index": "37995", - "5249_index": "20044", - "524_index": "40847", - "5250_index": "26639", - "5251_index": "28436", - "5252_index": "36176", - "5253_index": "33284", - "5254_index": "28174", - "5255_index": "40542", - "5256_index": "25288", - "5257_index": "27527", - "5258_index": "26361", - "5259_index": "26086", - "525_index": "26721", - "5260_index": "38409", - "5261_index": "20185", - "5262_index": "20960", - "5263_index": "25041", - "5264_index": "22403", - "5265_index": "35315", - "5266_index": "27424", - "5267_index": "33074", - "5268_index": "22852", - "5269_index": "21667", - "526_index": "20182", - "5270_index": "38691", - "5271_index": "24703", - "5272_index": "21200", - "5273_index": "26580", - "5274_index": "35302", - "5275_index": "24756", - "5276_index": "21643", - "5277_index": "34532", - "5278_index": "22280", - "5279_index": "32920", - "527_index": "30399", - "5280_index": "23323", - "5281_index": "38593", - "5282_index": "28205", - "5283_index": "37238", - "5284_index": "32773", - "5285_index": "20854", - "5286_index": "35889", - "5287_index": "32997", - "5288_index": "33479", - "5289_index": "38074", - "528_index": "40766", - "5290_index": "33583", - "5291_index": "21972", - "5292_index": "33743", - "5293_index": "35820", - "5294_index": "21361", - "5295_index": "34426", - "5296_index": "33005", - "5297_index": "24076", - "5298_index": "32671", - "5299_index": "36495", - "529_index": "26434", - "52_index": "26609", - "52_ord": "4975", - "5300_index": "22348", - "5301_index": "34255", - "5302_index": "26132", - "5303_index": "22841", - "5304_index": "33499", - "5305_index": "28601", - "5306_index": "24278", - "5307_index": "32536", - "5308_index": "33761", - "5309_index": "31155", - "530_index": "36281", - "5310_index": "38426", - "5311_index": "21170", - "5312_index": "31163", - "5313_index": "23784", - "5314_index": "22179", - "5315_index": "24223", - "5316_index": "32462", - "5317_index": "26052", - "5318_index": "40511", - "5319_index": "30358", - "531_index": "21330", - "5320_index": "28053", - "5321_index": "30347", - "5322_index": "25783", - "5323_index": "33406", - "5324_index": "37328", - "5325_index": "20710", - "5326_index": "21510", - "5327_index": "26164", - "5328_index": "20729", - "5329_index": "22323", - "532_index": "30879", - "5330_index": "28121", - "5331_index": "28422", - "5332_index": "38588", - "5333_index": "39616", - "5334_index": "39635", - "5335_index": "26624", - "5336_index": "20887", - "5337_index": "31903", - "5338_index": "21497", - "5339_index": "29295", - "533_index": "34103", - "5340_index": "36391", - "5341_index": "28034", - "5342_index": "20363", - "5343_index": "20439", - "5344_index": "32568", - "5345_index": "20725", - "5346_index": "28595", - "5347_index": "26869", - "5348_index": "20415", - "5349_index": "21290", - "534_index": "28950", - "5350_index": "26608", - "5351_index": "33914", - "5352_index": "29238", - "5353_index": "40515", - "5354_index": "26775", - "5355_index": "32460", - "5356_index": "25590", - "5357_index": "37145", - "5358_index": "21375", - "5359_index": "30130", - "535_index": "26292", - "5360_index": "23429", - "5361_index": "30449", - "5362_index": "20986", - "5363_index": "35747", - "5364_index": "33281", - "5365_index": "20302", - "5366_index": "22763", - "5367_index": "36776", - "5368_index": "30651", - "5369_index": "20845", - "536_index": "38597", - "5370_index": "23411", - "5371_index": "27769", - "5372_index": "33713", - "5373_index": "31821", - "5374_index": "21636", - "5375_index": "36324", - "5376_index": "26635", - "5377_index": "36820", - "5378_index": "27760", - "5379_index": "33777", - "537_index": "34502", - "5380_index": "31563", - "5381_index": "24629", - "5382_index": "22320", - "5383_index": "23611", - "5384_index": "21523", - "5385_index": "32925", - "5386_index": "38146", - "5387_index": "33831", - "5388_index": "32530", - "5389_index": "33502", - "538_index": "33738", - "5390_index": "21451", - "5391_index": "34521", - "5392_index": "35449", - "5393_index": "9353", - "5394_index": "36801", - "5395_index": "40538", - "5396_index": "26034", - "5397_index": "24188", - "5398_index": "34763", - "5399_index": "20598", - "539_index": "26631", - "53_index": "8745", - "53_ord": "4507", - "5400_index": "24471", - "5401_index": "29503", - "5402_index": "20336", - "5403_index": "23556", - "5404_index": "23486", - "5405_index": "23159", - "5406_index": "26388", - "5407_index": "22869", - "5408_index": "34", - "5409_index": "30634", - "540_index": "19996", - "5410_index": "33179", - "5411_index": "90", - "5412_index": "22766", - "5413_index": "29748", - "5414_index": "31751", - "5415_index": "39749", - "5416_index": "31068", - "5417_index": "38589", - "5418_index": "9472", - "5419_index": "21880", - "541_index": "22121", - "5420_index": "29997", - "5421_index": "38449", - "5422_index": "24079", - "5423_index": "20113", - "5424_index": "24697", - "5425_index": "36923", - "5426_index": "23457", - "5427_index": "25410", - "5428_index": "22868", - "5429_index": "20932", - "542_index": "27889", - "5430_index": "28165", - "5431_index": "39552", - "5432_index": "33147", - "5433_index": "31056", - "5434_index": "40723", - "5435_index": "27665", - "5436_index": "28192", - "5437_index": "28201", - "5438_index": "28177", - "5439_index": "28051", - "543_index": "20225", - "5440_index": "20800", - "5441_index": "29642", - "5442_index": "38480", - "5443_index": "36713", - "5444_index": "34797", - "5445_index": "39547", - "5446_index": "29032", - "5447_index": "20396", - "5448_index": "38159", - "5449_index": "38433", - "544_index": "38261", - "5450_index": "30201", - "5451_index": "27133", - "5452_index": "27714", - "5453_index": "25642", - "5454_index": "30261", - "5455_index": "27082", - "5456_index": "23731", - "5457_index": "24178", - "5458_index": "38190", - "5459_index": "21775", - "545_index": "29701", - "5460_index": "27689", - "5461_index": "29577", - "5462_index": "26893", - "5463_index": "24494", - "5464_index": "21544", - "5465_index": "35961", - "5466_index": "39627", - "5467_index": "31398", - "5468_index": "36971", - "5469_index": "34152", - "546_index": "26825", - "5470_index": "24246", - "5471_index": "26680", - "5472_index": "20240", - "5473_index": "35840", - "5474_index": "38105", - "5475_index": "38073", - "5476_index": "29987", - "5477_index": "40514", - "5478_index": "27493", - "5479_index": "24120", - "547_index": "21051", - "5480_index": "22622", - "5481_index": "27595", - "5482_index": "27257", - "5483_index": "22028", - "5484_index": "23270", - "5485_index": "29995", - "5486_index": "22616", - "5487_index": "34268", - "5488_index": "26541", - "5489_index": "36155", - "548_index": "23252", - "5490_index": "24354", - "5491_index": "26539", - "5492_index": "30755", - "5493_index": "26032", - "5494_index": "25269", - "5495_index": "21766", - "5496_index": "38406", - "5497_index": "21794", - "5498_index": "31397", - "5499_index": "26354", - "549_index": "37099", - "54_index": "39029", - "54_ord": "3344", - "5500_index": "22831", - "5501_index": "25252", - "5502_index": "39041", - "5503_index": "21746", - "5504_index": "38397", - "5505_index": "23452", - "5506_index": "25150", - "5507_index": "31291", - "5508_index": "36142", - "5509_index": "25103", - "550_index": "39537", - "5510_index": "38143", - "5511_index": "24571", - "5512_index": "30813", - "5513_index": "25856", - "5514_index": "37066", - "5515_index": "48", - "5516_index": "35044", - "5517_index": "22363", - "5518_index": "39057", - "5519_index": "24764", - "551_index": "22521", - "5520_index": "25822", - "5521_index": "39619", - "5522_index": "28189", - "5523_index": "23544", - "5524_index": "29824", - "5525_index": "35916", - "5526_index": "20160", - "5527_index": "26800", - "5528_index": "26451", - "5529_index": "24508", - "552_index": "20142", - "5530_index": "26447", - "5531_index": "25577", - "5532_index": "21543", - "5533_index": "39048", - "5534_index": "22681", - "5535_index": "32622", - "5536_index": "38078", - "5537_index": "26080", - "5538_index": "28052", - "5539_index": "28020", - "553_index": "21084", - "5540_index": "35947", - "5541_index": "35400", - "5542_index": "32404", - "5543_index": "36172", - "5544_index": "40575", - "5545_index": "20375", - "5546_index": "36130", - "5547_index": "21696", - "5548_index": "30008", - "5549_index": "20251", - "554_index": "21553", - "5550_index": "29956", - "5551_index": "28856", - "5552_index": "24868", - "5553_index": "31384", - "5554_index": "20132", - "5555_index": "33292", - "5556_index": "27308", - "5557_index": "27993", - "5558_index": "35126", - "5559_index": "124", - "555_index": "24501", - "5560_index": "30005", - "5561_index": "33308", - "5562_index": "20876", - "5563_index": "20030", - "5564_index": "183", - "5565_index": "22930", - "5566_index": "21310", - "5567_index": "28809", - "5568_index": "34106", - "5569_index": "38080", - "556_index": "34360", - "5570_index": "26974", - "5571_index": "22266", - "5572_index": "37034", - "5573_index": "20249", - "5574_index": "38887", - "5575_index": "36234", - "5576_index": "28781", - "5577_index": "25237", - "5578_index": "21448", - "5579_index": "24218", - "557_index": "9678", - "5580_index": "28504", - "5581_index": "30604", - "5582_index": "24603", - "5583_index": "20166", - "5584_index": "27491", - "5585_index": "31382", - "5586_index": "29678", - "5587_index": "35758", - "5588_index": "23625", - "5589_index": "35785", - "558_index": "31607", - "5590_index": "20474", - "5591_index": "33636", - "5592_index": "34537", - "5593_index": "27167", - "5594_index": "36157", - "5595_index": "29926", - "5596_index": "26194", - "5597_index": "22920", - "5598_index": "40717", - "5599_index": "32960", - "559_index": "35750", - "55_index": "22204", - "55_ord": "2722", - "5600_index": "21769", - "5601_index": "29492", - "5602_index": "29664", - "5603_index": "34893", - "5604_index": "36400", - "5605_index": "21488", - "5606_index": "25292", - "5607_index": "26638", - "5608_index": "39553", - "5609_index": "31348", - "560_index": "34562", - "5610_index": "24041", - "5611_index": "24734", - "5612_index": "27981", - "5613_index": "36372", - "5614_index": "38417", - "5615_index": "27583", - "5616_index": "20995", - "5617_index": "21164", - "5618_index": "21518", - "5619_index": "20511", - "561_index": "20547", - "5620_index": "32010", - "5621_index": "32999", - "5622_index": "27827", - "5623_index": "22522", - "5624_index": "26700", - "5625_index": "25504", - "5626_index": "80", - "5627_index": "27954", - "5628_index": "38754", - "5629_index": "26607", - "562_index": "27035", - "5630_index": "29038", - "5631_index": "27852", - "5632_index": "40540", - "5633_index": "24875", - "5634_index": "117", - "5635_index": "21828", - "5636_index": "33580", - "5637_index": "37239", - "5638_index": "22850", - "5639_index": "28457", - "563_index": "25949", - "5640_index": "74", - "5641_index": "24822", - "5642_index": "28908", - "5643_index": "33190", - "5644_index": "24530", - "5645_index": "39036", - "5646_index": "34384", - "5647_index": "36332", - "5648_index": "31209", - "5649_index": "110", - "564_index": "29572", - "5650_index": "25419", - "5651_index": "37040", - "5652_index": "24132", - "5653_index": "27562", - "5654_index": "25413", - "5655_index": "24509", - "5656_index": "26286", - "5657_index": "32477", - "5658_index": "33486", - "5659_index": "22635", - "565_index": "36856", - "5660_index": "35088", - "5661_index": "30624", - "5662_index": "24130", - "5663_index": "34690", - "5664_index": "38041", - "5665_index": "21703", - "5666_index": "30757", - "5667_index": "23421", - "5668_index": "40084", - "5669_index": "27664", - "566_index": "27815", - "5670_index": "22812", - "5671_index": "38420", - "5672_index": "22934", - "5673_index": "37240", - "5674_index": "39556", - "5675_index": "28907", - "5676_index": "29071", - "5677_index": "32838", - "5678_index": "36193", - "5679_index": "26522", - "567_index": "23380", - "5680_index": "25352", - "5681_index": "25512", - "5682_index": "21299", - "5683_index": "27998", - "5684_index": "35010", - "5685_index": "36361", - "5686_index": "30897", - "5687_index": "33551", - "5688_index": "33441", - "5689_index": "27820", - "568_index": "31351", - "5690_index": "37193", - "5691_index": "25995", - "5692_index": "8758", - "5693_index": "30414", - "5694_index": "36917", - "5695_index": "30522", - "5696_index": "21453", - "5697_index": "21517", - "5698_index": "26742", - "5699_index": "35938", - "569_index": "33395", - "56_index": "38383", - "56_ord": "4332", - "5700_index": "25805", - "5701_index": "24826", - "5702_index": "34091", - "5703_index": "31227", - "5704_index": "38382", - "5705_index": "21809", - "5706_index": "36382", - "5707_index": "12295", - "5708_index": "21263", - "5709_index": "24658", - "570_index": "8757", - "5710_index": "32461", - "5711_index": "27575", - "5712_index": "20973", - "5713_index": "12302", - "5714_index": "22116", - "5715_index": "25195", - "5716_index": "31143", - "5717_index": "23158", - "5718_index": "22427", - "5719_index": "26688", - "571_index": "22935", - "5720_index": "24343", - "5721_index": "22446", - "5722_index": "40157", - "5723_index": "24248", - "5724_index": "38750", - "5725_index": "38024", - "5726_index": "25564", - "5727_index": "21005", - "5728_index": "9333", - "5729_index": "33721", - "572_index": "34212", - "5730_index": "21653", - "5731_index": "21248", - "5732_index": "25286", - "5733_index": "20204", - "5734_index": "27513", - "5735_index": "23834", - "5736_index": "33515", - "5737_index": "32418", - "5738_index": "21992", - "5739_index": "25745", - "573_index": "25165", - "5740_index": "33639", - "5741_index": "20280", - "5742_index": "33464", - "5743_index": "21804", - "5744_index": "36895", - "5745_index": "33489", - "5746_index": "26438", - "5747_index": "28006", - "5748_index": "34930", - "5749_index": "28037", - "574_index": "31482", - "5750_index": "24910", - "5751_index": "38130", - "5752_index": "27216", - "5753_index": "28790", - "5754_index": "32844", - "5755_index": "36133", - "5756_index": "25366", - "5757_index": "36946", - "5758_index": "23022", - "5759_index": "36991", - "575_index": "32929", - "5760_index": "23460", - "5761_index": "30518", - "5762_index": "27745", - "5763_index": "20237", - "5764_index": "22893", - "5765_index": "36829", - "5766_index": "27870", - "5767_index": "33086", - "5768_index": "32709", - "5769_index": "32900", - "576_index": "22003", - "5770_index": "25937", - "5771_index": "20319", - "5772_index": "24344", - "5773_index": "36386", - "5774_index": "34924", - "5775_index": "19990", - "5776_index": "28063", - "5777_index": "36720", - "5778_index": "38230", - "5779_index": "25305", - "577_index": "22609", - "5780_index": "20419", - "5781_index": "39761", - "5782_index": "23723", - "5783_index": "28784", - "5784_index": "30489", - "5785_index": "33579", - "5786_index": "23092", - "5787_index": "29087", - "5788_index": "35760", - "5789_index": "26230", - "578_index": "38136", - "5790_index": "28843", - "5791_index": "38084", - "5792_index": "28938", - "5793_index": "23224", - "5794_index": "36980", - "5795_index": "33282", - "5796_index": "24433", - "5797_index": "23493", - "5798_index": "107", - "5799_index": "20342", - "579_index": "29922", - "57_index": "29241", - "57_ord": "4618", - "5800_index": "38890", - "5801_index": "23218", - "5802_index": "9350", - "5803_index": "30637", - "5804_index": "39214", - "5805_index": "65288", - "5806_index": "24085", - "5807_index": "30861", - "5808_index": "30867", - "5809_index": "26937", - "580_index": "20454", - "5810_index": "24394", - "5811_index": "30684", - "5812_index": "33853", - "5813_index": "23681", - "5814_index": "38892", - "5815_index": "40060", - "5816_index": "9733", - "5817_index": "35885", - "5818_index": "23913", - "5819_index": "38819", - "581_index": "27807", - "5820_index": "25187", - "5821_index": "38379", - "5822_index": "28170", - "5823_index": "25964", - "582_index": "39309", - "583_index": "20147", - "584_index": "21463", - "585_index": "21345", - "586_index": "32763", - "587_index": "35281", - "588_index": "34948", - "589_index": "20853", - "58_index": "29020", - "58_ord": "1177", - "590_index": "21619", - "591_index": "24813", - "592_index": "9474", - "593_index": "25004", - "594_index": "25405", - "595_index": "27531", - "596_index": "26029", - "597_index": "30186", - "598_index": "29632", - "599_index": "29733", - "59_index": "31471", - "59_ord": "638", - "5_index": "29031", - "600_index": "29947", - "601_index": "26397", - "602_index": "33948", - "603_index": "30232", - "604_index": "20881", - "605_index": "21358", - "606_index": "31216", - "607_index": "37000", - "608_index": "22905", - "609_index": "34453", - "60_index": "26017", - "60_ord": "1106", - "610_index": "34216", - "611_index": "28825", - "612_index": "24675", - "613_index": "38706", - "614_index": "32856", - "615_index": "32784", - "616_index": "23524", - "617_index": "38112", - "618_index": "38217", - "619_index": "23258", - "61_index": "23828", - "61_ord": "1157", - "620_index": "33219", - "621_index": "30106", - "622_index": "121", - "623_index": "24358", - "624_index": "35768", - "625_index": "32429", - "626_index": "21413", - "627_index": "31929", - "628_index": "23487", - "629_index": "37247", - "62_index": "27785", - "62_ord": "2871", - "630_index": "20731", - "631_index": "39745", - "632_index": "25443", - "633_index": "32852", - "634_index": "26686", - "635_index": "32448", - "636_index": "33452", - "637_index": "21442", - "638_index": "59", - "639_index": "32905", - "63_index": "36135", - "63_ord": "17", - "640_index": "22124", - "641_index": "34892", - "642_index": "32452", - "643_index": "32542", - "644_index": "33542", - "645_index": "31185", - "646_index": "36767", - "647_index": "20159", - "648_index": "24357", - "649_index": "28552", - "64_index": "22007", - "64_ord": "409", - "65072_ord": "254", - "650_index": "36393", - "65104_ord": "3754", - "65105_ord": "1238", - "65106_ord": "4443", - "65108_ord": "1350", - "65110_ord": "3881", - "651_index": "39039", - "65288_ord": "5805", - "65289_ord": "2621", - "65291_ord": "4981", - "65292_ord": "5005", - "65294_ord": "519", - "652_index": "32386", - "65374_ord": "3302", - "653_index": "21038", - "654_index": "20955", - "65509_ord": "957", - "655_index": "29298", - "656_index": "38886", - "657_index": "20177", - "658_index": "27874", - "659_index": "24425", - "65_index": "29502", - "65_ord": "2655", - "660_index": "25469", - "661_index": "23385", - "662_index": "24733", - "663_index": "29619", - "664_index": "34581", - "665_index": "21346", - "666_index": "28100", - "667_index": "23138", - "668_index": "24816", - "669_index": "24548", - "66_index": "22953", - "66_ord": "2330", - "670_index": "28363", - "671_index": "34649", - "672_index": "40702", - "673_index": "22820", - "674_index": "21058", - "675_index": "26152", - "676_index": "22114", - "677_index": "26406", - "678_index": "36418", - "679_index": "21331", - "67_index": "38469", - "67_ord": "260", - "680_index": "27935", - "681_index": "28800", - "682_index": "40521", - "683_index": "39269", - "684_index": "19981", - "685_index": "36870", - "686_index": "25186", - "687_index": "39297", - "688_index": "22438", - "689_index": "29855", - "68_index": "38161", - "68_ord": "4936", - "690_index": "26062", - "691_index": "26070", - "692_index": "30408", - "693_index": "25319", - "694_index": "27777", - "695_index": "35762", - "696_index": "28493", - "697_index": "32774", - "698_index": "32958", - "699_index": "24450", - "69_index": "30331", - "69_ord": "998", - "6_index": "24537", - "700_index": "30405", - "701_index": "24030", - "702_index": "20365", - "703_index": "36163", - "704_index": "26179", - "705_index": "30264", - "706_index": "22791", - "707_index": "26044", - "708_index": "36466", - "709_index": "23786", - "70_index": "29835", - "70_ord": "3594", - "710_index": "20976", - "711_index": "25163", - "712_index": "21322", - "713_index": "23769", - "714_index": "23803", - "715_index": "32447", - "716_index": "39564", - "717_index": "39536", - "718_index": "22870", - "719_index": "30180", - "71_index": "25484", - "71_ord": "1714", - "720_index": "20900", - "721_index": "20318", - "722_index": "40", - "723_index": "22986", - "724_index": "37154", - "725_index": "36910", - "726_index": "27028", - "727_index": "32641", - "728_index": "27526", - "729_index": "39748", - "72_index": "25652", - "72_ord": "3595", - "730_index": "38193", - "731_index": "27941", - "732_index": "93", - "733_index": "31513", - "734_index": "31726", - "735_index": "34412", - "736_index": "39286", - "737_index": "22576", - "738_index": "21435", - "739_index": "20987", - "73_index": "24774", - "73_ord": "2476", - "740_index": "22874", - "741_index": "28393", - "742_index": "8730", - "743_index": "40065", - "744_index": "20304", - "745_index": "31350", - "746_index": "21648", - "747_index": "37103", - "748_index": "30778", - "749_index": "20896", - "74_index": "30733", - "74_ord": "5640", - "750_index": "30609", - "751_index": "26702", - "752_index": "24525", - "753_index": "24405", - "754_index": "32486", - "755_index": "33134", - "756_index": "21193", - "757_index": "22329", - "758_index": "23702", - "759_index": "33983", - "75_index": "26592", - "75_ord": "1701", - "760_index": "31179", - "761_index": "31454", - "762_index": "22065", - "763_index": "26758", - "764_index": "30568", - "765_index": "20861", - "766_index": "21995", - "767_index": "29623", - "768_index": "36715", - "769_index": "21066", - "76_index": "27969", - "76_ord": "3884", - "770_index": "26342", - "771_index": "33909", - "772_index": "26500", - "773_index": "20643", - "774_index": "32938", - "775_index": "32534", - "776_index": "20599", - "777_index": "34583", - "778_index": "27803", - "779_index": "35064", - "77_index": "34115", - "77_ord": "3874", - "780_index": "28088", - "781_index": "23281", - "782_index": "30495", - "783_index": "20027", - "784_index": "27014", - "785_index": "20241", - "786_index": "36777", - "787_index": "30406", - "788_index": "39072", - "789_index": "25376", - "78_index": "26449", - "78_ord": "4498", - "790_index": "20522", - "791_index": "33541", - "792_index": "39276", - "793_index": "31381", - "794_index": "33907", - "795_index": "21647", - "796_index": "29548", - "797_index": "37094", - "798_index": "27973", - "799_index": "27867", - "79_index": "21195", - "79_ord": "2096", - "7_index": "20799", - "800_index": "36277", - "801_index": "26364", - "802_index": "36745", - "803_index": "37096", - "804_index": "30402", - "805_index": "30446", - "806_index": "29134", - "807_index": "21561", - "808_index": "29443", - "809_index": "20433", - "80_index": "24065", - "80_ord": "5626", - "810_index": "36808", - "811_index": "27883", - "812_index": "31922", - "813_index": "25746", - "814_index": "35090", - "815_index": "33096", - "816_index": "33148", - "817_index": "24536", - "818_index": "33334", - "819_index": "26967", - "81_index": "28010", - "81_ord": "3254", - "820_index": "24838", - "8211_ord": "1245", - "8212_ord": "3654", - "8213_ord": "3345", - "8216_ord": "1229", - "8217_ord": "1798", - "821_index": "31949", - "8220_ord": "1023", - "8221_ord": "1266", - "822_index": "35755", - "8230_ord": "5222", - "823_index": "22661", - "8240_ord": "3501", - "8242_ord": "4146", - "824_index": "20399", - "8251_ord": "3220", - "825_index": "23616", - "826_index": "29234", - "827_index": "12308", - "828_index": "39118", - "829_index": "22656", - "82_index": "24696", - "82_ord": "1643", - "830_index": "32791", - "831_index": "20347", - "832_index": "36848", - "833_index": "22159", - "834_index": "21792", - "835_index": "33298", - "836_index": "25401", - "837_index": "29287", - "838_index": "23454", - "839_index": "25298", - "83_index": "36315", - "83_ord": "4958", - "840_index": "24148", - "841_index": "23475", - "842_index": "32617", - "843_index": "40547", - "844_index": "26873", - "8451_ord": "877", - "845_index": "36286", - "846_index": "37108", - "847_index": "29305", - "848_index": "20984", - "849_index": "34451", - "84_index": "25447", - "84_ord": "3670", - "850_index": "21150", - "851_index": "21551", - "852_index": "40120", - "853_index": "24296", - "8544_ord": "4732", - "8545_ord": "2421", - "8546_ord": "4246", - "8547_ord": "4400", - "854_index": "38393", - "855_index": "39068", - "856_index": "23075", - "857_index": "27978", - "858_index": "32434", - "8594_ord": "4337", - "8595_ord": "5177", - "859_index": "39293", - "85_index": "39588", - "85_ord": "114", - "860_index": "27886", - "861_index": "29377", - "862_index": "35946", - "863_index": "26543", - "864_index": "22103", - "865_index": "38471", - "866_index": "25424", - "867_index": "34615", - "868_index": "21147", - "869_index": "21578", - "86_index": "33659", - "86_ord": "4932", - "870_index": "29224", - "8712_ord": "4491", - "871_index": "24754", - "872_index": "20616", - "8730_ord": "742", - "873_index": "25975", - "8745_ord": "53", - "874_index": "30422", - "8757_ord": "570", - "8758_ord": "5692", - "875_index": "35009", - "876_index": "21329", - "877_index": "8451", - "878_index": "20323", - "879_index": "28373", - "87_index": "39044", - "87_ord": "3512", - "8800_ord": "3013", - "8804_ord": "917", - "8805_ord": "3507", - "880_index": "25721", - "881_index": "20928", - "882_index": "23822", - "883_index": "28071", - "884_index": "21253", - "885_index": "24726", - "886_index": "38133", - "887_index": "35801", - "888_index": "39060", - "889_index": "34067", - "88_index": "34074", - "88_ord": "2116", - "890_index": "31104", - "891_index": "32716", - "892_index": "22129", - "893_index": "30136", - "894_index": "20035", - "895_index": "38253", - "896_index": "33453", - "897_index": "36330", - "898_index": "26999", - "899_index": "23569", - "89_index": "36759", - "89_ord": "2708", - "8_index": "20267", - "900_index": "26646", - "901_index": "21242", - "902_index": "30126", - "903_index": "21883", - "904_index": "38381", - "905_index": "9318", - "906_index": "31567", - "907_index": "25287", - "908_index": "38391", - "909_index": "23433", - "90_index": "24237", - "90_ord": "5411", - "910_index": "32469", - "911_index": "35811", - "912_index": "30242", - "913_index": "31686", - "914_index": "34394", - "915_index": "40482", - "916_index": "22799", - "917_index": "8804", - "918_index": "28536", - "919_index": "12303", - "91_index": "9473", - "91_ord": "1011", - "920_index": "34434", - "921_index": "28789", - "922_index": "20221", - "923_index": "39123", - "924_index": "22260", - "925_index": "37169", - "926_index": "20991", - "927_index": "22549", - "928_index": "29141", - "929_index": "23916", - "92_index": "28267", - "92_ord": "3725", - "930_index": "37300", - "9312_ord": "4677", - "9313_ord": "2130", - "9314_ord": "1622", - "9315_ord": "1744", - "9316_ord": "1507", - "9317_ord": "4000", - "9318_ord": "905", - "9319_ord": "2433", - "931_index": "23402", - "9320_ord": "5234", - "9321_ord": "933", - "932_index": "30353", - "9332_ord": "4777", - "9333_ord": "5728", - "9334_ord": "2972", - "933_index": "9321", - "9342_ord": "3795", - "9343_ord": "2337", - "9344_ord": "1619", - "9346_ord": "305", - "9347_ord": "2960", - "9348_ord": "15", - "9349_ord": "2907", - "934_index": "32032", - "9350_ord": "5802", - "9352_ord": "3629", - "9353_ord": "5393", - "9354_ord": "4990", - "935_index": "38396", - "936_index": "38225", - "937_index": "28418", - "938_index": "28140", - "939_index": "22013", - "93_index": "19987", - "93_ord": "732", - "940_index": "34850", - "941_index": "27833", - "942_index": "37217", - "943_index": "36825", - "944_index": "29566", - "945_index": "28698", - "945_ord": "4119", - "946_index": "28952", - "946_ord": "3641", - "9472_ord": "5418", - "9473_ord": "91", - "9474_ord": "592", - "947_index": "25293", - "9484_ord": "1583", - "9488_ord": "1715", - "948_index": "29863", - "949_index": "30196", - "94_index": "23453", - "94_ord": "1295", - "950_index": "22914", - "951_index": "33922", - "952_index": "23167", - "953_index": "38601", - "954_index": "32609", - "955_index": "29140", - "956_index": "25311", - "957_index": "65509", - "9585_ord": "2669", - "958_index": "37039", - "959_index": "20016", - "95_index": "21256", - "95_ord": "5156", - "960_index": "26987", - "961_index": "30058", - "962_index": "29076", - "9632_ord": "1876", - "9633_ord": "2965", - "963_index": "26880", - "964_index": "22235", - "9650_ord": "2543", - "9651_ord": "4584", - "965_index": "40529", - "966_index": "32521", - "9670_ord": "2610", - "9671_ord": "2767", - "9675_ord": "5138", - "9678_ord": "557", - "9679_ord": "1679", - "967_index": "40831", - "968_index": "20054", - "969_index": "38639", - "96_index": "39612", - "96_ord": "4969", - "970_index": "21950", - "971_index": "177", - "972_index": "26816", - "9733_ord": "5816", - "9734_ord": "3808", - "973_index": "27877", - "974_index": "26564", - "975_index": "33529", - "976_index": "20857", - "977_index": "26722", - "978_index": "20135", - "979_index": "33390", - "97_index": "20384", - "97_ord": "1612", - "980_index": "30699", - "981_index": "30115", - "982_index": "32491", - "983_index": "31697", - "984_index": "31109", - "985_index": "29626", - "986_index": "31908", - "987_index": "39317", - "988_index": "24161", - "989_index": "30775", - "98_index": "20840", - "98_ord": "5169", - "990_index": "30828", - "991_index": "35767", - "992_index": "22871", - "993_index": "38541", - "994_index": "35799", - "995_index": "24149", - "996_index": "25774", - "997_index": "28327", - "998_index": "69", - "999_index": "40527", - "99_index": "22942", - "99_ord": "4433", - "9_index": "37237" -} \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/ord_map_en.json b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/ord_map_en.json deleted file mode 100644 index 2e081c29b..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/char_dict/ord_map_en.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "0_index": "54", - "100_ord": "8", - "101_ord": "20", - "102_ord": "28", - "103_ord": "14", - "104_ord": "19", - "105_ord": "26", - "106_ord": "6", - "107_ord": "17", - "108_ord": "10", - "109_ord": "12", - "10_index": "108", - "110_ord": "29", - "111_ord": "34", - "112_ord": "15", - "113_ord": "5", - "114_ord": "33", - "115_ord": "23", - "116_ord": "31", - "117_ord": "21", - "118_ord": "2", - "119_ord": "4", - "11_index": "56", - "120_ord": "1", - "121_ord": "16", - "122_ord": "3", - "12_index": "109", - "13_index": "53", - "14_index": "103", - "15_index": "112", - "16_index": "121", - "17_index": "107", - "18_index": "97", - "19_index": "104", - "1_index": "120", - "20_index": "101", - "21_index": "117", - "22_index": "51", - "23_index": "115", - "24_index": "50", - "25_index": "99", - "26_index": "105", - "27_index": "48", - "28_index": "102", - "29_index": "110", - "2_index": "118", - "30_index": "98", - "31_index": "116", - "32_index": "57", - "33_index": "114", - "34_index": "111", - "35_index": "49", - "3_index": "122", - "48_ord": "27", - "49_ord": "35", - "4_index": "119", - "50_ord": "24", - "51_ord": "22", - "52_ord": "7", - "53_ord": "13", - "54_ord": "0", - "55_ord": "9", - "56_ord": "11", - "57_ord": "32", - "5_index": "113", - "6_index": "106", - "7_index": "52", - "8_index": "100", - "97_ord": "18", - "98_ord": "30", - "99_ord": "25", - "9_index": "55" -} \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/images/.keep b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data/images/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/__init__.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/__init__.py deleted file mode 100644 index 5ca4bc62f..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -## @Time : 17-9-22 涓嬪崍1:39 -# @Author : Luo Yao -# @Site : http://github.com/TJCVRS -# @File : __init__.py.py -# @IDE: PyCharm Community Edition \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/convert_ic03.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/convert_ic03.py deleted file mode 100644 index ba4cea2c7..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/convert_ic03.py +++ /dev/null @@ -1,174 +0,0 @@ -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################## -# convert xml-style of annotations -# to (image_name, label) pairs in a -# text file -########################################## - - - - - -from PIL import Image -import numpy as np -from xml.etree import ElementTree as ET -import argparse -import os - - -def init_args(): - parser = argparse.ArgumentParser('') - parser.add_argument('-d', '--dataset_dir', type=str, default='./', - help='path to original images') - parser.add_argument('-x', '--xml_file', type=str, default='test.xml', - help='Directory where character dictionaries for the dataset were stored') - parser.add_argument('-o', '--output_dir', type=str, default='./processed', - help='Directory where ord map dictionaries for the dataset were stored') - - parser.add_argument('-a', '--output_annotation', type=str, default='./annotation.txt', - help='Directory where ord map dictionaries for the dataset were stored') - - return parser.parse_args() - - -def xml_to_dict(xml_file, save_file=False): - tree = ET.parse(xml_file) - root = tree.getroot() - - children = root.getchildren() - imgs_labels = [] - - for ch in children: - im_label = {} - - for ch01 in ch.getchildren(): - if ch01.tag in 'taggedRectangles': - # multiple children - rect_list = [] - # rect = {} - for ch02 in ch01.getchildren(): - rect = {} - rect['location'] = ch02.attrib - rect['label'] = ch02.getchildren()[0].text - # print(rect['label']) - rect_list.append(rect) - # print("number of rect : ", len(rect_list)) - im_label['rect'] = rect_list - else: - im_label[ch01.tag] = ch01.text - imgs_labels.append(im_label) - - if save_file: - np.save("annotation_train.npy", imgs_labels) - - return imgs_labels - - -def image_crop_save(image, location, output_dir): - '''crop image with location (h,w,x,y) - save cropped image to output directory - - ''' - # avoid negative value of coordinates in annotation - start_x = np.maximum(location[2],0) - end_x = start_x + location[1] - start_y = np.maximum(location[3],0) - end_y = start_y + location[0] - print("image array shape :{}".format(image.shape)) - print("crop region ", start_x, end_x, start_y, end_y) - if len(image.shape) == 3: - cropped = image[start_y:end_y, start_x:end_x, :] - else: - cropped = image[start_y:end_y, start_x:end_x] - im = Image.fromarray(np.uint8(cropped)) - im.save(output_dir) - - -def convert(): - args = init_args() - if not os.path.exists(args.dataset_dir): - raise ValueError("dataset_dir :{ } does not exist".format(args.dataset_dir)) - - if not os.path.exists(args.xml_file): - raise ValueError("xml_file :{ } does not exist".format(args.xml_file)) - - if not os.path.exists(args.output_dir): - os.makedirs(args.output_dir) - - ims_labels_dict = xml_to_dict(args.xml_file, True) - num_images = len(ims_labels_dict) - annotation_list = [] - print("Converting annotation, {} images in total ".format(num_images)) - for i in range(num_images): - img_label = ims_labels_dict[i] - image_name = img_label['imageName'] - rects = img_label['rect'] - ext = image_name.split('.')[-1] - name = image_name[:-(len(ext)+1)] - - fullpath = os.path.join(args.dataset_dir, image_name) - im_array = np.asarray(Image.open(fullpath)) - print("processing image: {}".format(image_name)) - for j in range(len(rects)): - rect = rects[j] - location = rect['location'] - h = int(float(location['height'])) - w = int(float(location['width'])) - x = int(float(location['x'])) - y = int(float(location['y'])) - label = rect['label'] - loc = [h, w, x, y] - output_name = name.replace("/","_") + "_" + str(j) + "_" + label + '.' + ext - output_name = output_name.replace(",","") - output_file = os.path.join(args.output_dir, output_name) - - image_crop_save(im_array, loc, output_file) - ann = output_name + "," + label + ',' - annotation_list.append(ann) - - ann_file = args.output_annotation - - with open(ann_file, 'w') as f: - for line in annotation_list: - txt = line + '\n' - f.write(txt) - - -if __name__ == "__main__": - convert() - - - - - - - - - diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/convert_iiit5k.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/convert_iiit5k.py deleted file mode 100644 index 0d4197aaa..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/convert_iiit5k.py +++ /dev/null @@ -1,97 +0,0 @@ -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -############################################### -# convert annotation ofg test data to a text -# file -# -# load testdata -# testdata.mat structure -# test[:][0] : image name -# test[:][1] : label -# test[:][2] : 50 lexicon -# test[:][3] : 1000 lexicon -############################################## - - -from scipy import io -import numpy as np -import argparse - - -def init_args(): - parser = argparse.ArgumentParser('') - parser.add_argument('-m', '--mat_file', type=str, default='testdata.mat', - help='Directory where character dictionaries for the dataset were stored') - parser.add_argument('-o', '--output_dir', type=str, default='./processed', - help='Directory where ord map dictionaries for the dataset were stored') - - parser.add_argument('-a', '--output_annotation', type=str, default='./annotation.txt', - help='Directory where ord map dictionaries for the dataset were stored') - - return parser.parse_args() - - - - -def mat_to_list(mat_file): - ann_ori = io.loadmat(mat_file) - testdata = ann_ori['testdata'][0] - - ann_output = [] - for elem in testdata: - img_name = elem[0][0] - label = elem[1][0] - print('image name ', img_name, 'label: ', label) - ann = img_name+',' + label - ann_output.append(ann) - return ann_output - -def convert(): - - - args = init_args() - - ann_list = mat_to_list(args.mat_file) - - print("output ann : ",args.output_annotation) - ann_file = args.output_annotation - with open(ann_file, 'w') as f: - for line in ann_list: - txt = line + '\n' - f.write(txt) - - - -if __name__ == "__main__": - convert() - - - - - diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/convert_svt.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/convert_svt.py deleted file mode 100644 index 18dbcce51..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/convert_svt.py +++ /dev/null @@ -1,194 +0,0 @@ -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################## -# convert xml-style of annotations -# to (image_name, label) pairs in a -# text file -########################################## - - - -from PIL import Image -import numpy as np -from xml.etree import ElementTree as ET -import argparse -import os - - -def init_args(): - parser = argparse.ArgumentParser('') - parser.add_argument('-d', '--dataset_dir', type=str,default='./', - help='Directory containing test_features.tfrecords') - parser.add_argument('-x', '--xml_file', type=str,default='test.xml', - help='Directory where character dictionaries for the dataset were stored') - parser.add_argument('-o', '--output_dir', type=str,default='./processed', - help='Directory where ord map dictionaries for the dataset were stored') - parser.add_argument('-a', '--output_annotation', type=str,default='./annotation.txt', - help='Directory where ord map dictionaries for the dataset were stored') - parser.add_argument('-l', '--output_lexicon', type=str,default='./lexicon.txt', - help='Directory where ord map dictionaries for the dataset were stored') - return parser.parse_args() - - - -def xml_to_dict(xml_file, save_file=False): - - tree = ET.parse(xml_file) - root = tree.getroot() - - children = root.getchildren() - imgs_labels = [] - - for ch in children: - im_label = {} - - for ch01 in ch.getchildren(): - if ch01.tag in "address": - continue - elif ch01.tag in 'taggedRectangles': - # multiple children - rect_list = [] - #rect = {} - for ch02 in ch01.getchildren(): - rect = {} - rect['location'] = ch02.attrib - rect['label'] = ch02.getchildren()[0].text - #print(rect['label']) - rect_list.append(rect) - #print("number of rect : ", len(rect_list)) - im_label['rect'] = rect_list - else: - im_label[ch01.tag] = ch01.text - imgs_labels.append(im_label) - - if save_file: - np.save("annotation_train.npy",imgs_labels) - - return imgs_labels - - -def image_crop_save(image,location, output_dir): - '''crop image with location (h,w,x,y) - save cropped image to output directory - - ''' - start_x = location[2] - end_x = start_x + location[1] - start_y = location[3] - if start_y<0: - start_y=0 - end_y = start_y + location[0] - #print("image array shape :{}".format(image.shape)) - #print("crop region ", start_x, end_x,start_y,end_y) - if len(image.shape)==3: - cropped = image[start_y:end_y,start_x:end_x,:] - else: - cropped = image[start_y:end_y,start_x:end_x] - im = Image.fromarray(np.uint8(cropped)) - im.save(output_dir) - - -def convert(): - args = init_args() - if not os.path.exists(args.dataset_dir): - raise ValueError("dataset_dir :{ } does not exist".format(args.dataset_dir)) - - if not os.path.exists(args.xml_file): - raise ValueError("xml_file :{ } does not exist".format(args.xml_file)) - - if not os.path.exists(args.output_dir): - os.makedirs(args.output_dir) - - ims_labels_dict = xml_to_dict(args.xml_file,True) - num_images = len(ims_labels_dict) - lexicon_list = [] - annotation_list = [] - print("Converting annotation, {} images in total ".format(num_images)) - for i in range(num_images): - img_label = ims_labels_dict[i] - image_name = img_label['imageName'] - lex = img_label['lex'] - rects = img_label['rect'] - name, ext = image_name.split('.') - name = name.replace('/','_') - fullpath = os.path.join(args.dataset_dir,image_name) - im_array = np.asarray(Image.open(fullpath)) - lexicon_list.append(lex) - print("processing image: {}".format(image_name)) - for j in range(len(rects)): - rect = rects[j] - location = rect['location'] - h = int(location['height']) - w = int(location['width']) - x = int(location['x']) - y = int(location['y']) - label = rect['label'] - loc = [h,w,x,y] - output_name = name+"_"+str(j)+"_"+label+'.'+ext - output_file = os.path.join(args.output_dir,output_name) - - image_crop_save(im_array,loc,output_file) - ann = output_name+","+label+','+str(i) - print(ann) - annotation_list.append(ann) - - ann_file = args.output_annotation - - with open(ann_file,'w') as f: - for line in annotation_list: - txt = line+'\n' - f.write(txt) - - - -if __name__=="__main__": - - convert() - - - - - - - - - - - - - - - - - - - - -#xml_to_dict('test.xml') - diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/preprocess_ic03.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/preprocess_ic03.py deleted file mode 100644 index 9eef1f4c6..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/preprocess_ic03.py +++ /dev/null @@ -1,101 +0,0 @@ -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import argparse - - - -def init_args(): - parser = argparse.ArgumentParser('') - parser.add_argument('-s', '--src_ann', type=str, default='annotation.txt', - help='path to original annotation ') - parser.add_argument('-o', '--dst_ann', type=str, default='processed_annotation.txt', - help='path to filtered annotation') - - - return parser.parse_args() - - - -def is_valid_char(ch): - ch_ord = ord(ch) - - ord_0 = ord('0') - ord_9 = ord('9') - ord_a = ord('a') - ord_z = ord('z') - - if (ch_ord>=ord_0 and ch_ord<=ord_9) or (ch_ord>=ord_a and ch_ord<=ord_z): - return True - else: - return False - -def get_abnormal_list(ann_list): - abn_list = [] - for ann in ann_list: - label = ann.split(',')[1] - label = label.strip().lower() - - if len(label)<3: - abn_list.append(ann) - continue - - for l in label: - flag = is_valid_char(l) - if not flag: - abn_list.append(ann) - #print(ann) - break - print("number of abnormal annotation :", len(abn_list)) - return abn_list - - - -def filter(): - - args = init_args() - - ann_file = open(args.src_ann,'r') - annotation_list = [line.strip("\n") for line in ann_file.readlines()] - ann_file.close() - - abn_list = get_abnormal_list(annotation_list) - clean_list = [line for line in annotation_list if line not in abn_list] - print("number of annotation after filtering :{}".format(len(clean_list))) - - output = args.dst_ann - with open(output,'w') as f: - for line in clean_list: - line = line +'\n' - f.write(line) - - - - -if __name__=="__main__": - filter() \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/preprocess_ic13.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/preprocess_ic13.py deleted file mode 100644 index a484773b8..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/preprocess_ic13.py +++ /dev/null @@ -1,82 +0,0 @@ -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import argparse - - -path="./datasets/2013/Challenge2_Test_Task3_GT.txt" -ann_file = open(path,'r') - -annotation_list = [line.strip("\n") for line in ann_file.readlines()] - - -def is_valid_char(ch): - ch_ord = ord(ch) - - ord_0 = ord('0') - ord_9 = ord('9') - ord_a = ord('a') - ord_z = ord('z') - - if (ch_ord>=ord_0 and ch_ord<=ord_9) or (ch_ord>=ord_a and ch_ord<=ord_z): - return True - else: - return False - -def get_abnormal_list(ann_list): - abn_list = [] - for ann in ann_list: - label = ann.split(',')[1] - label = label.strip().lower() - for l in label: - flag = is_valid_char(l) - if not flag: - abn_list.append(ann) - print(ann) - break - print("number of abnormal annotation :", len(abn_list)) - return abn_list - - - -path="./datasets/2013/Challenge2_Test_Task3_GT.txt" -ann_file = open(path,'r') - -annotation_list = [line.strip("\n") for line in ann_file.readlines()] -ann_file.close() - -abn_list = get_abnormal_list(annotation_list) - -path="./datasets/2013/processed_annotation.txt" - -clean_list = [line for line in annotation_list if line not in abn_list] - -with open(path,'w') as f: - for line in clean_list: - line = line +'\n' - f.write(line) diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/shadownet_data_feed_pipline.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/shadownet_data_feed_pipline.py deleted file mode 100644 index 84792350d..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/shadownet_data_feed_pipline.py +++ /dev/null @@ -1,318 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 19-2-26 涓嬪崍9:03 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : shadownet_data_feed_pipline.py -# @IDE: PyCharm -""" -Synth90k dataset feed pipline -""" -import os -import os.path as ops -import random -import time - -import glob -import glog as log -import tqdm -import tensorflow as tf - -from config import global_config -from local_utils import establish_char_dict -from data_provider import tf_io_pipline_fast_tools - -CFG = global_config.cfg - - -class CrnnDataProducer(object): - """ - Convert raw image file into tfrecords - """ - def __init__(self, dataset_dir, char_dict_path=None, ord_map_dict_path=None, - writer_process_nums=4): - """ - init crnn data producer - :param dataset_dir: image dataset root dir - :param char_dict_path: char dict path - :param ord_map_dict_path: ord map dict path - :param writer_process_nums: the number of writer process - """ - if not ops.exists(dataset_dir): - raise ValueError('Dataset dir {:s} not exist'.format(dataset_dir)) - - # Check image source data - self._dataset_dir = dataset_dir - self._train_annotation_file_path = ops.join(dataset_dir, 'annotation_train.txt') - self._test_annotation_file_path = ops.join(dataset_dir, 'annotation_test.txt') - self._val_annotation_file_path = ops.join(dataset_dir, 'annotation_val.txt') - self._lexicon_file_path = ops.join(dataset_dir, 'lexicon.txt') - self._char_dict_path = char_dict_path - self._ord_map_dict_path = ord_map_dict_path - self._writer_process_nums = writer_process_nums - - if not self._is_source_data_complete(): - raise ValueError('Source image data is not complete, ' - 'please check if one of the image folder ' - 'or index file is not exist') - - # Init training example information - self._lexicon_list = [] - self._train_sample_infos = [] - self._test_sample_infos = [] - self._val_sample_infos = [] - self._init_dataset_sample_info() - - # Check if need generate char dict map - if char_dict_path is None or ord_map_dict_path is None: - os.makedirs('./data/char_dict', exist_ok=True) - self._char_dict_path = ops.join('./data/char_dict', 'char_dict.json') - self._ord_map_dict_path = ops.join('./data/char_dict', 'ord_map.json') - self._generate_char_dict() - - def generate_tfrecords(self, save_dir): - """ - Generate tensorflow records file - :param save_dir: tensorflow records save dir - :return: - """ - # make save dirs - os.makedirs(save_dir, exist_ok=True) - - # generate training example tfrecords - log.info('Generating training sample tfrecords...') - t_start = time.time() - - tfrecords_writer = tf_io_pipline_fast_tools.CrnnFeatureWriter( - annotation_infos=self._train_sample_infos, - lexicon_infos=self._lexicon_list, - char_dict_path=self._char_dict_path, - ord_map_dict_path=self._ord_map_dict_path, - tfrecords_save_dir=save_dir, - writer_process_nums=self._writer_process_nums, - dataset_flag='train' - ) - tfrecords_writer.run() - - log.info('Generate training sample tfrecords complete, cost time: {:.5f}'.format(time.time() - t_start)) - - # generate val example tfrecords - log.info('Generating validation sample tfrecords...') - t_start = time.time() - - tfrecords_writer = tf_io_pipline_fast_tools.CrnnFeatureWriter( - annotation_infos=self._val_sample_infos, - lexicon_infos=self._lexicon_list, - char_dict_path=self._char_dict_path, - ord_map_dict_path=self._ord_map_dict_path, - tfrecords_save_dir=save_dir, - writer_process_nums=self._writer_process_nums, - dataset_flag='val' - ) - tfrecords_writer.run() - - log.info('Generate validation sample tfrecords complete, cost time: {:.5f}'.format(time.time() - t_start)) - - # generate test example tfrecords - log.info('Generating testing sample tfrecords....') - t_start = time.time() - - tfrecords_writer = tf_io_pipline_fast_tools.CrnnFeatureWriter( - annotation_infos=self._test_sample_infos, - lexicon_infos=self._lexicon_list, - char_dict_path=self._char_dict_path, - ord_map_dict_path=self._ord_map_dict_path, - tfrecords_save_dir=save_dir, - writer_process_nums=self._writer_process_nums, - dataset_flag='test' - ) - tfrecords_writer.run() - - log.info('Generate testing sample tfrecords complete, cost time: {:.5f}'.format(time.time() - t_start)) - - return - - def _is_source_data_complete(self): - """ - Check if source data complete - :return: - """ - return \ - ops.exists(self._train_annotation_file_path) and ops.exists(self._val_annotation_file_path) \ - and ops.exists(self._test_annotation_file_path) and ops.exists(self._lexicon_file_path) - - def _init_dataset_sample_info(self): - """ - organize dataset sample information, read all the lexicon information in lexicon list. - Train, test, val sample information are lists like - [(image_absolute_path_1, image_lexicon_index_1), (image_absolute_path_2, image_lexicon_index_2), ...] - :return: - """ - # establish lexicon list - log.info('Start initialize lexicon information list...') - num_lines = sum(1 for _ in open(self._lexicon_file_path, 'r')) - with open(self._lexicon_file_path, 'r', encoding='utf-8') as file: - for line in tqdm.tqdm(file, total=num_lines): - self._lexicon_list.append(line.rstrip('\r').rstrip('\n')) - - # establish train example info - log.info('Start initialize train sample information list...') - num_lines = sum(1 for _ in open(self._train_annotation_file_path, 'r')) - with open(self._train_annotation_file_path, 'r', encoding='utf-8') as file: - for line in tqdm.tqdm(file, total=num_lines): - - image_name, label_index = line.rstrip('\r').rstrip('\n').split(' ') - image_path = ops.join(self._dataset_dir, image_name) - label_index = int(label_index) - - if not ops.exists(image_path): - raise ValueError('Example image {:s} not exist'.format(image_path)) - - self._train_sample_infos.append((image_path, label_index)) - - # establish val example info - log.info('Start initialize validation sample information list...') - num_lines = sum(1 for _ in open(self._val_annotation_file_path, 'r')) - with open(self._val_annotation_file_path, 'r', encoding='utf-8') as file: - for line in tqdm.tqdm(file, total=num_lines): - image_name, label_index = line.rstrip('\r').rstrip('\n').split(' ') - image_path = ops.join(self._dataset_dir, image_name) - label_index = int(label_index) - - if not ops.exists(image_path): - raise ValueError('Example image {:s} not exist'.format(image_path)) - - self._val_sample_infos.append((image_path, label_index)) - - # establish test example info - log.info('Start initialize testing sample information list...') - num_lines = sum(1 for _ in open(self._test_annotation_file_path, 'r')) - with open(self._test_annotation_file_path, 'r', encoding='utf-8') as file: - for line in tqdm.tqdm(file, total=num_lines): - image_name, label_index = line.rstrip('\r').rstrip('\n').split(' ') - image_path = ops.join(self._dataset_dir, image_name) - label_index = int(label_index) - - if not ops.exists(image_path): - raise ValueError('Example image {:s} not exist'.format(image_path)) - - self._test_sample_infos.append((image_path, label_index)) - - def _generate_char_dict(self): - """ - generate the char dict and ord map dict json file according to the lexicon list. - gather all the single characters used in lexicon list. - :return: - """ - char_lexicon_set = set() - for lexcion in self._lexicon_list: - for s in lexcion: - char_lexicon_set.add(s) - - log.info('Char set length: {:d}'.format(len(char_lexicon_set))) - - char_lexicon_list = list(char_lexicon_set) - char_dict_builder = establish_char_dict.CharDictBuilder() - char_dict_builder.write_char_dict(char_lexicon_list, save_path=self._char_dict_path) - char_dict_builder.map_ord_to_index(char_lexicon_list, save_path=self._ord_map_dict_path) - - log.info('Write char dict map complete') - - -class CrnnDataFeeder(object): - """ - Read training examples from tfrecords for crnn model - """ - def __init__(self, dataset_dir, char_dict_path, ord_map_dict_path, flags='train'): - """ - crnn net dataset io pip line - :param dataset_dir: the root dir of crnn dataset - :param char_dict_path: json file path which contains the map relation - between ord value and single character - :param ord_map_dict_path: json file path which contains the map relation - between int index value and char ord value - :param flags: flag to determinate for whom the data feeder was used - """ - self._dataset_dir = dataset_dir - - self._tfrecords_dir = ops.join(dataset_dir, 'tfrecords') - if not ops.exists(self._tfrecords_dir): - raise ValueError('{:s} not exist, please check again'.format(self._tfrecords_dir)) - - self._dataset_flags = flags.lower() - if self._dataset_flags not in ['train', 'test', 'val']: - raise ValueError('flags of the data feeder should be \'train\', \'test\', \'val\'') - - self._char_dict_path = char_dict_path - self._ord_map_dict_path = ord_map_dict_path - self._tfrecords_io_reader = tf_io_pipline_fast_tools.CrnnFeatureReader( - char_dict_path=self._char_dict_path, ord_map_dict_path=self._ord_map_dict_path) - self._tfrecords_io_reader.dataset_flags = self._dataset_flags - - def sample_counts(self): - """ - use tf records iter to count the total sample counts of all tfrecords file - :return: int: sample nums - """ - tfrecords_file_paths = glob.glob('{:s}/{:s}*.tfrecords'.format(self._tfrecords_dir, self._dataset_flags)) - counts = 0 - - for record in tfrecords_file_paths: - counts += sum(1 for _ in tf.python_io.tf_record_iterator(record)) - - return counts - - def inputs(self, batch_size): - """ - Supply the batched data for training, testing and validation. For training and validation - this function will run in a infinite loop until user end it outside of the function. - For testing this function will raise an tf.errors.OutOfRangeError when reach the end of - the dataset. User may catch this exception to terminate a loop. - :param batch_size: - :return: A tuple (images, labels, image_paths), where: - * images is a float tensor with shape [batch_size, H, W, C] - in the range [-1.0, 1.0]. - * labels is an sparse tensor with shape [batch_size, None] with the true label - * image_paths is an tensor with shape [batch_size] with the image's absolute file path - """ - - tfrecords_file_paths = glob.glob('{:s}/{:s}*.tfrecords'.format(self._tfrecords_dir, self._dataset_flags)) - - if not tfrecords_file_paths: - raise ValueError('Dataset does not contain any tfrecords for {:s}'.format(self._dataset_flags)) - - random.shuffle(tfrecords_file_paths) - - return self._tfrecords_io_reader.inputs( - tfrecords_path=tfrecords_file_paths, - batch_size=batch_size, - num_threads=CFG.TRAIN.CPU_MULTI_PROCESS_NUMS - ) diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/tf_io_pipline_fast_tools.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/tf_io_pipline_fast_tools.py deleted file mode 100644 index 372434a80..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/data_provider/tf_io_pipline_fast_tools.py +++ /dev/null @@ -1,592 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 19-3-21 涓嬪崍3:03 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : tf_io_pipline_fast_tools.py -# @IDE: PyCharm -""" -Efficient tfrecords writer interface -""" -import os -import os.path as ops -from multiprocessing import Manager -from multiprocessing import Process -import time - -#import cv2 -import glog as log -import numpy as np -import tensorflow as tf -import tqdm - -from PIL import Image - - -from config import global_config -from local_utils import establish_char_dict - -CFG = global_config.cfg - -_SAMPLE_INFO_QUEUE = Manager().Queue() -_SENTINEL = ("", []) - - -def _int64_feature(value): - """ - Wrapper for inserting int64 features into Example proto. - :param value: - :return: - """ - if not isinstance(value, list): - value = [value] - value_tmp = [] - is_int = True - for val in value: - if not isinstance(val, int): - is_int = False - value_tmp.append(int(float(val))) - if not is_int: - value = value_tmp - return tf.train.Feature(int64_list=tf.train.Int64List(value=value)) - - -def _float_feature(value): - """ - Wrapper for inserting float features into Example proto. - :param value: - :return: - """ - if not isinstance(value, list): - value = [value] - value_tmp = [] - is_float = True - for val in value: - if not isinstance(val, int): - is_float = False - value_tmp.append(float(val)) - if is_float is False: - value = value_tmp - return tf.train.Feature(float_list=tf.train.FloatList(value=value)) - - -def _bytes_feature(value): - """ - Wrapper for inserting bytes features into Example proto. - :param value: - :return: - """ - if not isinstance(value, bytes): - if not isinstance(value, list): - value = value.encode('utf-8') - else: - value = [val.encode('utf-8') for val in value] - if not isinstance(value, list): - value = [value] - return tf.train.Feature(bytes_list=tf.train.BytesList(value=value)) - - -def _is_valid_jpg_file(image_path): - """ - - :param image_path: - :return: - """ - - if not ops.exists(image_path): - return False - - file = open(image_path, 'rb') - data = file.read(11) - if data[:4] != '\xff\xd8\xff\xe0' and data[:4] != '\xff\xd8\xff\xe1': - file.close() - return False - if data[6:] != 'JFIF\0' and data[6:] != 'Exif\0': - file.close() - return False - file.close() - - file = open(image_path, 'rb') - file.seek(-2, 2) - if file.read() != '\xff\xd9': - file.close() - return False - - file.close() - - return True - - - -def _write_tfrecords(tfrecords_writer): - """ - - :param tfrecords_writer: - :return: - """ - sess = tf.Session() - - while True: - sample_info = _SAMPLE_INFO_QUEUE.get() - - if sample_info == _SENTINEL: - log.info('Process {:d} finished writing work'.format(os.getpid())) - tfrecords_writer.close() - break - - sample_path = sample_info[0] - sample_label = sample_info[1] - label_length=len(sample_label) - if _is_valid_jpg_file(sample_path): - log.error('Image file: {:d} is not a valid jpg file'.format(sample_path)) - continue - - try: - - # try to use PIL - image = Image.open(sample_path) - if image is None: - continue - image = image.resize(tuple(CFG.ARCH.INPUT_SIZE),Image.BILINEAR) - image_np = np.array(image).astype(np.uint8) - image = image_np.tostring() - - except IOError as err: - log.error(err) - continue - - features = tf.train.Features(feature={ - 'labels': _int64_feature(sample_label), - 'images': _bytes_feature(image), - 'imagepaths': _bytes_feature(sample_path), - 'labels_length':_int64_feature(label_length) - - }) - - - - tf_example = tf.train.Example(features=features) - tfrecords_writer.write(tf_example.SerializeToString()) - log.debug('Process: {:d} get sample from sample_info_queue[current_size={:d}], ' - 'and write it to local file at time: {}'.format( - os.getpid(), _SAMPLE_INFO_QUEUE.qsize(), time.strftime('%H:%M:%S'))) - - -class _FeatureIO(object): - """ - Feature IO Base Class - """ - def __init__(self, char_dict_path, ord_map_dict_path): - """ - - :param char_dict_path: - :param ord_map_dict_path: - """ - self._char_dict = establish_char_dict.CharDictBuilder.read_char_dict(char_dict_path) - self._ord_map = establish_char_dict.CharDictBuilder.read_ord_map_dict(ord_map_dict_path) - return - - def char_to_int(self, char): - """ - convert char into int index, first convert the char into it's ord - number and the convert the ord number into int index which is stored - in ord_map_dict.json file - :param char: single character - :return: the int index of the character - """ - str_key = str(ord(char)) + '_ord' - try: - result = int(self._ord_map[str_key]) - return result - except KeyError: - raise KeyError("Character {} missing in ord_map.json".format(char)) - - def int_to_char(self, number): - """ - convert the int index into char - :param number: Can be passed as string representing the integer value to look up. - :return: Character corresponding to 'number' in the char_dict - """ - # 1 is the default value in sparse_tensor_to_str() This will be skipped when building the resulting strings - if number == 1 or number == '1': - return '\x00' - else: - return self._char_dict[str(number) + '_ord'] - - def encode_labels(self, labels): - """ - Convert a batch of text labels into int index labels - :param labels: List of text labels such as ['hello world', 'fuck world', ...] - :return: Two list. One is a list of int index labels another is - a list of label length - """ - encoded_labels = [] - lengths = [] - for label in labels: - encode_label = [self.char_to_int(char) for char in label] - encoded_labels.append(encode_label) - lengths.append(len(label)) - return encoded_labels, lengths - - # originala version - #def sparse_tensor_to_str(self, sparse_tensor): - # """ - # :param sparse_tensor: prediction or ground truth label - # :return: String value of the sparse tensor - # """ - # indices = sparse_tensor.indices - # values = sparse_tensor.values - # # Translate from consecutive numbering into ord() values - # values = np.array([self._ord_map[str(tmp) + '_index'] for tmp in values ]) - # - # dense_shape = sparse_tensor.dense_shape - - # number_lists = np.ones(dense_shape, dtype=values.dtype) - # str_lists = [] - # res = [] - # for i, index in enumerate(indices): - # number_lists[index[0], index[1]] = values[i] - # for number_list in number_lists: - # # Translate from ord() values into characters - # str_lists.append([self.int_to_char(val) for val in number_list]) - # for str_list in str_lists: - # # int_to_char() returns '\x00' for an input == 1, which is the default - # # value in number_lists, so we skip it when building the result - # res.append(''.join(c for c in str_list if c != '\x00')) - # return res - - - # modification are made to accommodate the changes in the labels of tfrecords - def sparse_tensor_to_str(self, sparse_tensor): - """ - - :param sparse_tensor: prediction or ground truth label - :return: String value of the sparse tensor - """ - indices = sparse_tensor.indices - values = sparse_tensor.values - # Translate from consecutive numbering into ord() values - values_list = [] - for tmp in values: - if tmp==36: - values_list.append('1') - else: - values_list.append(self._ord_map[str(tmp) + '_index']) - values = np.array(values_list) - - dense_shape = sparse_tensor.dense_shape - - number_lists = np.ones(dense_shape, dtype=values.dtype) - str_lists = [] - res = [] - for i, index in enumerate(indices): - number_lists[index[0],index[1]] = values[i] - for number_list in number_lists: - # Translate from ord() values into characters - str_lists.append([self.int_to_char(val) for val in number_list]) - for str_list in str_lists: - # value in number_lists, so we skip it when building the result - res.append(''.join(c for c in str_list if c != '\x00')) - return res - - def sparse_tensor_to_str_for_tf_serving(self, decode_indices, decode_values, decode_dense_shape): - """ - - :param decode_indices: - :param decode_values: - :param decode_dense_shape: - :return: - """ - indices = decode_indices - values = decode_values - # Translate from consecutive numbering into ord() values - values = np.array([self._ord_map[str(tmp) + '_index'] for tmp in values]) - dense_shape = decode_dense_shape - - number_lists = np.ones(dense_shape, dtype=values.dtype) - str_lists = [] - res = [] - for i, index in enumerate(indices): - number_lists[index[0], index[1]] = values[i] - for number_list in number_lists: - # Translate from ord() values into characters - str_lists.append([self.int_to_char(val) for val in number_list]) - for str_list in str_lists: - # int_to_char() returns '\x00' for an input == 1, which is the default - # value in number_lists, so we skip it when building the result - res.append(''.join(c for c in str_list if c != '\x00')) - return res - - -class CrnnFeatureReader(_FeatureIO): - """ - Implement the crnn feature reader - """ - - def __init__(self, char_dict_path, ord_map_dict_path, flags='train'): - """ - - :param char_dict_path: - :param ord_map_dict_path: - :param flags: - """ - super(CrnnFeatureReader, self).__init__(char_dict_path, ord_map_dict_path) - self._dataset_flag = flags.lower() - return - - @property - def dataset_flags(self): - """ - - :return: - """ - return self._dataset_flag - - @dataset_flags.setter - def dataset_flags(self, value): - """ - - :value: - :return: - """ - if not isinstance(value, str): - raise ValueError('Dataset flags shoule be str') - - if value.lower() not in ['train', 'val', 'test']: - raise ValueError('Dataset flags shoule be within \'train\', \'val\', \'test\'') - - self._dataset_flag = value - - @staticmethod - def _augment_for_train(input_images, input_labels, input_image_paths,labels_length): - """ - - :param input_images: - :param input_labels: - :param input_image_paths: - :return: - """ - return input_images, input_labels, input_image_paths,labels_length - - @staticmethod - def _augment_for_validation(input_images, input_labels, input_image_paths,labels_length): - """ - - :param input_images: - :param input_labels: - :param input_image_paths: - :return: - """ - return input_images, input_labels, input_image_paths,labels_length - - @staticmethod - def _normalize(input_images, input_labels, input_image_paths,labels_length): - """ - - :param input_images: - :param input_labels: - :param input_image_paths: - :return: - """ - input_images = tf.subtract(tf.divide(input_images, 127.5), 1.0) - return input_images, input_labels, input_image_paths,labels_length - - @staticmethod - def _extract_features_batch(serialized_batch): - """ - - :param serialized_batch: - :return: - """ - features = tf.parse_example( - serialized_batch, - features={'images': tf.FixedLenFeature([], tf.string), - 'imagepaths': tf.FixedLenFeature([], tf.string), - 'labels': tf.VarLenFeature(tf.int64), - 'labels_length': tf.FixedLenFeature([], tf.int64), - } - ) - - # original version - # features = tf.parse_example( - # serialized_batch, - # features={'images': tf.FixedLenFeature([], tf.string), - # 'imagepaths': tf.FixedLenFeature([], tf.string), - # 'labels': tf.FixedLenFeature([],tf.string), - # } - # ) - - bs = features['images'].shape[0] - images = tf.decode_raw(features['images'], tf.uint8) - w, h = tuple(CFG.ARCH.INPUT_SIZE) - images = tf.cast(x=images, dtype=tf.float32) - images = tf.reshape(images, [bs, h, w, CFG.ARCH.INPUT_CHANNELS]) - - - labels = features['labels'] - labels = tf.cast(labels, tf.int32) - label_fixed_shape = np.array([bs, CFG.ARCH.MAX_LENGTH], dtype=np.int32) - labels = tf.SparseTensor(labels.indices, labels.values, label_fixed_shape) - labels = tf.sparse_tensor_to_dense(labels, default_value=CFG.ARCH.NUM_CLASSES-1) - labels_length = features['labels_length'] - imagepaths = features['imagepaths'] - - return images, labels, imagepaths,labels_length - - def inputs(self, tfrecords_path, batch_size, num_threads): - """ - - :param tfrecords_path: - :param batch_size: - :param num_threads: - :return: input_images, input_labels, input_image_names - """ - dataset = tf.data.TFRecordDataset(tfrecords_path) - - dataset = dataset.batch(batch_size, drop_remainder=True) - - # The map transformation takes a function and applies it to every element - # of the dataset. - dataset = dataset.map(map_func=self._extract_features_batch, - num_parallel_calls=num_threads) - if self._dataset_flag == 'train': - dataset = dataset.map(map_func=self._augment_for_train, - num_parallel_calls=num_threads) - else: - dataset = dataset.map(map_func=self._augment_for_validation, - num_parallel_calls=num_threads) - dataset = dataset.map(map_func=self._normalize, - num_parallel_calls=num_threads) - - # The shuffle transformation uses a finite-sized buffer to shuffle elements - # in memory. The parameter is the number of elements in the buffer. For - # completely uniform shuffling, set the parameter to be the same as the - # number of elements in the dataset. - if self._dataset_flag != 'test': - dataset = dataset.shuffle(buffer_size=128) - # repeat num epochs - dataset = dataset.repeat() - dataset = dataset.prefetch(2) - - - iterator = dataset.make_one_shot_iterator() - return iterator.get_next(name='{:s}_IteratorGetNext'.format(self._dataset_flag)) - - -class CrnnFeatureWriter(_FeatureIO): - """ - crnn tensorflow tfrecords writer - """ - - def __init__(self, annotation_infos, lexicon_infos, - char_dict_path, ord_map_dict_path, - tfrecords_save_dir, writer_process_nums, dataset_flag): - """ - Every file path should be checked outside of the class, make sure the file path is valid when you - call the class. Make sure the info list is not empty when you call the class. I will put all the - sample information into a queue which may cost lots of memory if you've got really large dataset - :param annotation_infos: example info list [(image_absolute_path, lexicon_index), ...] - :param lexicon_infos: lexicon info list [lexicon1, lexicon2, ...] - :param char_dict_path: char dict file path - :param ord_map_dict_path: ord map dict file path - :param tfrecords_save_dir: tfrecords save dir - :param writer_process_nums: the process nums of which will write the tensorflow examples - into local tensorflow records file. Each thread will write down examples into its own - local tensorflow records file - :param dataset_flag: dataset flag which will be the tfrecords file's prefix name - """ - super(CrnnFeatureWriter, self).__init__( - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path - ) - - # init sample info queue - self._dataset_flag = dataset_flag - self._annotation_infos = annotation_infos - self._lexicon_infos = lexicon_infos - self._writer_process_nums = writer_process_nums - self._init_example_info_queue() - self._tfrecords_save_dir = tfrecords_save_dir - - def _init_example_info_queue(self): - """ - Read index file and put example info into SAMPLE_INFO_QUEUE - :return: - """ - log.info('Start filling {:s} dataset sample information queue...'.format(self._dataset_flag)) - - t_start = time.time() - for annotation_info in tqdm.tqdm(self._annotation_infos): - image_path = annotation_info[0] - lexicon_index = annotation_info[1] - - try: - lexicon_label = [self._lexicon_infos[lexicon_index]] - encoded_label, _ = self.encode_labels(lexicon_label) - - _SAMPLE_INFO_QUEUE.put((image_path, encoded_label[0])) - except IndexError: - log.error('Lexicon doesn\'t contain lexicon index {:d}'.format(lexicon_index)) - continue - for i in range(self._writer_process_nums): - _SAMPLE_INFO_QUEUE.put(_SENTINEL) - log.debug('Complete filling dataset sample information queue[current size: {:d}], cost time: {:.5f}s'.format( - _SAMPLE_INFO_QUEUE.qsize(), - time.time() - t_start - )) - - def run(self): - """ - - :return: - """ - log.info('Start write tensorflow records for {:s}...'.format(self._dataset_flag)) - - process_pool = [] - tfwriters = [] - for i in range(self._writer_process_nums): - tfrecords_save_name = '{:s}_{:d}.tfrecords'.format(self._dataset_flag, i + 1) - tfrecords_save_path = ops.join(self._tfrecords_save_dir, tfrecords_save_name) - - tfrecords_io_writer = tf.python_io.TFRecordWriter(path=tfrecords_save_path) - process = Process( - target=_write_tfrecords, - name='Subprocess_{:d}'.format(i + 1), - args=(tfrecords_io_writer,) - ) - process_pool.append(process) - tfwriters.append(tfrecords_io_writer) - process.start() - - for process in process_pool: - process.join() - - log.info('Finished writing down the tensorflow records file') diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/__init__.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/__init__.py deleted file mode 100644 index 144b41272..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -## @Time : 17-9-22 涓嬪崍6:45 -# @Author : Luo Yao -# @Site : http://github.com/TJCVRS -# @File : __init__.py.py -# @IDE: PyCharm Community Edition \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/establish_char_dict.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/establish_char_dict.py deleted file mode 100644 index 3d4202fe5..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/establish_char_dict.py +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 17-9-30 涓嬪崍4:01 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : establish_char_dict.py -# @IDE: PyCharm Community Edition -""" -Establish the char dictionary in order to contain chinese character -""" -import json -import os -import os.path as ops -from typing import Iterable - - -class CharDictBuilder(object): - """ - Build and read char dict - """ - def __init__(self): - pass - - @staticmethod - def _read_chars(origin_char_list): - """ - Read a list of chars or a file containing it. - :param origin_char_list: - :return: - """ - if isinstance(origin_char_list, str): - assert ops.exists(origin_char_list), \ - "Character list %s is not a file or could not be found" % origin_char_list - with open(origin_char_list, 'r', encoding='utf-8') as origin_f: - chars = (l[0] for l in origin_f.readlines()) - elif isinstance(origin_char_list, Iterable): - ok = all(map(lambda s: isinstance(s, str) and len(s) == 1, origin_char_list)) - assert ok, "Character list is not an Iterable of strings of length 1" - chars = origin_char_list - else: - raise TypeError("Character list needs to be a file or a list of strings") - return chars - - @staticmethod - def _write_json(save_path, data): - """ - - :param save_path: - :param data: - :return: - """ - if not save_path.endswith('.json'): - raise ValueError('save path {:s} should be a json file'.format(save_path)) - os.makedirs(ops.dirname(save_path), exist_ok=True) - with open(save_path, 'w', encoding='utf-8') as json_f: - json.dump(data, json_f, sort_keys=True, indent=4) - - @staticmethod - def write_char_dict(origin_char_list, save_path): - """ - Writes the ordinal to char map used in int_to_char to decode predictions and labels. - The file is read with CharDictBuilder.read_char_dict() - :param origin_char_list: Either a path to file with character list, one a character per line, or a list or set - of characters - :param save_path: Destination file, full path. - """ - char_dict = {str(ord(c)) + '_ord': c for c in CharDictBuilder._read_chars(origin_char_list)} - CharDictBuilder._write_json(save_path, char_dict) - - @staticmethod - def read_char_dict(dict_path): - """ - - :param dict_path: - :return: a dict with ord(char) as key and char as value - """ - with open(dict_path, 'r', encoding='utf-8') as json_f: - res = json.load(json_f) - return res - - @staticmethod - def map_ord_to_index(origin_char_list, save_path): - """ - Map ord of character in origin char list into index start from 0 in order to meet the output of the DNN - :param origin_char_list: - :param save_path: - """ - ord_2_index_dict = {str(i) + '_index': str(ord(c)) for i, c in - enumerate(CharDictBuilder._read_chars(origin_char_list))} - index_2_ord_dict = {str(ord(c)) + '_ord': str(i) for i, c in - enumerate(CharDictBuilder._read_chars(origin_char_list))} - total_ord_map_index_dict = dict(ord_2_index_dict) - total_ord_map_index_dict.update(index_2_ord_dict) - CharDictBuilder._write_json(save_path, total_ord_map_index_dict) - - @staticmethod - def read_ord_map_dict(ord_map_dict_path): - """ - - :param ord_map_dict_path: - :return: - """ - with open(ord_map_dict_path, 'r', encoding='utf-8') as json_f: - res = json.load(json_f) - return res diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/evaluation_tools.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/evaluation_tools.py deleted file mode 100644 index 798a79f7d..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/evaluation_tools.py +++ /dev/null @@ -1,184 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 19-3-12 涓嬪崍9:03 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : evaluation_tools.py -# @IDE: PyCharm -""" -Some evaluation tools -""" -import itertools - -import numpy as np -import glog as log -#import matplotlib.pyplot as plt - - -SYNTH90K_CLASS_NAMES = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', - 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', - 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ' '] - - -def compute_accuracy(ground_truth, predictions, display=False, mode='per_char'): - """ - Computes accuracy - :param ground_truth: - :param predictions: - :param display: Whether to print values to stdout - :param mode: if 'per_char' is selected then - single_label_accuracy = correct_predicted_char_nums_of_single_sample / single_label_char_nums - avg_label_accuracy = sum(single_label_accuracy) / label_nums - if 'full_sequence' is selected then - single_label_accuracy = 1 if the prediction result is exactly the same as label else 0 - avg_label_accuracy = sum(single_label_accuracy) / label_nums - :return: avg_label_accuracy - """ - if mode == 'per_char': - - accuracy = [] - - for index, label in enumerate(ground_truth): - prediction = predictions[index] - total_count = len(label) - correct_count = 0 - try: - for i, tmp in enumerate(label): - if tmp == prediction[i]: - correct_count += 1 - except IndexError: - continue - finally: - try: - accuracy.append(correct_count / total_count) - except ZeroDivisionError: - if len(prediction) == 0: - accuracy.append(1) - else: - accuracy.append(0) - avg_accuracy = np.mean(np.array(accuracy).astype(np.float32), axis=0) - elif mode == 'full_sequence': - try: - correct_count = 0 - for index, label in enumerate(ground_truth): - prediction = predictions[index] - if prediction == label: - correct_count += 1 - avg_accuracy = correct_count / len(ground_truth) - except ZeroDivisionError: - if not predictions: - avg_accuracy = 1 - else: - avg_accuracy = 0 - else: - raise NotImplementedError('Other accuracy compute mode has not been implemented') - - if display: - print('Mean accuracy is {:5f}'.format(avg_accuracy)) - - return avg_accuracy - - -#def plot_confusion_matrix(cm, classes=SYNTH90K_CLASS_NAMES, -# normalize=False, -# title='Confusion matrix', -# cmap=plt.cm.Blues): -# """ -# This function prints and plots the confusion matrix. -# Normalization can be applied by setting `normalize=True`. -# """ -# if normalize: -# cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis] -# log.info("Normalized confusion matrix") -# else: -# log.info('Confusion matrix, without normalization') -# -# print(cm) -# -# plt.imshow(cm, interpolation='nearest', cmap=cmap) -# plt.title(title) -# plt.colorbar() -# tick_marks = np.arange(len(classes)) -# plt.xticks(tick_marks, classes, rotation=45) -# plt.yticks(tick_marks, classes) -# -# fmt = '.2f' if normalize else 'd' -# thresh = cm.max() / 2. -# for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])): -# plt.text(j, i, format(cm[i, j], fmt), -# horizontalalignment="center", -# color="white" if cm[i, j] > thresh else "black") -# -# plt.ylabel('True label') -# plt.xlabel('Predicted label') -# plt.tight_layout() - - -def print_cm(cm, labels=SYNTH90K_CLASS_NAMES, hide_zeroes=False, - hide_diagonal=False, hide_threshold=None): - """ - pretty print for confusion matrixes - :param cm: - :param labels: - :param hide_zeroes: - :param hide_diagonal: - :param hide_threshold: - :return: - """ - columnwidth = max([len(x) for x in labels] + [5]) # 5 is value length - empty_cell = " " * columnwidth - - # Begin CHANGES - fst_empty_cell = (columnwidth - 3) // 2 * " " + "t/p" + (columnwidth - 3) // 2 * " " - - if len(fst_empty_cell) < len(empty_cell): - fst_empty_cell = " " * (len(empty_cell) - len(fst_empty_cell)) + fst_empty_cell - # Print header - print(" " + fst_empty_cell, end=" ") - # End CHANGES - - for label in labels: - print("%{0}s".format(columnwidth) % label, end=" ") - - print() - # Print rows - for i, label1 in enumerate(labels): - print(" %{0}s".format(columnwidth) % label1, end=" ") - for j in range(len(labels)): - cell = "%{0}.1f".format(columnwidth) % cm[i, j] - if hide_zeroes: - cell = cell if float(cm[i, j]) != 0 else empty_cell - if hide_diagonal: - cell = cell if i != j else empty_cell - if hide_threshold: - cell = cell if cm[i, j] > hide_threshold else empty_cell - print(cell, end=" ") - print() diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/log_utils.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/log_utils.py deleted file mode 100644 index f5871a702..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/local_utils/log_utils.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 17-9-18 涓嬪崍4:11 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : log_utils.py -# @IDE: PyCharm Community Edition -""" -Set the log config -""" -import logging -from logging import handlers -import os -import os.path as ops - - -def init_logger(level=logging.DEBUG, when="D", backup=7, - _format="%(levelname)s: %(asctime)s: %(filename)s:%(lineno)d * %(thread)d %(message)s", - datefmt="%m-%d %H:%M:%S"): - """ - init_log - initialize log module - :param level: msg above the level will be displayed DEBUG < INFO < WARNING < ERROR < CRITICAL - the default value is logging.INFO - :param when: how to split the log file by time interval - 'S' : Seconds - 'M' : Minutes - 'H' : Hours - 'D' : Days - 'W' : Week day - default value: 'D' - :param backup: how many backup file to keep default value: 7 - :param _format: format of the log default format: - %(levelname)s: %(asctime)s: %(filename)s:%(lineno)d * %(thread)d %(message)s - INFO: 12-09 18:02:42: log.py:40 * 139814749787872 HELLO WORLD - :param datefmt: - :return: - """ - formatter = logging.Formatter(_format, datefmt) - logger = logging.getLogger() - logger.setLevel(level) - - log_path = ops.join(os.getcwd(), 'logs/shadownet.log') - _dir = os.path.dirname(log_path) - if not os.path.isdir(_dir): - os.makedirs(_dir) - - handler = handlers.TimedRotatingFileHandler(log_path, when=when, backupCount=backup) - handler.setLevel(level) - handler.setFormatter(formatter) - logger.addHandler(handler) - - handler = handlers.TimedRotatingFileHandler(log_path + ".log.wf", when=when, backupCount=backup) - handler.setLevel(logging.WARNING) - handler.setFormatter(formatter) - logger.addHandler(handler) - - handler = logging.StreamHandler() - handler.setLevel(level) - handler.setFormatter(formatter) - logger.addHandler(handler) - return logger diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/modelzoo_level.txt b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/modelzoo_level.txt deleted file mode 100644 index 31529da2e..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/modelzoo_level.txt +++ /dev/null @@ -1,3 +0,0 @@ -FuncStatus:OK -PerfStatus:OK -PrecisionStatus:OK \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/requirements.txt b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/requirements.txt deleted file mode 100644 index fa9599a7b..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/requirements.txt +++ /dev/null @@ -1,12 +0,0 @@ -glog==0.3.1 -easydict==1.9 -numpy==1.15.1 -tensorflow_gpu==1.15.2 -tqdm==4.28.1 -matplotlib==3.0.2 -typing==3.6.6 -wordninja==0.1.5 -opencv_contrib_python==3.4.1.15 -pdf2image==1.5.1 -scikit_learn==0.21.2 -Pillow==8.0.0 diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/8p.json b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/8p.json deleted file mode 100644 index 8c47d503f..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/8p.json +++ /dev/null @@ -1,23 +0,0 @@ -{ -"group_count": "1", -"group_list": [ -{ - "group_name": "worker", - "device_count": "8", - "instance_count": "1", - "instance_list": [{"devices": - [{"device_id":"0","device_ip":"192.168.100.101"}, - {"device_id":"1","device_ip":"192.168.101.101"}, - {"device_id":"2","device_ip":"192.168.102.101"}, - {"device_id":"3","device_ip":"192.168.103.101"}, - {"device_id":"4","device_ip":"192.168.100.100"}, - {"device_id":"5","device_ip":"192.168.101.100"}, - {"device_id":"6","device_ip":"192.168.102.100"}, - {"device_id":"7","device_ip":"192.168.103.100"}], - "pod_name":"npu8p", - "server_id":"127.0.0.1"}] -} -], -"status": "completed" -} - diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/env.sh b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/env.sh deleted file mode 100644 index 2fdccc2f1..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/env.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -#rm -rf /var/log/npu/slog/host-0/* - -export LD_LIBRARY_PATH=/usr/local/lib/:/usr/lib/:/usr/local/Ascend/fwkacllib/lib64/:/usr/local/Ascend/driver/lib64/common/:/usr/local/Ascend/driver/lib64/driver/:/usr/local/Ascend/add-ons/ -export PYTHONPATH=$PYTHONPATH:/usr/local/Ascend/opp/op_impl/built-in/ai_core/tbe -export PATH=$PATH:/usr/local/Ascend/fwkacllib/ccec_compiler/bin -export ASCEND_OPP_PATH=/usr/local/Ascend/opp -export DDK_VERSION_FLAG=1.60.T17.B830 -export HCCL_CONNECT_TIMEOUT=600 -export JOB_ID=9999111706 - -export SLOG_PRINT_TO_STDOUT=0 - - diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/prepare_ds.sh b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/prepare_ds.sh deleted file mode 100644 index 696f38125..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/prepare_ds.sh +++ /dev/null @@ -1,59 +0,0 @@ - - - - -CWD=$(cd "$(dirname "$0")"; pwd) -echo ${CWD} -cd ${CWD} -cd .. -CWD=$(pwd) - - - - - -echo ${CWD} -mkdir -p ${CWD}/data/test -mkdir -p ${CWD}/data/tfrecords - -# generate tfrecords - -python3 ${CWD}/tools/write_tfrecords.py --dataset_dir=${CWD}/data/mnt/ramdisk/max/90kDICT32px/ \ - --save_dir=${CWD}/data/tfrecords \ - --char_dict_path=${CWD}/data/char_dict/char_dict.json \ - --ord_map_dict_path=${CWD}/data/char_dict/ord_map.json - - -#tar -xvf ${CWD}/data/*IC*.tar* -C ${CWD}/data/test -#tar -xvf ${CWD}/data/*III*.tar* -C ${CWD}/data/test -#unzip ${CWD}/data/*.zip -d ${CWD}/data/test -# -#rm -rf ${CWD}/data/test/__* -# -# -# -#ROOT_DIR=${CWD}/data/test -#DATASET=svt1 -# -#python3 ${CWD}/data_provider/convert_svt.py --dataset_dir=${ROOT_DIR}/${DATASET}/ \ -# --xml_file=${ROOT_DIR}/${DATASET}/test.xml \ -# --output_dir=${ROOT_DIR}/${DATASET}/processed \ -# --output_annotation=${ROOT_DIR}/${DATASET}/annotation.txt \ -# --output_lexicon=lexicon.txt -# -#DATASET=IIIT5K -# -#python3 ${CWD}/data_provider/convert_iiit5k.py --mat_file=${ROOT_DIR}/${DATASET}/testdata.mat \ -# --output_annotation=${ROOT_DIR}/${DATASET}/annotation.txt -# -# -# -#DATASET=2003/SceneTrialTest -# -#python3 ${CWD}/data_provider/convert_ic03.py --dataset_dir=${ROOT_DIR}/${DATASET}/ \ -# --xml_file=${ROOT_DIR}/${DATASET}/words.xml \ -# --output_dir=${ROOT_DIR}/${DATASET}/processed \ -# --output_annotation=${ROOT_DIR}/${DATASET}/annotation.txt -# -#python3 ${CWD}/data_provider/preprocess_ic03.py --src_ann=${ROOT_DIR}/${DATASET}/annotation.txt \ -# --dst_ann=${ROOT_DIR}/${DATASET}/processed_annotation.txt diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/run_1p.sh b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/run_1p.sh deleted file mode 100644 index f3ffcb56c..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/run_1p.sh +++ /dev/null @@ -1,25 +0,0 @@ -EXEC_DIR=$(cd "$(dirname "$0")"; pwd) -cd ${EXEC_DIR} -cd .. -EXEC_DIR=$(pwd) -echo ${EXEC_DIR} - -source ${EXEC_DIR}/scripts/env.sh - - -DATA_DIR='data/' -SAVE_DIR='results/1p' -export RANK_SIZE=1 -export DEVICE_ID=0 -mkdir -p ${SAVE_DIR}/${DEVICE_ID} - -python3 ${EXEC_DIR}/tools/train_npu.py --dataset_dir=${EXEC_DIR}/${DATA_DIR} \ - --char_dict_path=${EXEC_DIR}/data/char_dict/char_dict.json \ - --ord_map_dict_path=${EXEC_DIR}/data/char_dict/ord_map.json \ - --save_dir=${SAVE_DIR}/${DEVICE_ID} \ - --momentum=0.95 \ - --lr=0.02 \ - --use_nesterov=True \ - --num_iters=600000 >${SAVE_DIR}/training.log 2>&1 & - - diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/run_8p.sh b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/run_8p.sh deleted file mode 100644 index 1513b3ead..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/run_8p.sh +++ /dev/null @@ -1,26 +0,0 @@ - - -currentDir=$(cd "$(dirname "$0")"; pwd) -echo ${currentDir} -source ${currentDir}/env.sh -# user env -export JOB_ID=9999001 -export RANK_TABLE_FILE=${currentDir}/8p.json -export RANK_SIZE=8 -export RANK_ID=npu8p -export SLOG_PRINT_TO_STDOUT=0 -export HCCL_CONNECT_TIMEOUT=600 - -device_group="0 1 2 3 4 5 6 7" - -for device_phy_id in ${device_group} -do - echo "[`date +%Y%m%d-%H:%M:%S`] [INFO] start: train.sh ${device_phy_id} & " >> main.log - ${currentDir}/train_8p.sh ${device_phy_id} & -done - -wait - -echo "[`date +%Y%m%d-%H:%M:%S`] [INFO] all train.sh exit " >> main.log - - diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/test.sh b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/test.sh deleted file mode 100644 index dadce50ee..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/test.sh +++ /dev/null @@ -1,101 +0,0 @@ - - -LOG_NAME=$2 -CKPT_DIR=$1 -DEVICE_ID=$3 - -CURRENT_DIR=$(cd "$(dirname "$0")"; pwd) -cd ${CURRENT_DIR} -cd .. -CWD=$(pwd) - -# checkpoint path valid -if [ x"${CKPT_DIR}}" = x ] ; -then - echo "No directory provided , exiting " - exit -else - echo "CHECKPOINT DIRECTORY: ${CKPT_DIR}" -fi - - -# save result to log file -if [ x"${LOG_NAME}" = x ] ; -then - LOG_FILE="test_result.txt" -else - LOG_FILE=${LOG_NAME} -fi - -echo "LOGS ARE EXPORTED TO FILE: ${LOG_FILE}" - - -if [ x"${DEVICE_ID}" = x ] ; -then - DEVICE_ID="test_result.txt" -else - DEVICE_ID=${DEVICE_ID} -fi - - -echo "=================================" >>${LOG_FILE} -echo "Test SVT datatset " >> ${LOG_FILE} -echo "=================================" >>${LOG_FILE} - -DATASET_ROOT=${CWD}/data/test - -DATASET_DIR="${DATASET_ROOT}/svt1/processed/" -ANNOTATION="${DATASET_ROOT}/svt1/annotation.txt" -echo "dataset: ${DATASET_DIR}" >> ${LOG_FILE} -echo " anntation: ${ANNOTATION}" >>${LOG_FILE} - - -python3 ${CWD}/tools/eval_ckpt.py --weights_path=${CKPT_DIR} \ - --device_id=${DEVICE_ID} \ - --scripts=${CWD}/tools/other_dataset_evaluate_shadownet.py \ - --dataset_dir=${DATASET_DIR} \ - --root_dir=${CWD} \ - --annotation_file=${ANNOTATION} >> ${LOG_FILE} - - - - -echo "=================================" >>${LOG_FILE} -echo "Test IIIT5K datatset " >> ${LOG_FILE} -echo "=================================" >>${LOG_FILE} - -DATASET_DIR="${DATASET_ROOT}/IIIT5K/" -ANNOTATION="${DATASET_ROOT}/IIIT5K/annotation.txt" -echo "dataset: ${DATASET_DIR}" >> ${LOG_FILE} -echo " anntation: ${ANNOTATION}" >>${LOG_FILE} - - -python3 ${CWD}/tools/eval_ckpt.py --weights_path=${CKPT_DIR} \ - --device_id=${DEVICE_ID} \ - --scripts=${CWD}/tools/other_dataset_evaluate_shadownet.py \ - --dataset_dir=${DATASET_DIR} \ - --root_dir=${CWD} \ - --annotation_file=${ANNOTATION} >> ${LOG_FILE} - - - - -echo "=================================" >>${LOG_FILE} -echo "Test IC03 datatset " >> ${LOG_FILE} -echo "=================================" >>${LOG_FILE} - -DATASET_DIR="${DATASET_ROOT}/2003/SceneTrialTest/processed" -ANNOTATION="${DATASET_ROOT}/2003/SceneTrialTest/processed_annotation.txt" -echo "dataset: ${DATASET_DIR}" >> ${LOG_FILE} -echo " anntation: ${ANNOTATION}" >>${LOG_FILE} - - -python3 ${CWD}/tools/eval_ckpt.py --weights_path=${CKPT_DIR} \ - --device_id=${DEVICE_ID} \ - --scripts=${CWD}/tools/other_dataset_evaluate_shadownet.py \ - --dataset_dir=${DATASET_DIR} \ - --root_dir=${CWD} \ - --annotation_file=${ANNOTATION} >> ${LOG_FILE} - - - diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/train_8p.sh b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/train_8p.sh deleted file mode 100644 index 6c04d964d..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/scripts/train_8p.sh +++ /dev/null @@ -1,57 +0,0 @@ -EXEC_DIR=$(cd "$(dirname "$0")"; pwd) -cd ${EXEC_DIR} - - -cd .. -EXEC_DIR=$(pwd) -echo ${EXEC_DIR} -RESULTS=results/8p - -DEVICE_ID=$1 -if [ x"${DEVICE_ID}" = x ] ; -then - echo "turing train fail" >> ${EXEC_DIR}/results/train_${DEVICE_ID}.log - exit -else - export DEVICE_ID=${DEVICE_ID} -fi - -DEVICE_INDEX=$(( DEVICE_ID + RANK_INDEX * 8 )) -export DEVICE_INDEX=${DEVICE_INDEX} - -echo $DEVICE_INDEX -echo $RANK_ID -echo $DEVICE_ID - -#mkdir exec path -mkdir -p ${EXEC_DIR}/${RESULTS}/${DEVICE_ID} -cd ${EXEC_DIR}/${RESULTS}/${DEVICE_ID} - -env > ${EXEC_DIR}/results/env_${DEVICE_ID}.log - - -DATA_DIR='data/' -SAVE_DIR='./' - -ITERATIONS=240000 -LOG_FILE=training.log - -python3 ${EXEC_DIR}/tools/train_npu.py --dataset_dir=${EXEC_DIR}/${DATA_DIR} \ - --char_dict_path=${EXEC_DIR}/data/char_dict/char_dict.json \ - --ord_map_dict_path=${EXEC_DIR}/data/char_dict/ord_map.json \ - --save_dir=${SAVE_DIR}/ \ - --momentum=0.95 \ - --lr=0.08 \ - --use_nesterov=True \ - --warmup_step=8000 \ - --num_iters=${ITERATIONS} >> ${LOG_FILE} 2>&1 - - - -if [ $? -eq 0 ] ; -then - echo "turing train success" >> ${EXEC_DIR}/${RESULTS}/train_${DEVICE_ID}.log -else - echo "turing train fail" >> ${EXEC_DIR}/${RESULTS}/train_${DEVICE_ID}.log -fi - diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/test/train_full_1p.sh b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/test/train_full_1p.sh deleted file mode 100644 index 8ecd60a98..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/test/train_full_1p.sh +++ /dev/null @@ -1,195 +0,0 @@ -#!/bin/bash - -#当前路径,不需要修改 -cur_path=`pwd` - -#集合通信参数,不需要修改 -#保证rank table file 文件rank_table_8p.json存放在和test同级的configs目录下 -export JOB_ID=9999001 -export RANK_SIZE=1 -export RANK_ID=npu8p -export SLOG_PRINT_TO_STDOUT=0 -export HCCL_CONNECT_TIMEOUT=600 -export RANK_TABLE_FILE=${cur_path}/../configs/rank_table_8p.json -RANK_ID_START=0 - -# 数据集路径,保持为空,不需要修改 -data_path="" - -#设置默认日志级别,不需要修改 -export ASCEND_GLOBAL_LOG_LEVEL=3 - -#基础参数 需要模型审视修改 -#网络名称,同目录名称 -Network="InceptionV4_for_TensorFlow" -#迭代 -ITERATIONS=240000 - -#TF2.X独有,不需要修改 -#export NPU_LOOP_SIZE=${train_steps} - -#维测参数,precision_mode需要模型审视修改 -precision_mode="allow_mix_precision" -#维持参数,以下不需要修改 -over_dump=False -data_dump_flag=False -data_dump_step="10" -profiling=False -autotune=False - -# 帮助信息,不需要修改 -if [[ $1 == --help || $1 == -h ]];then - echo"usage:./train_full_8p.sh " - echo " " - echo "parameter explain: - --precision_mode precision mode(allow_fp32_to_fp16/force_fp16/must_keep_origin_dtype/allow_mix_precision) - --over_dump if or not over detection, default is False - --data_dump_flag data dump flag, default is 0 - --data_dump_step data dump step, default is 10 - --profiling if or not profiling for performance debug, default is False - --autotune whether to enable autotune, default is False - --data_path source data of training - -h/--help show help message - " - exit 1 -fi - -#参数校验,不需要修改 -for para in $* -do - if [[ $para == --precision_mode* ]];then - precision_mode=`echo ${para#*=}` - elif [[ $para == --over_dump* ]];then - over_dump=`echo ${para#*=}` - over_dump_path=${cur_path}/output/overflow_dump - mkdir -p ${over_dump_path} - elif [[ $para == --data_dump_flag* ]];then - data_dump_flag=`echo ${para#*=}` - data_dump_path=${cur_path}/output/data_dump - mkdir -p ${data_dump_path} - elif [[ $para == --data_dump_step* ]];then - data_dump_step=`echo ${para#*=}` - elif [[ $para == --profiling* ]];then - profiling=`echo ${para#*=}` - profiling_dump_path=${cur_path}/output/profiling - mkdir -p ${profiling_dump_path} - elif [[ $para == --autotune* ]];then - autotune=`echo ${para#*=}` - export autotune=$autotune - mv $install_path/fwkacllib/data/rl/Ascend910/custom $install_path/fwkacllib/data/rl/Ascend910/custom_bak - mv $install_path/fwkacllib/data/tiling/Ascend910/custom $install_path/fwkacllib/data/tiling/Ascend910/custom_bak - autotune_dump_path=${cur_path}/output/autotune_dump - mkdir -p ${autotune_dump_path}/GA - mkdir -p ${autotune_dump_path}/rl - cp -rf $install_path/fwkacllib/data/tiling/Ascend910/custom ${autotune_dump_path}/GA/ - cp -rf $install_path/fwkacllib/data/rl/Ascend910/custom ${autotune_dump_path}/RL/ - elif [[ $para == --data_path* ]];then - data_path=`echo ${para#*=}` - fi -done - -#校验是否传入data_path,不需要修改 -if [[ $data_path == "" ]];then - echo "[Error] para \"data_path\" must be confing" - exit 1 -fi - - -#训练开始时间,不需要修改 -start_time=$(date +%s) - -#进入训练脚本目录,需要模型审视修改 -cd $cur_path/../ -for((RANK_ID_n=$RANK_ID_START;RANK_ID_n<$((RANK_SIZE+RANK_ID_START));RANK_ID_n++)); -do - #设置环境变量,不需要修改 - echo "Device ID: $RANK_ID_n" - #export RANK_ID_n=$RANK_ID - export ASCEND_DEVICE_ID=$RANK_ID_n - ASCEND_DEVICE_ID=$RANK_ID_n - - # 自行添加环境变量 - - export DEVICE_ID=$RANK_ID_n - DEVICE_INDEX=$DEVICE_ID - export DEVICE_INDEX=${DEVICE_INDEX} - - #创建DeviceID输出目录,不需要修改 - if [ -d ${cur_path}/output/${ASCEND_DEVICE_ID} ];then - rm -rf ${cur_path}/output/${ASCEND_DEVICE_ID} - mkdir -p ${cur_path}/output/$ASCEND_DEVICE_ID/ckpt - else - mkdir -p ${cur_path}/output/$ASCEND_DEVICE_ID/ckpt - fi - - - - #执行训练脚本,以下传参不需要修改,其他需要模型审视修改 - #--data_dir, --model_dir, --precision_mode, --over_dump, --over_dump_path,--data_dump_flag,--data_dump_step,--data_dump_path,--profiling,--profiling_dump_path - python3 tools/train_npu.py --dataset_dir=$data_path \ - --char_dict_path=$data_path/char_dict/char_dict.json \ - --ord_map_dict_path=$data_path/char_dict/ord_map.json \ - --save_dir=${cur_path}/output/$ASCEND_DEVICE_ID/ckpt/ \ - --momentum=0.95 \ - --lr=0.08 \ - --use_nesterov=True \ - --warmup_step=8000 \ - --num_iters=${ITERATIONS} \ - --over_dump=${over_dump} \ - --over_dump_path=${over_dump_path} \ - > ${cur_path}/output/${ASCEND_DEVICE_ID}/train_${ASCEND_DEVICE_ID}.log 2>&1 & - #--data_dump_flag=${data_dump_flag} \ - #--data_dump_step=${data_dump_step} \ - #--data_dump_path=${data_dump_path} \ - #--profiling=${profiling} \ - #--profiling_dump_path=${profiling_dump_path} \ - #--autotune=${autotune} > ${cur_path}/output/${ASCEND_DEVICE_ID}/train_${ASCEND_DEVICE_ID}.log 2>&1 & -done -wait - -#训练结束时间,不需要修改 -end_time=$(date +%s) -e2e_time=$(( $end_time - $start_time )) - -#结果打印,不需要修改 -echo "------------------ Final result ------------------" -#输出性能FPS,需要模型审视修改 -FPS=`grep TimeHistory $cur_path/output/${ASCEND_DEVICE_ID}/train_${ASCEND_DEVICE_ID}.log|awk 'END {print $6}'` -#打印,不需要修改 -echo "Final Performance images/sec : $FPS" - -#输出训练精度,需要模型审视修改 -train_accuracy=`grep train_accuracy $cur_path/output/${ASCEND_DEVICE_ID}/train_${ASCEND_DEVICE_ID}.log|awk 'END {print $8}'|cut -c 1-5` -#打印,不需要修改 -echo "Final Train Accuracy : ${train_accuracy}" -echo "E2E Training Duration sec : $e2e_time" - -#稳定性精度看护结果汇总 -#训练用例信息,不需要修改 -BatchSize=${batch_size} -DeviceType=`uname -m` -CaseName=${Network}_bs${BatchSize}_${RANK_SIZE}'p'_'acc' - -##获取性能数据 -#吞吐量,不需要修改 -ActualFPS=${FPS} -#单迭代训练时长,不需要修改 -TrainingTime=`awk 'BEGIN{printf "%.2f\n",'${BatchSize}'*'${RANK_SIZE}'*1000/'${FPS}'}'` - -#从train_$ASCEND_DEVICE_ID.log提取Loss到train_${CaseName}_loss.txt中,需要根据模型审视 -grep train_loss $cur_path/output/$ASCEND_DEVICE_ID/train_$ASCEND_DEVICE_ID.log|grep -v BatchTimestamp|awk '{print $10}'|sed 's/,//g'|sed '/^$/d' >> $cur_path/output/$ASCEND_DEVICE_ID/train_${CaseName}_loss.txt - -#最后一个迭代loss值,不需要修改 -ActualLoss=`awk 'END {print}' $cur_path/output/$ASCEND_DEVICE_ID/train_${CaseName}_loss.txt` - -#关键信息打印到${CaseName}.log中,不需要修改 -echo "Network = ${Network}" > $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "RankSize = ${RANK_SIZE}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "BatchSize = ${BatchSize}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "DeviceType = ${DeviceType}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "CaseName = ${CaseName}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "ActualFPS = ${ActualFPS}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "TrainingTime = ${TrainingTime}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "TrainAccuracy = ${train_accuracy}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "ActualLoss = ${ActualLoss}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "E2ETrainingTime = ${e2e_time}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/test/train_full_8p.sh b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/test/train_full_8p.sh deleted file mode 100644 index 3ad21ab23..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/test/train_full_8p.sh +++ /dev/null @@ -1,205 +0,0 @@ -#!/bin/bash - -#当前路径,不需要修改 -cur_path=`pwd` - -#集合通信参数,不需要修改 -export RANK_SIZE=8 -export JOB_ID=99990001 -export RANK_ID=8p -export RANK_TABLE_FILE=${cur_path}/../config/rank_table_8p.json -export HCCL_CONNECT_TIMEOUT=600 -RANK_ID_START=0 - -# 数据集路径,保持为空,不需要修改 -data_path="" - -#基础参数,需要模型审视修改 -#网络名称,同目录名称 -Network="CRNN_for_TensorFlow" - -#训练batch_size -batch_size=64 - - -#维测参数,precision_mode需要模型审视修改 -#precision_mode="allow_mix_precision" -#维持参数,以下不需要修改 -over_dump=False -data_dump_flag=False -data_dump_step="10" -profiling=False -autotune=False - -# 帮助信息,不需要修改 -if [[ $1 == --help || $1 == -h ]];then - echo"usage:./train_full_1p.sh " - echo " " - echo "parameter explain: - --precision_mode precision mode(allow_fp32_to_fp16/force_fp16/must_keep_origin_dtype/allow_mix_precision) - --over_dump if or not over detection, default is False - --data_dump_flag data dump flag, default is False - --data_dump_step data dump step, default is 10 - --profiling if or not profiling for performance debug, default is False - --autotune whether to enable autotune, default is False - --data_path source data of training - -h/--help show help message - " - exit 1 -fi - -#参数校验,不需要修改 -for para in $* -do - if [[ $para == --precision_mode* ]];then - precision_mode=`echo ${para#*=}` - elif [[ $para == --over_dump* ]];then - over_dump=`echo ${para#*=}` - over_dump_path=${cur_path}/output/overflow_dump - mkdir -p ${over_dump_path} - elif [[ $para == --data_dump_flag* ]];then - data_dump_flag=`echo ${para#*=}` - data_dump_path=${cur_path}/output/data_dump - mkdir -p ${data_dump_path} - elif [[ $para == --data_dump_step* ]];then - data_dump_step=`echo ${para#*=}` - elif [[ $para == --profiling* ]];then - profiling=`echo ${para#*=}` - profiling_dump_path=${cur_path}/output/profiling - mkdir -p ${profiling_dump_path} - elif [[ $para == --autotune* ]];then - autotune=`echo ${para#*=}` - mv $install_path/fwkacllib/data/rl/Ascend910/custom $install_path/fwkacllib/data/rl/Ascend910/custom_bak - mv $install_path/fwkacllib/data/tiling/Ascend910/custom $install_path/fwkacllib/data/tiling/Ascend910/custom_bak - autotune_dump_path=${cur_path}/output/autotune_dump - mkdir -p ${autotune_dump_path}/GA - mkdir -p ${autotune_dump_path}/rl - cp -rf $install_path/fwkacllib/data/tiling/Ascend910/custom ${autotune_dump_path}/GA/ - cp -rf $install_path/fwkacllib/data/rl/Ascend910/custom ${autotune_dump_path}/RL/ - elif [[ $para == --data_path* ]];then - data_path=`echo ${para#*=}` - elif [[ $para == --bind_core* ]]; then - bind_core=`echo ${para#*=}` - name_bind="_bindcore" - fi -done - -#校验是否传入data_path,不需要修改 -if [[ $data_path == "" ]];then - echo "[Error] para \"data_path\" must be confing" - exit 1 -fi - -#autotune时,先开启autotune执行单P训练,不需要修改 -if [[ $autotune == True ]]; then - train_full_1p.sh --autotune=$autotune --data_path=$data_path - wait - autotune=False -fi - -#训练开始时间,不需要修改 -start_time=$(date +%s) - -#进入训练脚本目录,需要模型审视修改 -cd $cur_path/../ -for((RANK_ID=$RANK_ID_START;RANK_ID<$((RANK_SIZE+RANK_ID_START));RANK_ID++)); -do - #设置环境变量,不需要修改 - echo "Device ID: $RANK_ID" - export RANK_ID=$RANK_ID - export DEVICE_INDEX=$RANK_ID - export ASCEND_DEVICE_ID=$RANK_ID - ASCEND_DEVICE_ID=$RANK_ID - - #创建DeviceID输出目录,不需要修改 - if [ -d ${cur_path}/output/${ASCEND_DEVICE_ID} ];then - rm -rf ${cur_path}/output/${ASCEND_DEVICE_ID} - mkdir -p ${cur_path}/output/$ASCEND_DEVICE_ID/ckpt - else - mkdir -p ${cur_path}/output/$ASCEND_DEVICE_ID/ckpt - fi - - # 绑核,不需要的绑核的模型删除,需要模型审视修改 - #corenum=`cat /proc/cpuinfo |grep "processor"|wc -l` - #let a=RANK_ID*${corenum}/${RANK_SIZE} - #let b=RANK_ID+1 - #let c=b*${corenum}/${RANK_SIZE}-1 - - #执行训练脚本,以下传参不需要修改,其他需要模型审视修改 - #--data_dir, --model_dir, --precision_mode, --over_dump, --over_dump_path,--data_dump_flag,--data_dump_step,--data_dump_path,--profiling,--profiling_dump_path - #if [ "x${bind_core}" != x ];then - # bind_core="taskset -c $a-$c" - #fi - python3.7 ${cur_path}/../tools/train_npu.py \ - --dataset_dir=${data_path} \ - --char_dict_path=${data_path}/char_dict/char_dict.json \ - --ord_map_dict_path=${data_path}/char_dict/ord_map.json \ - --save_dir=./ \ - --momentum=0.95 \ - --lr=0.08 \ - --use_nesterov=True \ - --warmup_step=8000 \ - --num_iters=240000 > ${cur_path}/output/${ASCEND_DEVICE_ID}/train_${ASCEND_DEVICE_ID}.log 2>&1 & -done -wait - -unset RANK_TABLE_FILE -python3 ${cur_path}/../tools/eval_ckpt.py --weights_path=${cur_path}/../ \ - --device_id=0 \ - --scripts=${cur_path}/../tools/other_dataset_evaluate_shadownet.py \ - --dataset_dir=${data_path}/test/svt1/processed/ \ - --root_dir=${cur_path}/../ \ - --char_dict_path=${data_path}/char_dict/char_dict.json \ - --ord_map_dict_path=${data_path}/char_dict/ord_map.json \ - --annotation_file=${data_path}/test/svt1/annotation.txt >> ${cur_path}/output/0/train_0.log 2>&1 & -wait - - - -#训练结束时间,不需要修改 -end_time=$(date +%s) -e2e_time=$(( $end_time - $start_time )) - -#结果打印,不需要修改 -echo "------------------ Final result ------------------" -#输出性能FPS,需要模型审视修改 -ASCEND_DEVICE_ID=0 -FPS=`cat ${cur_path}/output/${ASCEND_DEVICE_ID}/train_${ASCEND_DEVICE_ID}.log | grep "Epoch_Train:" | grep -v "train_npu.py" | awk -F "FPS: " '{print $2}' | awk -F "," '{print $1}' | tail -n +2 | awk '{sum+=$1} END {print sum/NR}'` -#打印,不需要修改 -echo "Final Performance images/sec : $FPS" - -#输出训练精度,需要模型审视修改 -train_accuracy=`grep "accuracy" ${cur_path}/output/${ASCEND_DEVICE_ID}/train_${ASCEND_DEVICE_ID}.log|grep -v "other_dataset_evaluate_shadownet.py"|grep -v "full"|awk 'END {print $7}'` -#打印,不需要修改 -echo "Final Train Accuracy : ${train_accuracy}" -echo "E2E Training Duration sec : $e2e_time" - -#稳定性精度看护结果汇总 -#训练用例信息,不需要修改 -BatchSize=${batch_size} -DeviceType=`uname -m` -CaseName=${Network}${name_bind}_bs${BatchSize}_${RANK_SIZE}'p'_'acc' - -##获取性能数据 -#吞吐量,不需要修改 -ActualFPS=${FPS} -#单迭代训练时长,不需要修改 -TrainingTime=`awk 'BEGIN{printf "%.2f\n",'${batch_size}'*'${RANK_SIZE}'*1000/'${FPS}'}'` - -#从train_$ASCEND_DEVICE_ID.log提取Loss到train_${CaseName}_loss.txt中,需要根据模型审视 -grep "Epoch_Train:" $cur_path/output/$ASCEND_DEVICE_ID/train_$ASCEND_DEVICE_ID.log | grep -v "train_npu.py" | awk -F "cost= " '{print $2}' | awk -F "," '{print $1}' >> $cur_path/output/$ASCEND_DEVICE_ID/train_${CaseName}_loss.txt - -#最后一个迭代loss值,不需要修改 -ActualLoss=`awk 'END {print}' $cur_path/output/$ASCEND_DEVICE_ID/train_${CaseName}_loss.txt` - -#关键信息打印到${CaseName}.log中,不需要修改 -echo "Network = ${Network}" > $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "RankSize = ${RANK_SIZE}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "BatchSize = ${BatchSize}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "DeviceType = ${DeviceType}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "CaseName = ${CaseName}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "ActualFPS = ${ActualFPS}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "TrainAccuracy = ${train_accuracy}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "TrainingTime = ${TrainingTime}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "ActualLoss = ${ActualLoss}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log -echo "E2ETrainingTime = ${e2e_time}" >> $cur_path/output/$ASCEND_DEVICE_ID/${CaseName}.log \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/__init__.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/__init__.py deleted file mode 100644 index 3067a5b38..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -## @Time : 17-9-21 涓嬪崍6:37 -# @Author : Luo Yao -# @Site : http://github.com/TJCVRS -# @File : __init__.py.py -# @IDE: PyCharm Community Edition \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/apply_ocr_pdf.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/apply_ocr_pdf.py deleted file mode 100644 index 09c59b7d6..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/apply_ocr_pdf.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -## @Time : 19-4-10 涓嬪崍5:31 -# @Author : LuoYao -# @Site : ICode -# @File : apply_ocr_pdf.py -# @IDE: PyCharm \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/eval_ckpt.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/eval_ckpt.py deleted file mode 100644 index d895881d5..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/eval_ckpt.py +++ /dev/null @@ -1,84 +0,0 @@ -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import os -import argparse - - -def init_args(): - """ - :return: parsed arguments and (updated) config.cfg object - """ - parser = argparse.ArgumentParser() - parser.add_argument('-d', '--dataset_dir', type=str,default='data/', - help='Directory containing test_features.tfrecords') - parser.add_argument('-a', '--annotation_file', type=str,default='data/', - help='Directory containing test_features.tfrecords') - parser.add_argument('-c', '--char_dict_path', type=str,default='data/char_dict/char_dict.json', - help='Directory where character dictionaries for the dataset were stored') - parser.add_argument('-o', '--ord_map_dict_path', type=str,default='data/char_dict/ord_map.json', - help='Directory where ord map dictionaries for the dataset were stored') - parser.add_argument('-w', '--weights_path', type=str, required=True, - help='Path to pre-trained weights') - parser.add_argument('-i', '--device_id', type=str, default='0', - help='which npu device to use') - parser.add_argument('-s', '--scripts', type=str, default='tools/evaluate_shadownet.py', - help='which script to run') - parser.add_argument('-p', '--process_all', type=int, default=0, - help='Whether to process all test dataset') - parser.add_argument('-r', '--root_dir', type=str,default='./', - help='root directory of the project') - - return parser.parse_args() - - - -def main(): - args = init_args() - ckpt_names = [ f for f in os.listdir(args.weights_path) if '.meta' in f ] - ckpt_files = [ os.path.join(args.weights_path, ckpt.strip(".meta")) for ckpt in ckpt_names] - - device_id = 'DEVICE_ID=' + str(args.device_id) - scripts = ' python3 '+ os.path.join(args.root_dir,args.scripts) - data_dir = ' --dataset_dir='+ os.path.join(args.root_dir,args.dataset_dir) - annotation_file = ' --annotation_file=' +args.annotation_file - char_dict = ' --char_dict_path='+os.path.join(args.root_dir,args.char_dict_path) - ord_map = ' --ord_map_dict_path='+os.path.join(args.root_dir,args.ord_map_dict_path) - cmd_base = device_id + scripts + \ - annotation_file + \ - data_dir + char_dict + \ - ord_map + ' -p 1' - - for ckpt in ckpt_files: - weight_path = ' --weights_path='+ckpt - cmd = cmd_base + weight_path - os.system(cmd) - - -if __name__=='__main__': - main() diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/evaluate_shadownet.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/evaluate_shadownet.py deleted file mode 100644 index cedd01324..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/evaluate_shadownet.py +++ /dev/null @@ -1,296 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 17-9-25 涓嬪崍3:56 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : evaluate_shadownet.py -# @IDE: PyCharm Community Edition -""" -Evaluate the crnn model on the synth90k test dataset -""" -import argparse -import os.path as ops -import os -import math -import time -import sys -import tensorflow as tf -#import matplotlib.pyplot as plt -import numpy as np -import glog as log -import tqdm -from sklearn.metrics import confusion_matrix -from tensorflow.core.protobuf.rewriter_config_pb2 import RewriterConfig - -cur_path = os.path.abspath(os.path.dirname(__file__)) -working_dir = os.path.join(cur_path, '../') -sys.path.append(working_dir) - - -from crnn_model import crnn_net -from config import global_config -from data_provider import shadownet_data_feed_pipline -from data_provider import tf_io_pipline_fast_tools -from local_utils import evaluation_tools - - -CFG = global_config.cfg - - -def init_args(): - """ - :return: parsed arguments and (updated) config.cfg object - """ - parser = argparse.ArgumentParser() - parser.add_argument('-d', '--dataset_dir', type=str,default='data/', - help='Directory containing test_features.tfrecords') - parser.add_argument('-c', '--char_dict_path', type=str,default='data/char_dict_bak/char_dict_en.json', - help='Directory where character dictionaries for the dataset were stored') - parser.add_argument('-o', '--ord_map_dict_path', type=str,default='data/char_dict_bak/ord_map_en.json', - help='Directory where ord map dictionaries for the dataset were stored') - parser.add_argument('-w', '--weights_path', type=str, required=True, - help='Path to pre-trained weights') - parser.add_argument('-v', '--visualize', type=args_str2bool, nargs='?', const=False, - help='Whether to display images') - parser.add_argument('-p', '--process_all', type=args_str2bool, nargs='?', const=False, - help='Whether to process all test dataset') - - return parser.parse_args() - - -def args_str2bool(arg_value): - """ - - :param arg_value: - :return: - """ - if arg_value.lower() in ('yes', 'true', 't', 'y', '1'): - return True - - elif arg_value.lower() in ('no', 'false', 'f', 'n', '0'): - return False - else: - raise argparse.ArgumentTypeError('Unsupported value encountered.') - - - - -def evaluate_shadownet(dataset_dir, weights_path, char_dict_path, - ord_map_dict_path, is_visualize=False, - is_process_all_data=False): - """ - - :param dataset_dir: - :param weights_path: - :param char_dict_path: - :param ord_map_dict_path: - :param is_visualize: - :param is_process_all_data: - :return: - """ - # prepare dataset - test_dataset = shadownet_data_feed_pipline.CrnnDataFeeder( - dataset_dir=dataset_dir, - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path, - flags='test' - ) - test_images, test_labels, test_images_paths,test_label_length = test_dataset.inputs( - batch_size=128 - ) - x, y = np.meshgrid(np.arange(CFG.ARCH.MAX_LENGTH), np.arange(128)) - indexes = np.concatenate([y.flatten()[:, None], x.flatten()[:, None]], axis=1) - indexes = tf.constant(indexes, dtype=tf.int64) - test_labels = tf.SparseTensor(indexes, tf.reshape(test_labels, [-1]), np.array([128, CFG.ARCH.MAX_LENGTH], dtype=np.int64)) - - # set up test sample count - if is_process_all_data: - log.info('Start computing test dataset sample counts') - t_start = time.time() - test_sample_count = test_dataset.sample_counts() - log.info('Test dataset sample counts: {:d}'.format(test_sample_count)) - log.info('Computing test dataset sample counts finished, cost time: {:.5f}'.format(time.time() - t_start)) - num_iterations = int(math.ceil(test_sample_count / 128)) - else: - num_iterations = 1 - - # declare crnn net - shadownet = crnn_net.ShadowNet( - phase='test', - hidden_nums=CFG.ARCH.HIDDEN_UNITS, - layers_nums=CFG.ARCH.HIDDEN_LAYERS, - num_classes=CFG.ARCH.NUM_CLASSES - ) - # set up decoder - decoder = tf_io_pipline_fast_tools.CrnnFeatureReader( - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path - ) - - # compute inference result - test_inference_ret = shadownet.inference( - inputdata=test_images, - name='shadow_net', - reuse=False - ) - test_decoded, test_log_prob = tf.nn.ctc_greedy_decoder( - test_inference_ret, - CFG.ARCH.SEQ_LENGTH * np.ones(128), - merge_repeated=True - ) - - # recover image from [-1.0, 1.0] ---> [0.0, 255.0] - test_images = tf.multiply(tf.add(test_images, 1.0), 127.5, name='recoverd_test_images') - - # Set saver configuration - saver = tf.train.Saver() - - # NPU CONFIG - config = tf.ConfigProto() - custom_op = config.graph_options.rewrite_options.custom_optimizers.add() - custom_op.name = "NpuOptimizer" - custom_op.parameter_map["use_off_line"].b = True - custom_op.parameter_map["enable_data_pre_proc"].b = True - custom_op.parameter_map["precision_mode"].s = tf.compat.as_bytes('allow_mix_precision') - custom_op.parameter_map["mix_compile_mode"].b = False # 娣峰悎璁$畻 - config.graph_options.rewrite_options.remapping = RewriterConfig.OFF - - # Set sess configuration - #sess_config = tf.ConfigProto(allow_soft_placement=True) - #sess_config.gpu_options.per_process_gpu_memory_fraction = CFG.TRAIN.GPU_MEMORY_FRACTION - #sess_config.gpu_options.allow_growth = CFG.TRAIN.TF_ALLOW_GROWTH - - #sess = tf.Session(config=sess_config) - sess = tf.Session(config=config) - - with sess.as_default(): - saver.restore(sess=sess, save_path=weights_path) - - log.info('Start predicting...') - - per_char_accuracy = 0.0 - full_sequence_accuracy = 0.0 - - total_labels_char_list = [] - total_predictions_char_list = [] - epoch_tqdm = tqdm.tqdm(range(num_iterations)) - - while True: - try: - for epoch in epoch_tqdm: - t_start = time.time() - test_predictions_value, test_images_value, test_labels_value, test_images_paths_value = sess.run( - [test_decoded, test_images, test_labels, test_images_paths]) - test_images_paths_value = np.reshape( - test_images_paths_value, - newshape=test_images_paths_value.shape[0] - ) - test_images_paths_value = [tmp.decode('utf-8') for tmp in test_images_paths_value] - test_images_names_value = [ops.split(tmp)[1] for tmp in test_images_paths_value] - test_labels_value = decoder.sparse_tensor_to_str(test_labels_value) - test_predictions_value = decoder.sparse_tensor_to_str(test_predictions_value[0]) - - per_char_accuracy += evaluation_tools.compute_accuracy( - test_labels_value, test_predictions_value, display=False, mode='per_char' - ) - full_sequence_accuracy += evaluation_tools.compute_accuracy( - test_labels_value, test_predictions_value, display=False, mode='full_sequence' - ) - - for index, test_image in enumerate(test_images_value): - log.info('Predict {:s} image with gt label: {:s} **** predicted label: {:s}'.format( - test_images_names_value[index], - test_labels_value[index], - test_predictions_value[index])) - - if is_visualize: - plt.imshow(np.array(test_image, np.uint8)[:, :, (2, 1, 0)]) - plt.show() - - test_labels_char_list_value = [s for s in test_labels_value[index]] - test_predictions_char_list_value = [s for s in test_predictions_value[index]] - - if not test_labels_char_list_value or not test_predictions_char_list_value: - continue - - if len(test_labels_char_list_value) != len(test_predictions_char_list_value): - min_length = min(len(test_labels_char_list_value), - len(test_predictions_char_list_value)) - test_labels_char_list_value = test_labels_char_list_value[:min_length - 1] - test_predictions_char_list_value = test_predictions_char_list_value[:min_length - 1] - - assert len(test_labels_char_list_value) == len(test_predictions_char_list_value), \ - log.error('{}, {}'.format(test_labels_char_list_value, test_predictions_char_list_value)) - - total_labels_char_list.extend(test_labels_char_list_value) - total_predictions_char_list.extend(test_predictions_char_list_value) - if is_visualize: - plt.imshow(np.array(test_image, np.uint8)[:, :, (2, 1, 0)]) - epoch_tqdm.set_description('Epoch {:d} cost time: {:.5f}s'.format(epoch, time.time() - t_start)) - if num_iterations == 1: - raise tf.errors.OutOfRangeError - except tf.errors.OutOfRangeError: - log.error('End of tfrecords sequence') - break - except Exception as err: - log.error(err) - break - - epoch_tqdm.close() - avg_per_char_accuracy = per_char_accuracy / num_iterations - avg_full_sequence_accuracy = full_sequence_accuracy / num_iterations - log.info('Mean test per char accuracy is {:5f}'.format(avg_per_char_accuracy)) - log.info('Mean test full sequence accuracy is {:5f}'.format(avg_full_sequence_accuracy)) - print('Mean test per char accuracy is {:5f}'.format(avg_per_char_accuracy)) - print('Mean test full sequence accuracy is {:5f}'.format(avg_full_sequence_accuracy)) - # compute confusion matrix - cnf_matrix = confusion_matrix(total_labels_char_list, total_predictions_char_list) - np.set_printoptions(precision=2) - #evaluation_tools.plot_confusion_matrix(cm=cnf_matrix, normalize=True) - - #plt.show() - - -if __name__ == '__main__': - """ - test code - """ - args = init_args() - - print('weight path :{}'.format(args.weights_path)) - evaluate_shadownet( - dataset_dir=args.dataset_dir, - weights_path=args.weights_path, - char_dict_path=args.char_dict_path, - ord_map_dict_path=args.ord_map_dict_path, - is_visualize=args.visualize, - is_process_all_data=args.process_all - ) diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/frozen_graph.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/frozen_graph.py deleted file mode 100644 index dec4bc73a..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/frozen_graph.py +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================= -import tensorflow as tf -from tensorflow.python.tools import freeze_graph -from crnn_model import crnn_net -import argparse -from config import global_config -from data_provider import tf_io_pipline_fast_tools -import numpy as np - -CFG = global_config.cfg - -#set checkpoint path -def parse_args(): - parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) - parser.add_argument('--ckpt_path',default="./model/shadownet.ckpt-60000",help="set checkpoint file path") - args,unknown_args = parser.parse_known_args() - if len(unknown_args) > 0: - for bad_arg in unknown_args: - print("ERROR: Unknown command line arg: %s" % bad_arg) - raise ValueError("Invalid command line arg(s)") - return args - -def main(): - args = parse_args() - tf.reset_default_graph() - # modify input node - batchsize = 64 - test_images = tf.placeholder(tf.float32, shape=[batchsize, 32, 100, 3],name="test_images") - #build inference graph - shadownet = crnn_net.ShadowNet( - phase = 'test', - hidden_nums = CFG.ARCH.HIDDEN_UNITS, - layers_nums = CFG.ARCH.HIDDEN_LAYERS, - num_classes = CFG.ARCH.NUM_CLASSES - ) - #compute inference result - test_inference_ret = shadownet.inference( - inputdata = test_images, - name = 'shadow_net', - reuse = False - ) - test_decoded, test_log_prob = tf.nn.ctc_greedy_decoder( - test_inference_ret, - CFG.ARCH.SEQ_LENGTH * np.ones(batchsize), - merge_repeated = True - ) - - with tf.Session() as sess: - #save unfrozen graph - tf.train.write_graph(sess.graph_def, './', 'model.pb') - #start to froze graph - freeze_graph.freeze_graph( - input_graph = './model.pb', - input_saver = '', - input_binary = False, - input_checkpoint = args.ckpt_path, - output_node_names = 'shadow_net/Cast', - restore_op_name = 'save/restore_all', - filename_tensor_name = 'save/Const:0', - output_graph = 'shadownet_tf_%dbatch.pb'%batchsize, - clear_devices = False, - initializer_nodes = '' - ) - print("Done!") - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/other_dataset_evaluate_shadownet.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/other_dataset_evaluate_shadownet.py deleted file mode 100644 index 888abdfc9..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/other_dataset_evaluate_shadownet.py +++ /dev/null @@ -1,263 +0,0 @@ -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Evaluate the crnn model on the test dataset -- IIIT5K -- ICDAR03 -- SVT -""" -import argparse -import os.path as ops -import os -import math -import time -import sys -import tensorflow as tf -import numpy as np -import glog as log -import tqdm -from sklearn.metrics import confusion_matrix -from tensorflow.core.protobuf.rewriter_config_pb2 import RewriterConfig -from PIL import Image - -cur_path = os.path.abspath(os.path.dirname(__file__)) -working_dir = os.path.join(cur_path, '../') -sys.path.append(working_dir) - - -from crnn_model import crnn_net -from config import global_config -from data_provider import shadownet_data_feed_pipline -from data_provider import tf_io_pipline_fast_tools -from local_utils import evaluation_tools - - -CFG = global_config.cfg - - -def init_args(): - """ - :return: parsed arguments and (updated) config.cfg object - """ - parser = argparse.ArgumentParser() - parser.add_argument('-d', '--dataset_dir', type=str,default='data/', - help='Directory containing test_features.tfrecords') - parser.add_argument('-c', '--char_dict_path', type=str,default='data/char_dict/char_dict.json', - help='Directory where character dictionaries for the dataset were stored') - parser.add_argument('-o', '--ord_map_dict_path', type=str,default='data/char_dict/ord_map.json', - help='Directory where ord map dictionaries for the dataset were stored') - parser.add_argument('-w', '--weights_path', type=str, required=True, - help='Path to pre-trained weights') - parser.add_argument('-a', '--annotation_file', type=str, required=True, - help='Path to annotation file') - parser.add_argument('-v', '--visualize', type=args_str2bool, nargs='?', const=False, - help='Whether to display images') - parser.add_argument('-p', '--process_all', type=args_str2bool, nargs='?', const=False, - help='Whether to process all test dataset') - - return parser.parse_args() - - -def args_str2bool(arg_value): - """ - - :param arg_value: - :return: - """ - if arg_value.lower() in ('yes', 'true', 't', 'y', '1'): - return True - - elif arg_value.lower() in ('no', 'false', 'f', 'n', '0'): - return False - else: - raise argparse.ArgumentTypeError('Unsupported value encountered.') - -def get_batch_data(data_dir,annotation): - ''' - :params data_dir: directory of images - :params annotation: a list of pairs (image_name, labels) - - :return imgs: resized image data, shape:(batchsize, 32, 100, 3) - :return labels: labels for each images - ''' - - imgs = [] - labels = [] - - for index, ann in enumerate(annotation): - img_name,label = ann.split(",")[0],ann.split(",")[1] - label = label.strip() - labels.append(label.lower()) - img_path = os.path.join(data_dir, img_name) - img = Image.open(img_path) - if ".png" in img_name: - img = img.convert('RGB') - - img = img.resize((100,32),Image.BILINEAR) - img = np.array(img).astype(np.float32) - img = (img-127.5)/255 - #img = (img/127.5)-1.0 - img_shape = img.shape - - - if len(img_shape)==2: - img = img.reshape([32,100,1]) - img = np.concatenate([img,img,img],axis=2) - - imgs.append(img) - return imgs, labels - - -def get_annotation(annotation_file): - ann_file = open(annotation_file,'r') - annotation_list = [line.strip("\n") for line in ann_file.readlines()] - ann_file.close() - return annotation_list - - -def evaluate_shadownet(dataset_dir, weights_path, char_dict_path, - ord_map_dict_path,annotation_file, - is_visualize=False, - is_process_all_data=False): - """ - - :param dataset_dir: - :param weights_path: - :param char_dict_path: - :param ord_map_dict_path: - :param is_visualize: - :param is_process_all_data: - :return: - """ - - batchsize = 16 - test_images = tf.placeholder(tf.float32, shape=[batchsize, 32, 100, 3],name="test_images") - - # declare crnn net - shadownet = crnn_net.ShadowNet( - phase='test', - hidden_nums=CFG.ARCH.HIDDEN_UNITS, - layers_nums=CFG.ARCH.HIDDEN_LAYERS, - num_classes=CFG.ARCH.NUM_CLASSES - ) - # set up decoder - decoder = tf_io_pipline_fast_tools.CrnnFeatureReader( - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path - ) - - # compute inference result - test_inference_ret = shadownet.inference( - inputdata=test_images, - name='shadow_net', - reuse=False - ) - test_decoded, test_log_prob = tf.nn.ctc_greedy_decoder( - test_inference_ret, - CFG.ARCH.SEQ_LENGTH * np.ones(batchsize), - merge_repeated=True - ) - - # Set saver configuration - saver = tf.train.Saver() - - # NPU CONFIG - config = tf.ConfigProto() - custom_op = config.graph_options.rewrite_options.custom_optimizers.add() - custom_op.name = "NpuOptimizer" - custom_op.parameter_map["use_off_line"].b = True - custom_op.parameter_map["enable_data_pre_proc"].b = True - custom_op.parameter_map["precision_mode"].s = tf.compat.as_bytes('allow_mix_precision') - custom_op.parameter_map["mix_compile_mode"].b = False # 娣峰悎璁$畻 - config.graph_options.rewrite_options.remapping = RewriterConfig.OFF - - sess = tf.Session(config=config) - - with sess.as_default(): - saver.restore(sess=sess, save_path=weights_path) - - log.info('Start predicting...') - - per_char_accuracy = 0 - full_sequence_accuracy = 0.0 - - total_labels_char_list = [] - total_predictions_char_list = [] - - - annotation_list = get_annotation(annotation_file) - num_iterations = len(annotation_list)//batchsize - epoch_tqdm = tqdm.tqdm(range(num_iterations)) - for i in epoch_tqdm: - #for i in range(num_iterations): - anns = annotation_list[i*batchsize:(i+1)*batchsize] - batch_data, batch_label = get_batch_data(dataset_dir, anns) - test_predictions_value = sess.run(test_decoded,feed_dict={test_images: batch_data}) - test_predictions_value = decoder.sparse_tensor_to_str(test_predictions_value[0]) - - - per_char_accuracy += evaluation_tools.compute_accuracy( - batch_label, test_predictions_value, display=False, mode='per_char' - ) - - full_sequence_accuracy += evaluation_tools.compute_accuracy( - batch_label, test_predictions_value, display=False, mode='full_sequence' - ) - for index, ann in enumerate(anns): - log.info(ann) - log.info("predicted values :{}".format(test_predictions_value[index])) - - - - epoch_tqdm.close() - avg_per_char_accuracy = per_char_accuracy / num_iterations - avg_full_sequence_accuracy = full_sequence_accuracy / num_iterations - log.info('Mean test per char accuracy is {:5f}'.format(avg_per_char_accuracy)) - log.info('Mean test full sequence accuracy is {:5f}'.format(avg_full_sequence_accuracy)) - print('Mean test per char accuracy is {:5f}'.format(avg_per_char_accuracy)) - print('Mean test full sequence accuracy is {:5f}'.format(avg_full_sequence_accuracy)) - - - -if __name__ == '__main__': - """ - test code - """ - args = init_args() - - print('checkpoint {}'.format(args.weights_path)) - evaluate_shadownet( - dataset_dir=args.dataset_dir, - weights_path=args.weights_path, - char_dict_path=args.char_dict_path, - ord_map_dict_path=args.ord_map_dict_path, - annotation_file=args.annotation_file, - is_visualize=args.visualize, - is_process_all_data=args.process_all - ) diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/recongnize_chinese_pdf.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/recongnize_chinese_pdf.py deleted file mode 100644 index a337bc824..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/recongnize_chinese_pdf.py +++ /dev/null @@ -1,295 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 19-4-8 涓嬪崍10:24 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : recongnize_chinese_pdf.py -# @IDE: PyCharm -""" -test the model to recognize the chinese pdf file -""" -import argparse - -import cv2 -import numpy as np -import tensorflow as tf - -from config import global_config -from crnn_model import crnn_net -from data_provider import tf_io_pipline_fast_tools - -CFG = global_config.cfg - - -def init_args(): - """ - - :return: parsed arguments and (updated) config.cfg object - """ - parser = argparse.ArgumentParser() - parser.add_argument('--image_path', type=str, - help='Path to the image to be tested', - default='data/test_images/test_01.jpg') - parser.add_argument('--weights_path', type=str, - help='Path to the pre-trained weights to use') - parser.add_argument('-c', '--char_dict_path', type=str, - help='Directory where character dictionaries for the dataset were stored') - parser.add_argument('-o', '--ord_map_dict_path', type=str, - help='Directory where ord map dictionaries for the dataset were stored') - parser.add_argument('--save_path', type=str, - help='The output path of recognition result') - - return parser.parse_args() - - -def args_str2bool(arg_value): - """ - - :param arg_value: - :return: - """ - if arg_value.lower() in ('yes', 'true', 't', 'y', '1'): - return True - - elif arg_value.lower() in ('no', 'false', 'f', 'n', '0'): - return False - else: - raise argparse.ArgumentTypeError('Unsupported value encountered.') - - -def split_pdf_image_into_row_image_block(pdf_image): - """ - split the whole pdf image into row image block - :param pdf_image: the whole color pdf image - :return: - """ - gray_image = cv2.cvtColor(pdf_image, cv2.COLOR_BGR2GRAY) - binarized_image = cv2.adaptiveThreshold( - src=gray_image, - maxValue=255, - adaptiveMethod=cv2.ADAPTIVE_THRESH_GAUSSIAN_C, - thresholdType=cv2.THRESH_BINARY, - blockSize=11, - C=2 - ) - - # sum along the row axis - row_sum = np.sum(binarized_image, axis=1) - idx_row_sum = np.argwhere(row_sum < row_sum.max())[:, 0] - - split_idx = [] - - start_idx = idx_row_sum[0] - for index, idx in enumerate(idx_row_sum[:-1]): - if idx_row_sum[index + 1] - idx > 5: - end_idx = idx - split_idx.append((start_idx, end_idx)) - start_idx = idx_row_sum[index + 1] - split_idx.append((start_idx, idx_row_sum[-1])) - - pdf_image_splits = [] - for index in range(len(split_idx)): - idx = split_idx[index] - pdf_image_split = pdf_image[idx[0]:idx[1], :, :] - pdf_image_splits.append(pdf_image_split) - - return pdf_image_splits - - -def locate_text_area(pdf_image_row_block): - """ - locate the text area of the image row block - :param pdf_image_row_block: color pdf image block - :return: - """ - gray_image = cv2.cvtColor(pdf_image_row_block, cv2.COLOR_BGR2GRAY) - binarized_image = cv2.adaptiveThreshold( - src=gray_image, - maxValue=255, - adaptiveMethod=cv2.ADAPTIVE_THRESH_GAUSSIAN_C, - thresholdType=cv2.THRESH_BINARY, - blockSize=11, - C=2 - ) - - # sum along the col axis - col_sum = np.sum(binarized_image, axis=0) - idx_col_sum = np.argwhere(col_sum < col_sum.max())[:, 0] - - start_col = idx_col_sum[0] if idx_col_sum[0] > 0 else 0 - end_col = idx_col_sum[-1] - end_col = end_col if end_col < pdf_image_row_block.shape[1] else pdf_image_row_block.shape[1] - 1 - - return pdf_image_row_block[:, start_col:end_col, :] - - -def recognize(image_path, weights_path, char_dict_path, ord_map_dict_path, output_path): - """ - - :param image_path: - :param weights_path: - :param char_dict_path: - :param ord_map_dict_path: - :param output_path: - :return: - """ - # read pdf image - image = cv2.imread(image_path, cv2.IMREAD_COLOR) - - # split pdf image into row block - pdf_image_row_blocks = split_pdf_image_into_row_image_block(image) - - # locate the text area in each row block - pdf_image_text_areas = [] - new_heigth = 32 - max_text_area_length = -1 - for index, row_block in enumerate(pdf_image_row_blocks): - text_area = locate_text_area(row_block) - text_area_height = text_area.shape[0] - scale = new_heigth / text_area_height - max_text_area_length = max(max_text_area_length, int(scale * text_area.shape[1])) - pdf_image_text_areas.append(text_area) - new_width = max_text_area_length - new_width = new_width if new_width > CFG.ARCH.INPUT_SIZE[0] else CFG.ARCH.INPUT_SIZE[0] - - # definite the compute graph - inputdata = tf.placeholder( - dtype=tf.float32, - shape=[1, new_heigth, new_width, CFG.ARCH.INPUT_CHANNELS], - name='input' - ) - - codec = tf_io_pipline_fast_tools.CrnnFeatureReader( - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path - ) - - net = crnn_net.ShadowNet( - phase='test', - hidden_nums=CFG.ARCH.HIDDEN_UNITS, - layers_nums=CFG.ARCH.HIDDEN_LAYERS, - num_classes=CFG.ARCH.NUM_CLASSES - ) - - inference_ret = net.inference( - inputdata=inputdata, - name='shadow_net', - reuse=False - ) - - decodes, _ = tf.nn.ctc_beam_search_decoder( - inputs=inference_ret, - sequence_length=int(new_width / 4) * np.ones(1), - merge_repeated=False, - beam_width=1 - ) - - # config tf saver - saver = tf.train.Saver() - - # config tf session - sess_config = tf.ConfigProto(allow_soft_placement=True) - sess_config.gpu_options.per_process_gpu_memory_fraction = CFG.TEST.GPU_MEMORY_FRACTION - sess_config.gpu_options.allow_growth = CFG.TEST.TF_ALLOW_GROWTH - - sess = tf.Session(config=sess_config) - - with sess.as_default(): - saver.restore(sess=sess, save_path=weights_path) - - pdf_recognize_results = [] - - for index, pdf_image_text_area in enumerate(pdf_image_text_areas): - # resize text area into size (None, new_height) - pdf_image_text_area_height = pdf_image_text_area.shape[0] - scale = new_heigth / pdf_image_text_area_height - new_width_tmp = int(scale * pdf_image_text_area.shape[1]) - pdf_image_text_area = cv2.resize( - pdf_image_text_area, (new_width_tmp, new_heigth), - interpolation=cv2.INTER_LINEAR) - # pad text area into size (new_width, new_height) if new_width_tmp < new_width - if new_width_tmp < new_width: - pad_area_width = new_width - new_width_tmp - pad_area = np.zeros(shape=[new_heigth, pad_area_width, 3], dtype=np.uint8) + 255 - pdf_image_text_area = np.concatenate((pdf_image_text_area, pad_area), axis=1) - - pdf_image_text_area = np.array(pdf_image_text_area, np.float32) / 127.5 - 1.0 - - preds = sess.run(decodes, feed_dict={inputdata: [pdf_image_text_area]}) - - preds = codec.sparse_tensor_to_str(preds[0]) - - pdf_recognize_results.append(preds[0]) - - output_text = [] - - need_tab = True - for index, pdf_text in enumerate(pdf_recognize_results): - if need_tab: - text_console_str = '---- {:s}'.format(pdf_text) - text_file_str = ' {:s}'.format(pdf_text) - print(text_console_str) - output_text.append(text_file_str) - need_tab = \ - index < (len(pdf_recognize_results) - 1) and \ - len(pdf_recognize_results[index + 1]) - len(pdf_text) > 10 - else: - text_console_str = '---- {:s}'.format(pdf_text) - text_file_str = ' {:s}'.format(pdf_text) - print(text_console_str) - output_text.append(text_file_str) - need_tab = \ - index < (len(pdf_recognize_results) - 1) and \ - len(pdf_recognize_results[index + 1]) - len(pdf_text) > 10 - - res = '\n'.join(output_text) - - with open(output_path, 'w') as file: - file.writelines(res) - - return - - -if __name__ == '__main__': - """ - - """ - # init images - args = init_args() - - # detect images - recognize( - image_path=args.image_path, - weights_path=args.weights_path, - char_dict_path=args.char_dict_path, - ord_map_dict_path=args.ord_map_dict_path, - output_path=args.save_path - ) diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/test_shadownet.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/test_shadownet.py deleted file mode 100644 index b0879ba57..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/test_shadownet.py +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 17-9-29 涓嬪崍3:56 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : test_shadownet.py -# @IDE: PyCharm Community Edition -""" -Use shadow net to recognize the scene text of a single image -""" -import argparse -import os.path as ops -import os - -cur_path = os.path.abspath(os.path.dirname(__file__)) -working_dir = os.path.join(cur_path, '../') -sys.path.append(working_dir) - -import cv2 -import numpy as np -import tensorflow as tf -import matplotlib.pyplot as plt -import glog as logger -import wordninja - -from config import global_config -from crnn_model import crnn_net -from data_provider import tf_io_pipline_fast_tools - -CFG = global_config.cfg - - -def init_args(): - """ - - :return: parsed arguments and (updated) config.cfg object - """ - parser = argparse.ArgumentParser() - parser.add_argument('--image_path', type=str,default='data/', - help='Path to the image to be tested', - default='data/test_images/test_01.jpg') - parser.add_argument('--weights_path', type=str, - help='Path to the pre-trained weights to use') - parser.add_argument('-c', '--char_dict_path', type=str, - help='Directory where character dictionaries for the dataset were stored') - parser.add_argument('-o', '--ord_map_dict_path', type=str, - help='Directory where ord map dictionaries for the dataset were stored') - parser.add_argument('-v', '--visualize', type=args_str2bool, nargs='?', const=True, - help='Whether to display images') - - return parser.parse_args() - - -def args_str2bool(arg_value): - """ - - :param arg_value: - :return: - """ - if arg_value.lower() in ('yes', 'true', 't', 'y', '1'): - return True - - elif arg_value.lower() in ('no', 'false', 'f', 'n', '0'): - return False - else: - raise argparse.ArgumentTypeError('Unsupported value encountered.') - - -def recognize(image_path, weights_path, char_dict_path, ord_map_dict_path, is_vis, is_english=False): - """ - - :param image_path: - :param weights_path: - :param char_dict_path: - :param ord_map_dict_path: - :param is_vis: - :param is_english: - :return: - """ - image = cv2.imread(image_path, cv2.IMREAD_COLOR) - image = cv2.resize(image, dsize=tuple(CFG.ARCH.INPUT_SIZE), interpolation=cv2.INTER_LINEAR) - image_vis = image - image = np.array(image, np.float32) / 127.5 - 1.0 - - inputdata = tf.placeholder( - dtype=tf.float32, - shape=[1, CFG.ARCH.INPUT_SIZE[1], CFG.ARCH.INPUT_SIZE[0], CFG.ARCH.INPUT_CHANNELS], - name='input' - ) - - codec = tf_io_pipline_fast_tools.CrnnFeatureReader( - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path - ) - - net = crnn_net.ShadowNet( - phase='test', - hidden_nums=CFG.ARCH.HIDDEN_UNITS, - layers_nums=CFG.ARCH.HIDDEN_LAYERS, - num_classes=CFG.ARCH.NUM_CLASSES - ) - - inference_ret = net.inference( - inputdata=inputdata, - name='shadow_net', - reuse=False - ) - - decodes, _ = tf.nn.ctc_greedy_decoder( - inference_ret, - CFG.ARCH.SEQ_LENGTH * np.ones(1), - merge_repeated=True - ) - - # config tf saver - saver = tf.train.Saver() - - # config tf session - sess_config = tf.ConfigProto(allow_soft_placement=True) - sess_config.gpu_options.per_process_gpu_memory_fraction = CFG.TEST.GPU_MEMORY_FRACTION - sess_config.gpu_options.allow_growth = CFG.TEST.TF_ALLOW_GROWTH - - sess = tf.Session(config=sess_config) - - with sess.as_default(): - - saver.restore(sess=sess, save_path=weights_path) - - preds = sess.run(decodes, feed_dict={inputdata: [image]}) - - preds = codec.sparse_tensor_to_str(preds[0])[0] - if is_english: - preds = ' '.join(wordninja.split(preds)) - - logger.info('Predict image {:s} result: {:s}'.format( - ops.split(image_path)[1], preds) - ) - - if is_vis: - plt.figure('CRNN Model Demo') - plt.imshow(image_vis[:, :, (2, 1, 0)]) - plt.show() - - sess.close() - - return - - -if __name__ == '__main__': - """ - - """ - # init images - args = init_args() - - # detect images - recognize( - image_path=args.image_path, - weights_path=args.weights_path, - char_dict_path=args.char_dict_path, - ord_map_dict_path=args.ord_map_dict_path, - is_vis=args.visualize - ) diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/train_npu.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/train_npu.py deleted file mode 100644 index ba868a03c..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/train_npu.py +++ /dev/null @@ -1,743 +0,0 @@ - - - -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 17-9-22 涓嬪崍1:39 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : train_shadownet.py -# @IDE: PyCharm Community Edition -""" -Train shadow net script -""" -import sys -import os -import os.path as ops -import time -import math -import argparse - -import tensorflow as tf -import glog as logger -import numpy as np -from tensorflow.core.protobuf.rewriter_config_pb2 import RewriterConfig - -cur_path = os.path.abspath(os.path.dirname(__file__)) -working_dir = os.path.join(cur_path, '../') -sys.path.append(working_dir) - -from crnn_model import crnn_net -from local_utils import evaluation_tools -from config import global_config -from data_provider import shadownet_data_feed_pipline -from data_provider import tf_io_pipline_fast_tools - -# NPU CONFIGS -from npu_bridge.estimator import npu_ops -from npu_bridge.estimator.npu.npu_config import NPURunConfig -from npu_bridge.estimator.npu.npu_estimator import NPUEstimator -from npu_bridge.estimator.npu.npu_optimizer import allreduce -from npu_bridge.estimator.npu.npu_optimizer import NPUDistributedOptimizer -from npu_bridge.hccl import hccl_ops -tf.enable_control_flow_v2() -tf.enable_resource_variables() - - -CFG = global_config.cfg - - -def init_args(): - """ - :return: parsed arguments and (updated) config.cfg object - """ - parser = argparse.ArgumentParser() - - - parser.add_argument('-r', '--root_dir', type=str,default="./", - help='Root directory of the project') - parser.add_argument('-d', '--dataset_dir', type=str,default="data/", - help='Directory containing train_features.tfrecords') - parser.add_argument('-w', '--weights_path', type=str,default=None, - help='Path to pre-trained weights to continue training') - parser.add_argument('-c', '--char_dict_path', type=str,default="data/char_dict/char_dict.json", - help='Directory where character dictionaries for the dataset were stored') - parser.add_argument('-o', '--ord_map_dict_path', type=str,default="data/char_dic/ord_map.json", - help='Directory where ord map dictionaries for the dataset were stored') - parser.add_argument('-s', '--save_dir', type=str,default="./model", - help='Directory where checkpoint files will be saved ') - parser.add_argument('-i', '--num_iters', type=int,default=240000, - help='number of training iterations') - parser.add_argument( '--lr', type=float,default=0.01, - help='learning rate per NPU device') - parser.add_argument('-p', '--lr_sched', type=str,default="cos", - help='Directory where checkpoint files will be saved ') - - parser.add_argument( '--momentum', type=float,default=0.9, - help='Momentum for sgd optimizer ') - parser.add_argument('-e', '--decode_outputs', type=args_str2bool, default=False, - help='Activate decoding of predictions during training (slow!)') - parser.add_argument( '--use_nesterov', type=args_str2bool, default=False, - help='whether to use nesterov in the sgd optimizer') - parser.add_argument('-m', '--multi_gpus', type=args_str2bool, default=False, - nargs='?', const=True, help='Use multi gpus to train') - parser.add_argument( '--warmup_step', type=int,default=10, - help='number of warmup step used in lr scheduler ') - - # modify for npu overflow start - # enable overflow - parser.add_argument("--over_dump", type=str, default="False", - help="whether to enable overflow") - parser.add_argument("--over_dump_path", type=str, default="./", - help="path to save overflow dump files") - # modify for npu overflow end - - - return parser.parse_args() - - -def args_str2bool(arg_value): - """ - - :param arg_value: - :return: - """ - if arg_value.lower() in ('yes', 'true', 't', 'y', '1'): - return True - - elif arg_value.lower() in ('no', 'false', 'f', 'n', '0'): - return False - else: - raise argparse.ArgumentTypeError('Unsupported value encountered.') - - -def average_gradients(tower_grads): - """Calculate the average gradient for each shared variable across all towers. - Note that this function provides a synchronization point across all towers. - Args: - tower_grads: List of lists of (gradient, variable) tuples. The outer list - is over individual gradients. The inner list is over the gradient - calculation for each tower. - Returns: - List of pairs of (gradient, variable) where the gradient has been averaged - across all towers. - """ - average_grads = [] - for grad_and_vars in zip(*tower_grads): - # Note that each grad_and_vars looks like the following: - # ((grad0_gpu0, var0_gpu0), ... , (grad0_gpuN, var0_gpuN)) - grads = [] - for g, _ in grad_and_vars: - # Add 0 dimension to the gradients to represent the tower. - expanded_g = tf.expand_dims(g, 0) - - # Append on a 'tower' dimension which we will average over below. - grads.append(expanded_g) - - # Average over the 'tower' dimension. - grad = tf.concat(grads, 0) - grad = tf.reduce_mean(grad, 0) - - # Keep in mind that the Variables are redundant because they are shared - # across towers. So .. we will just return the first tower's pointer to - # the Variable. - v = grad_and_vars[0][1] - grad_and_var = (grad, v) - average_grads.append(grad_and_var) - - return average_grads - - -def compute_net_gradients(images, labels, net, optimizer=None, is_net_first_initialized=False): - """ - Calculate gradients for single GPU - :param images: images for training - :param labels: labels corresponding to images - :param net: classification model - :param optimizer: network optimizer - :param is_net_first_initialized: if the network is initialized - :return: - """ - _, net_loss = net.compute_loss( - inputdata=images, - labels=labels, - name='shadow_net', - reuse=is_net_first_initialized - ) - - if optimizer is not None: - grads = optimizer.compute_gradients(net_loss) - else: - grads = None - - return net_loss, grads - - -def train_shadownet(dataset_dir, weights_path, char_dict_path, ord_map_dict_path,save_dir,args, need_decode=False): - """ - - :param dataset_dir: - :param weights_path: - :param char_dict_path: - :param ord_map_dict_path: - :param need_decode: - :return: - """ - # prepare dataset - train_dataset = shadownet_data_feed_pipline.CrnnDataFeeder( - dataset_dir=dataset_dir, - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path, - flags='train' - ) - val_dataset = shadownet_data_feed_pipline.CrnnDataFeeder( - dataset_dir=dataset_dir, - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path, - flags='val' - ) - - train_images, train_labels, train_images_paths, train_labels_length = train_dataset.inputs( - batch_size=CFG.TRAIN.BATCH_SIZE - ) - - x, y = np.meshgrid(np.arange(CFG.ARCH.MAX_LENGTH), - np.arange(CFG.TRAIN.BATCH_SIZE)) - indexes = np.concatenate([y.flatten()[:, None], x.flatten()[:, None]], axis=1) - indexes = tf.constant(indexes, dtype=tf.int64) - train_labels = tf.SparseTensor(indexes, - tf.reshape(train_labels, [-1]), - np.array([CFG.TRAIN.BATCH_SIZE, CFG.ARCH.MAX_LENGTH], dtype=np.int64)) - - val_images, val_labels, val_images_paths,val_labels_length = val_dataset.inputs( - batch_size=CFG.TRAIN.BATCH_SIZE - ) - val_labels = tf.SparseTensor(indexes, - tf.reshape(val_labels, [-1]), - np.array([CFG.TRAIN.BATCH_SIZE, CFG.ARCH.MAX_LENGTH], dtype=np.int64)) - - # declare crnn net - shadownet = crnn_net.ShadowNet( - phase='train', - hidden_nums=CFG.ARCH.HIDDEN_UNITS, - layers_nums=CFG.ARCH.HIDDEN_LAYERS, - num_classes=CFG.ARCH.NUM_CLASSES - ) - - shadownet_val = crnn_net.ShadowNet( - phase='test', - hidden_nums=CFG.ARCH.HIDDEN_UNITS, - layers_nums=CFG.ARCH.HIDDEN_LAYERS, - num_classes=CFG.ARCH.NUM_CLASSES - ) - - # set up decoder - decoder = tf_io_pipline_fast_tools.CrnnFeatureReader( - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path - ) - - # compute loss and seq distance - train_inference_ret, train_ctc_loss = shadownet.compute_loss( - inputdata=train_images, - labels=train_labels, - labels_length=train_labels_length, - name='shadow_net', - reuse=False - ) - - val_inference_ret, val_ctc_loss = shadownet_val.compute_loss( - inputdata=val_images, - labels=val_labels, - name='shadow_net', - labels_length=val_labels_length, - reuse=True - ) - - train_decoded, train_log_prob = tf.nn.ctc_greedy_decoder( - train_inference_ret, - CFG.ARCH.SEQ_LENGTH * np.ones(CFG.TRAIN.BATCH_SIZE), - merge_repeated=False - ) - val_decoded, val_log_prob = tf.nn.ctc_greedy_decoder( - val_inference_ret, - CFG.ARCH.SEQ_LENGTH * np.ones(CFG.TRAIN.BATCH_SIZE), - merge_repeated=False - ) - - global_step = tf.train.get_or_create_global_step() - rank_size = int(os.getenv('RANK_SIZE')) - #print("rank size :", rank_size) - - - warmup_steps = args.warmup_step - warmup_lr = tf.range(0,args.lr, args.lr/warmup_steps) - warmup_steps = tf.cast(warmup_steps, tf.int64) - wp_lr = tf.gather(warmup_lr, tf.minimum(warmup_steps,global_step)) - - if args.lr_sched=='cos': - - decayed_lr = tf.train.cosine_decay( - learning_rate=args.lr, - global_step=global_step, - decay_steps=args.num_iters - ) - else: - decayed_lr = tf.train.polynomial_decay( - learning_rate=args.lr, - global_step=global_step, - decay_steps=args.num_iters, - end_learning_rate=0.000001, - power=CFG.TRAIN.LR_DECAY_RATE - ) - - learning_rate = tf.cond( - tf.less(global_step, warmup_steps), - lambda:wp_lr, - lambda: decayed_lr) - - - optimizer = tf.train.MomentumOptimizer( - learning_rate=learning_rate, - momentum=args.momentum, - use_nesterov=args.use_nesterov) - - - - optimizer = NPUDistributedOptimizer(optimizer) - - update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) - with tf.control_dependencies(update_ops): - - opt = optimizer - gate_gradients = tf.train.Optimizer.GATE_NONE - grads_and_vars = opt.compute_gradients(train_ctc_loss, gate_gradients=gate_gradients) - train_op = opt.apply_gradients(grads_and_vars, global_step=global_step) - - - optimizer = tf.group(train_op) - - - # Set tf summary - tboard_save_dir = save_dir+'/summary' - os.makedirs(tboard_save_dir, exist_ok=True) - tf.summary.scalar(name='train_ctc_loss', tensor=train_ctc_loss) - tf.summary.scalar(name='learning_rate', tensor=learning_rate) - - if need_decode: - train_sequence_dist = tf.reduce_mean( - tf.edit_distance(tf.cast(train_decoded[0], tf.int32), train_labels), - name='train_edit_distance' - ) - val_sequence_dist = tf.reduce_mean( - tf.edit_distance(tf.cast(val_decoded[0], tf.int32), val_labels), - name='val_edit_distance' - ) - tf.summary.scalar(name='train_seq_distance', tensor=train_sequence_dist) - tf.summary.scalar(name='val_seq_distance', tensor=val_sequence_dist) - - merge_summary_op = tf.summary.merge_all() - - # Set saver configuration - saver = tf.train.Saver() - model_save_dir = save_dir - os.makedirs(model_save_dir, exist_ok=True) - train_start_time = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())) - model_name = 'shadownet_{:s}.ckpt'.format(str(train_start_time)) - model_save_path = ops.join(model_save_dir, model_name) - - # NPU CONFIG - config = tf.ConfigProto() - custom_op = config.graph_options.rewrite_options.custom_optimizers.add() - custom_op.name = "NpuOptimizer" - custom_op.parameter_map["use_off_line"].b = True - custom_op.parameter_map["enable_data_pre_proc"].b = True - custom_op.parameter_map["precision_mode"].s = tf.compat.as_bytes('allow_mix_precision') - custom_op.parameter_map["mix_compile_mode"].b = False # 娣峰悎璁$畻 - - # init autotune module start - autotune = False - autotune = os.environ.get('autotune') - if autotune: - autotune = autotune.lower() - if autotune == 'true': - print("Autotune module is :" + autotune) - print("Autotune module has been initiated!") - custom_op.parameter_map["auto_tune_mode"].s = tf.compat.as_bytes("RL,GA") - else: - print("Autotune module is :" + autotune) - print("Autotune module is enabled or with error setting.") - else: - print("Autotune module de_initiate!Pass") - # init autotune module end - - if args.over_dump == "True": - print("NPU overflow dump is enabled") - custom_op.parameter_map["dump_path"].s = tf.compat.as_bytes(args.over_dump_path) - custom_op.parameter_map["enable_dump_debug"].b = True - custom_op.parameter_map["dump_debug_mode"].s = tf.compat.as_bytes("all") - else: - print("NPU overflow dump is disabled") - - config.graph_options.rewrite_options.remapping = RewriterConfig.OFF - - sess = tf.Session(config=config) - - summary_writer = tf.summary.FileWriter(tboard_save_dir) - summary_writer.add_graph(sess.graph) - - # Set the training parameters - train_epochs = args.num_iters - #train_epochs = 2000 - - with sess.as_default(): - epoch = 0 - if weights_path is None: - logger.info('Training from scratch') - init = tf.global_variables_initializer() - sess.run(init) - else: - logger.info('Restore model from {:s}'.format(weights_path)) - saver.restore(sess=sess, save_path=weights_path) - epoch = sess.run(tf.train.get_global_step()) - ts_prev = time.time() - patience_counter = 1 - cost_history = [np.inf] - while epoch < train_epochs: - epoch += 1 - if epoch > 1 and CFG.TRAIN.EARLY_STOPPING: - # We always compare to the first point where cost didn't improve - if cost_history[-1 - patience_counter] - cost_history[-1] > CFG.TRAIN.PATIENCE_DELTA: - patience_counter = 1 - else: - patience_counter += 1 - if patience_counter > CFG.TRAIN.PATIENCE_EPOCHS: - logger.info("Cost didn't improve beyond {:f} for {:d} epochs, stopping early.". - format(CFG.TRAIN.PATIENCE_DELTA, patience_counter)) - break - - if need_decode and epoch % 500 == 0: - # train part - _, train_ctc_loss_value, train_seq_dist_value, \ - train_predictions, train_labels_sparse, merge_summary_value = sess.run( - [optimizer, train_ctc_loss, train_sequence_dist, - train_decoded, train_labels, merge_summary_op]) - - train_labels_str = decoder.sparse_tensor_to_str(train_labels_sparse) - train_predictions = decoder.sparse_tensor_to_str(train_predictions[0]) - avg_train_accuracy = evaluation_tools.compute_accuracy(train_labels_str, train_predictions) - - if epoch % CFG.TRAIN.DISPLAY_STEP == 0: - logger.info('Epoch_Train: {:d} cost= {:9f} seq distance= {:9f} train accuracy= {:9f}'.format( - epoch + 1, train_ctc_loss_value, train_seq_dist_value, avg_train_accuracy)) - - # validation part - val_ctc_loss_value, val_seq_dist_value, \ - val_predictions, val_labels_sparse = sess.run( - [val_ctc_loss, val_sequence_dist, val_decoded, val_labels]) - - val_labels_str = decoder.sparse_tensor_to_str(val_labels_sparse) - val_predictions = decoder.sparse_tensor_to_str(val_predictions[0]) - avg_val_accuracy = evaluation_tools.compute_accuracy(val_labels_str, val_predictions) - - if epoch % CFG.TRAIN.DISPLAY_STEP == 0: - print('Epoch_Val: {:d} cost= {:9f} seq distance= {:9f} train accuracy= {:9f}, time= {}'.format( - epoch + 1, val_ctc_loss_value, val_seq_dist_value, avg_val_accuracy, time.time())) - else: - _, train_ctc_loss_value, merge_summary_value,lr_value = sess.run( - [optimizer, train_ctc_loss, merge_summary_op,learning_rate]) - - if epoch % CFG.TRAIN.DISPLAY_STEP == 0: - ts_now = time.time() - duration = ts_now - ts_prev - step_per_sec = duration / CFG.TRAIN.DISPLAY_STEP - fps = (CFG.TRAIN.DISPLAY_STEP * 1.0 / duration ) * CFG.TRAIN.BATCH_SIZE * rank_size - ts_prev = ts_now - #logger.info('Epoch_Train: {:d} cost= {:9f}'.format(epoch , train_ctc_loss_value)) - logger.info('Epoch_Train: {:d} cost= {:9f}, lr= {:9f}, FPS: {:4f}, step_per_sec: {:6f}'.format(epoch , train_ctc_loss_value, lr_value, fps,step_per_sec)) - - # record history train ctc loss - cost_history.append(train_ctc_loss_value) - # add training sumary - summary_writer.add_summary(summary=merge_summary_value, global_step=epoch) - - if epoch % 5000 == 0: - saver.save(sess=sess, save_path=model_save_path, global_step=epoch) - - saver.save(sess=sess, save_path=model_save_path, global_step=epoch) - return np.array(cost_history[1:]) # Don't return the first np.inf - - -def train_shadownet_multi_gpu(dataset_dir, weights_path, char_dict_path, ord_map_dict_path): - """ - - :param dataset_dir: - :param weights_path: - :param char_dict_path: - :param ord_map_dict_path: - :return: - """ - # prepare dataset information - train_dataset = shadownet_data_feed_pipline.CrnnDataFeeder( - dataset_dir=dataset_dir, - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path, - flags='train' - ) - val_dataset = shadownet_data_feed_pipline.CrnnDataFeeder( - dataset_dir=dataset_dir, - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path, - flags='val' - ) - - train_samples = [] - val_samples = [] - for i in range(CFG.TRAIN.GPU_NUM): - train_samples.append(train_dataset.inputs(batch_size=CFG.TRAIN.BATCH_SIZE)) - val_samples.append(val_dataset.inputs(batch_size=CFG.TRAIN.BATCH_SIZE)) - - # set crnn net - shadownet = crnn_net.ShadowNet( - phase='train', - hidden_nums=CFG.ARCH.HIDDEN_UNITS, - layers_nums=CFG.ARCH.HIDDEN_LAYERS, - num_classes=CFG.ARCH.NUM_CLASSES - ) - shadownet_val = crnn_net.ShadowNet( - phase='test', - hidden_nums=CFG.ARCH.HIDDEN_UNITS, - layers_nums=CFG.ARCH.HIDDEN_LAYERS, - num_classes=CFG.ARCH.NUM_CLASSES - ) - - # set average container - tower_grads = [] - train_tower_loss = [] - val_tower_loss = [] - batchnorm_updates = None - train_summary_op_updates = None - - # set lr - global_step = tf.Variable(0, name='global_step', trainable=False) - learning_rate = tf.train.polynomial_decay( - learning_rate=CFG.TRAIN.LEARNING_RATE, - global_step=global_step, - decay_steps=CFG.TRAIN.EPOCHS, - end_learning_rate=0.000001, - power=CFG.TRAIN.LR_DECAY_RATE - ) - - # set up optimizer - optimizer = tf.train.MomentumOptimizer(learning_rate=learning_rate, momentum=0.9) - - # set distributed train op - with tf.variable_scope(tf.get_variable_scope()): - is_network_initialized = False - for i in range(CFG.TRAIN.GPU_NUM): - with tf.device('/gpu:{:d}'.format(i)): - with tf.name_scope('tower_{:d}'.format(i)) as _: - train_images = train_samples[i][0] - train_labels = train_samples[i][1] - train_loss, grads = compute_net_gradients( - train_images, train_labels, shadownet, optimizer, - is_net_first_initialized=is_network_initialized) - - is_network_initialized = True - - # Only use the mean and var in the first gpu tower to update the parameter - if i == 0: - batchnorm_updates = tf.get_collection(tf.GraphKeys.UPDATE_OPS) - train_summary_op_updates = tf.get_collection(tf.GraphKeys.SUMMARIES) - - tower_grads.append(grads) - train_tower_loss.append(train_loss) - with tf.name_scope('validation_{:d}'.format(i)) as _: - val_images = val_samples[i][0] - val_labels = val_samples[i][1] - val_loss, _ = compute_net_gradients( - val_images, val_labels, shadownet_val, optimizer, - is_net_first_initialized=is_network_initialized) - val_tower_loss.append(val_loss) - - grads = average_gradients(tower_grads) - avg_train_loss = tf.reduce_mean(train_tower_loss) - avg_val_loss = tf.reduce_mean(val_tower_loss) - - # Track the moving averages of all trainable variables - variable_averages = tf.train.ExponentialMovingAverage( - CFG.TRAIN.MOVING_AVERAGE_DECAY, num_updates=global_step) - variables_to_average = tf.trainable_variables() + tf.moving_average_variables() - variables_averages_op = variable_averages.apply(variables_to_average) - - # Group all the op needed for training - batchnorm_updates_op = tf.group(*batchnorm_updates) - apply_gradient_op = optimizer.apply_gradients(grads, global_step=global_step) - train_op = tf.group(apply_gradient_op, variables_averages_op, - batchnorm_updates_op) - - # set tensorflow summary - tboard_save_path = 'tboard/crnn_syn90k_multi_gpu' - os.makedirs(tboard_save_path, exist_ok=True) - - summary_writer = tf.summary.FileWriter(tboard_save_path) - - avg_train_loss_scalar = tf.summary.scalar(name='average_train_loss', - tensor=avg_train_loss) - avg_val_loss_scalar = tf.summary.scalar(name='average_val_loss', - tensor=avg_val_loss) - learning_rate_scalar = tf.summary.scalar(name='learning_rate_scalar', - tensor=learning_rate) - train_merge_summary_op = tf.summary.merge( - [avg_train_loss_scalar, learning_rate_scalar] + train_summary_op_updates - ) - val_merge_summary_op = tf.summary.merge([avg_val_loss_scalar]) - - # set tensorflow saver - saver = tf.train.Saver() - model_save_dir = 'model/crnn_syn90k_multi_gpu' - os.makedirs(model_save_dir, exist_ok=True) - train_start_time = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())) - model_name = 'shadownet_{:s}.ckpt'.format(str(train_start_time)) - model_save_path = ops.join(model_save_dir, model_name) - - # set sess config - sess_config = tf.ConfigProto(device_count={'GPU': CFG.TRAIN.GPU_NUM}, allow_soft_placement=True) - sess_config.gpu_options.per_process_gpu_memory_fraction = CFG.TRAIN.GPU_MEMORY_FRACTION - sess_config.gpu_options.allow_growth = CFG.TRAIN.TF_ALLOW_GROWTH - sess_config.gpu_options.allocator_type = 'BFC' - - # Set the training parameters - train_epochs = CFG.TRAIN.EPOCHS - - logger.info('Global configuration is as follows:') - logger.info(CFG) - - sess = tf.Session(config=sess_config) - - summary_writer.add_graph(sess.graph) - - with sess.as_default(): - epoch = 0 - if weights_path is None: - logger.info('Training from scratch') - init = tf.global_variables_initializer() - sess.run(init) - else: - logger.info('Restore model from last model checkpoint {:s}'.format(weights_path)) - saver.restore(sess=sess, save_path=weights_path) - epoch = sess.run(tf.train.get_global_step()) - - train_cost_time_mean = [] - val_cost_time_mean = [] - - while epoch < train_epochs: - epoch += 1 - # training part - t_start = time.time() - - _, train_loss_value, train_summary, lr = \ - sess.run(fetches=[train_op, - avg_train_loss, - train_merge_summary_op, - learning_rate]) - - if math.isnan(train_loss_value): - raise ValueError('Train loss is nan') - - cost_time = time.time() - t_start - train_cost_time_mean.append(cost_time) - - summary_writer.add_summary(summary=train_summary, - global_step=epoch) - - # validation part - t_start_val = time.time() - - val_loss_value, val_summary = \ - sess.run(fetches=[avg_val_loss, - val_merge_summary_op]) - - summary_writer.add_summary(val_summary, global_step=epoch) - - cost_time_val = time.time() - t_start_val - val_cost_time_mean.append(cost_time_val) - - if epoch % CFG.TRAIN.DISPLAY_STEP == 0: - logger.info('Epoch_Train: {:d} total_loss= {:6f} ' - 'lr= {:6f} mean_cost_time= {:5f}s '. - format(epoch + 1, - train_loss_value, - lr, - np.mean(train_cost_time_mean) - )) - train_cost_time_mean.clear() - - if epoch % CFG.TRAIN.VAL_DISPLAY_STEP == 0: - logger.info('Epoch_Val: {:d} total_loss= {:6f} ' - ' mean_cost_time= {:5f}s '. - format(epoch + 1, - val_loss_value, - np.mean(val_cost_time_mean))) - val_cost_time_mean.clear() - - if epoch % 5000 == 0: - saver.save(sess=sess, save_path=model_save_path, global_step=epoch) - sess.close() - - return - - -if __name__ == '__main__': - - # init args - args = init_args() - - if args.multi_gpus: - logger.info('Use multi gpus to train the model') - train_shadownet_multi_gpu( - dataset_dir=args.dataset_dir, - weights_path=args.weights_path, - char_dict_path=args.char_dict_path, - ord_map_dict_path=args.ord_map_dict_path - ) - else: - logger.info('Use single gpu to train the model') - root_dir = args.root_dir - train_shadownet( - dataset_dir=os.path.join(root_dir,args.dataset_dir), - weights_path=args.weights_path, - char_dict_path=os.path.join(root_dir,args.char_dict_path), - ord_map_dict_path=os.path.join(root_dir,args.ord_map_dict_path), - save_dir = args.save_dir, - args=args, - need_decode=args.decode_outputs - ) diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/train_shadownet.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/train_shadownet.py deleted file mode 100644 index 5838399e9..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/train_shadownet.py +++ /dev/null @@ -1,631 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 17-9-22 涓嬪崍1:39 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : train_shadownet.py -# @IDE: PyCharm Community Edition -""" -Train shadow net script -""" -import os -import os.path as ops -import time -import math -import argparse - -import tensorflow as tf -import glog as logger -import numpy as np -#from .. import _init_paths -import sys - -sys.path.append("./CRNN/CRNN_NPU") - -from crnn_model import crnn_net -from local_utils import evaluation_tools -from config import global_config -from data_provider import shadownet_data_feed_pipline -from data_provider import tf_io_pipline_fast_tools - -CFG = global_config.cfg -from npu_bridge.estimator import npu_ops -from tensorflow.core.protobuf.rewriter_config_pb2 import RewriterConfig - - - - -def init_args(): - """ - :return: parsed arguments and (updated) config.cfg object - """ - parser = argparse.ArgumentParser() - - parser.add_argument('-d', '--dataset_dir', type=str,default='data/', - help='Directory containing train_features.tfrecords') - parser.add_argument('-w', '--weights_path', type=str,default=None, - help='Path to pre-trained weights to continue training') - parser.add_argument('-c', '--char_dict_path', type=str,default='data/char_dict/char_dict_en.json', - help='Directory where character dictionaries for the dataset were stored') - parser.add_argument('-o', '--ord_map_dict_path', type=str,default="data/char_dict/ord_map_en.json", - help='Directory where ord map dictionaries for the dataset were stored') - parser.add_argument('-e', '--decode_outputs', type=args_str2bool, default=False, - help='Activate decoding of predictions during training (slow!)') - parser.add_argument('-m', '--multi_gpus', type=args_str2bool, default=False, - nargs='?', const=True, help='Use multi gpus to train') - - return parser.parse_args() - - -def args_str2bool(arg_value): - """ - - :param arg_value: - :return: - """ - if arg_value.lower() in ('yes', 'true', 't', 'y', '1'): - return True - - elif arg_value.lower() in ('no', 'false', 'f', 'n', '0'): - return False - else: - raise argparse.ArgumentTypeError('Unsupported value encountered.') - - -def average_gradients(tower_grads): - """Calculate the average gradient for each shared variable across all towers. - Note that this function provides a synchronization point across all towers. - Args: - tower_grads: List of lists of (gradient, variable) tuples. The outer list - is over individual gradients. The inner list is over the gradient - calculation for each tower. - Returns: - List of pairs of (gradient, variable) where the gradient has been averaged - across all towers. - """ - average_grads = [] - for grad_and_vars in zip(*tower_grads): - # Note that each grad_and_vars looks like the following: - # ((grad0_gpu0, var0_gpu0), ... , (grad0_gpuN, var0_gpuN)) - grads = [] - for g, _ in grad_and_vars: - # Add 0 dimension to the gradients to represent the tower. - expanded_g = tf.expand_dims(g, 0) - - # Append on a 'tower' dimension which we will average over below. - grads.append(expanded_g) - - # Average over the 'tower' dimension. - grad = tf.concat(grads, 0) - grad = tf.reduce_mean(grad, 0) - - # Keep in mind that the Variables are redundant because they are shared - # across towers. So .. we will just return the first tower's pointer to - # the Variable. - v = grad_and_vars[0][1] - grad_and_var = (grad, v) - average_grads.append(grad_and_var) - - return average_grads - - -def compute_net_gradients(images, labels, net, optimizer=None, is_net_first_initialized=False): - """ - Calculate gradients for single GPU - :param images: images for training - :param labels: labels corresponding to images - :param net: classification model - :param optimizer: network optimizer - :param is_net_first_initialized: if the network is initialized - :return: - """ - _, net_loss = net.compute_loss( - inputdata=images, - labels=labels, - name='shadow_net', - reuse=is_net_first_initialized - ) - - if optimizer is not None: - grads = optimizer.compute_gradients(net_loss) - else: - grads = None - - return net_loss, grads - - -def train_shadownet(dataset_dir, weights_path, char_dict_path, ord_map_dict_path, need_decode=False): - """ - - :param dataset_dir: - :param weights_path: - :param char_dict_path: - :param ord_map_dict_path: - :param need_decode: - :return: - """ - # prepare dataset - train_dataset = shadownet_data_feed_pipline.CrnnDataFeeder( - dataset_dir=dataset_dir, - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path, - flags='train' - ) - val_dataset = shadownet_data_feed_pipline.CrnnDataFeeder( - dataset_dir=dataset_dir, - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path, - flags='val' - ) - train_images, train_labels, train_images_paths = train_dataset.inputs( - batch_size=CFG.TRAIN.BATCH_SIZE - ) - val_images, val_labels, val_images_paths = val_dataset.inputs( - batch_size=CFG.TRAIN.BATCH_SIZE - ) - # current framework does not support quint8 - # cast into float32 - train_images =tf.cast(train_images,tf.float32) - train_labels =tf.cast(train_labels,tf.int32) - val_images =tf.cast(val_images,tf.float32) - val_labels =tf.cast(val_labels,tf.int32) - # declare crnn net - shadownet = crnn_net.ShadowNet( - phase='train', - hidden_nums=CFG.ARCH.HIDDEN_UNITS, - layers_nums=CFG.ARCH.HIDDEN_LAYERS, - num_classes=CFG.ARCH.NUM_CLASSES - ) - shadownet_val = crnn_net.ShadowNet( - phase='test', - hidden_nums=CFG.ARCH.HIDDEN_UNITS, - layers_nums=CFG.ARCH.HIDDEN_LAYERS, - num_classes=CFG.ARCH.NUM_CLASSES - ) - - # set up decoder - decoder = tf_io_pipline_fast_tools.CrnnFeatureReader( - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path - ) - - # compute loss and seq distance - train_inference_ret, train_ctc_loss = shadownet.compute_loss( - inputdata=train_images, - labels=train_labels, - name='shadow_net', - reuse=False - ) - val_inference_ret, val_ctc_loss = shadownet_val.compute_loss( - inputdata=val_images, - labels=val_labels, - name='shadow_net', - reuse=True - ) - - train_decoded, train_log_prob = tf.nn.ctc_greedy_decoder( - train_inference_ret, - CFG.ARCH.SEQ_LENGTH * np.ones(CFG.TRAIN.BATCH_SIZE), - merge_repeated=False - ) - val_decoded, val_log_prob = tf.nn.ctc_greedy_decoder( - val_inference_ret, - CFG.ARCH.SEQ_LENGTH * np.ones(CFG.TRAIN.BATCH_SIZE), - merge_repeated=False - ) - - train_sequence_dist = tf.reduce_mean( - tf.edit_distance(tf.cast(train_decoded[0], tf.int32), train_labels), - name='train_edit_distance' - ) - val_sequence_dist = tf.reduce_mean( - tf.edit_distance(tf.cast(val_decoded[0], tf.int32), val_labels), - name='val_edit_distance' - ) - - # set learning rate - global_step = tf.Variable(0, name='global_step', trainable=False) - learning_rate = tf.train.polynomial_decay( - learning_rate=CFG.TRAIN.LEARNING_RATE, - global_step=global_step, - decay_steps=CFG.TRAIN.EPOCHS, - end_learning_rate=0.000001, - power=CFG.TRAIN.LR_DECAY_RATE - ) - - update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) - with tf.control_dependencies(update_ops): - optimizer = tf.train.MomentumOptimizer( - learning_rate=learning_rate, momentum=0.9).minimize( - loss=train_ctc_loss, global_step=global_step) - - # Set tf summary - tboard_save_dir = 'tboard/crnn_syn90k' - os.makedirs(tboard_save_dir, exist_ok=True) - tf.summary.scalar(name='train_ctc_loss', tensor=train_ctc_loss) - tf.summary.scalar(name='val_ctc_loss', tensor=val_ctc_loss) - tf.summary.scalar(name='learning_rate', tensor=learning_rate) - - if need_decode: - tf.summary.scalar(name='train_seq_distance', tensor=train_sequence_dist) - tf.summary.scalar(name='val_seq_distance', tensor=val_sequence_dist) - - merge_summary_op = tf.summary.merge_all() - - # Set saver configuration - saver = tf.train.Saver() - model_save_dir = 'model/crnn_syn90k' - os.makedirs(model_save_dir, exist_ok=True) - train_start_time = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())) - model_name = 'shadownet_{:s}.ckpt'.format(str(train_start_time)) - model_save_path = ops.join(model_save_dir, model_name) - - # Set sess configuration - #sess_config = tf.ConfigProto(allow_soft_placement=True) - #sess_config.gpu_options.per_process_gpu_memory_fraction = CFG.TRAIN.GPU_MEMORY_FRACTION - #sess_config.gpu_options.allow_growth = CFG.TRAIN.TF_ALLOW_GROWTH - - #sess = tf.Session(config=sess_config) - - # added for NPU - config = tf.ConfigProto() - custom_op = config.graph_options.rewrite_options.custom_optimizers.add() - custom_op.name = "NpuOptimizer" - custom_op.parameter_map["use_off_line"].b = True #鍦ㄦ槆鑵続I澶勭悊鍣ㄦ墽琛岃缁 - custom_op.parameter_map["allow_mix_compile"].b = True #鍦ㄦ槆鑵続I澶勭悊鍣ㄦ墽琛岃缁 - config.graph_options.rewrite_options.remapping = RewriterConfig.OFF #鍏抽棴remap寮鍏 - #config.iterations_per_loop = 100 - - sess = tf.Session(config=config) - #sess.run(init) - - - summary_writer = tf.summary.FileWriter(tboard_save_dir) - summary_writer.add_graph(sess.graph) - - # Set the training parameters - train_epochs = CFG.TRAIN.EPOCHS - - with sess.as_default(): - epoch = 0 - if weights_path is None: - logger.info('Training from scratch') - init = tf.global_variables_initializer() - sess.run(init) - else: - logger.info('Restore model from {:s}'.format(weights_path)) - saver.restore(sess=sess, save_path=weights_path) - epoch = sess.run(tf.train.get_global_step()) - - patience_counter = 1 - cost_history = [np.inf] - while epoch < train_epochs: - epoch += 1 - # setup early stopping - if epoch > 1 and CFG.TRAIN.EARLY_STOPPING: - # We always compare to the first point where cost didn't improve - if cost_history[-1 - patience_counter] - cost_history[-1] > CFG.TRAIN.PATIENCE_DELTA: - patience_counter = 1 - else: - patience_counter += 1 - if patience_counter > CFG.TRAIN.PATIENCE_EPOCHS: - logger.info("Cost didn't improve beyond {:f} for {:d} epochs, stopping early.". - format(CFG.TRAIN.PATIENCE_DELTA, patience_counter)) - break - - if need_decode and epoch % 500 == 0: - # train part - _, train_ctc_loss_value, train_seq_dist_value, \ - train_predictions, train_labels_sparse, merge_summary_value = sess.run( - [optimizer, train_ctc_loss, train_sequence_dist, - train_decoded, train_labels, merge_summary_op]) - - train_labels_str = decoder.sparse_tensor_to_str(train_labels_sparse) - train_predictions = decoder.sparse_tensor_to_str(train_predictions[0]) - avg_train_accuracy = evaluation_tools.compute_accuracy(train_labels_str, train_predictions) - - if epoch % CFG.TRAIN.DISPLAY_STEP == 0: - logger.info('Epoch_Train: {:d} cost= {:9f} seq distance= {:9f} train accuracy= {:9f}'.format( - epoch + 1, train_ctc_loss_value, train_seq_dist_value, avg_train_accuracy)) - - # validation part - val_ctc_loss_value, val_seq_dist_value, \ - val_predictions, val_labels_sparse = sess.run( - [val_ctc_loss, val_sequence_dist, val_decoded, val_labels]) - - val_labels_str = decoder.sparse_tensor_to_str(val_labels_sparse) - val_predictions = decoder.sparse_tensor_to_str(val_predictions[0]) - avg_val_accuracy = evaluation_tools.compute_accuracy(val_labels_str, val_predictions) - - if epoch % CFG.TRAIN.DISPLAY_STEP == 0: - logger.info('Epoch_Val: {:d} cost= {:9f} seq distance= {:9f} train accuracy= {:9f}'.format( - epoch + 1, val_ctc_loss_value, val_seq_dist_value, avg_val_accuracy)) - else: - _, train_ctc_loss_value, merge_summary_value = sess.run( - [optimizer, train_ctc_loss, merge_summary_op]) - - if epoch % CFG.TRAIN.DISPLAY_STEP == 0: - logger.info('Epoch_Train: {:d} cost= {:9f}'.format(epoch + 1, train_ctc_loss_value)) - - # record history train ctc loss - cost_history.append(train_ctc_loss_value) - # add training sumary - summary_writer.add_summary(summary=merge_summary_value, global_step=epoch) - - if epoch % 2000 == 0: - saver.save(sess=sess, save_path=model_save_path, global_step=epoch) - - return np.array(cost_history[1:]) # Don't return the first np.inf - - -def train_shadownet_multi_gpu(dataset_dir, weights_path, char_dict_path, ord_map_dict_path): - """ - - :param dataset_dir: - :param weights_path: - :param char_dict_path: - :param ord_map_dict_path: - :return: - """ - # prepare dataset information - train_dataset = shadownet_data_feed_pipline.CrnnDataFeeder( - dataset_dir=dataset_dir, - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path, - flags='train' - ) - val_dataset = shadownet_data_feed_pipline.CrnnDataFeeder( - dataset_dir=dataset_dir, - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path, - flags='val' - ) - - train_samples = [] - val_samples = [] - for i in range(CFG.TRAIN.GPU_NUM): - train_samples.append(train_dataset.inputs(batch_size=CFG.TRAIN.BATCH_SIZE)) - val_samples.append(val_dataset.inputs(batch_size=CFG.TRAIN.BATCH_SIZE)) - - # set crnn net - shadownet = crnn_net.ShadowNet( - phase='train', - hidden_nums=CFG.ARCH.HIDDEN_UNITS, - layers_nums=CFG.ARCH.HIDDEN_LAYERS, - num_classes=CFG.ARCH.NUM_CLASSES - ) - shadownet_val = crnn_net.ShadowNet( - phase='test', - hidden_nums=CFG.ARCH.HIDDEN_UNITS, - layers_nums=CFG.ARCH.HIDDEN_LAYERS, - num_classes=CFG.ARCH.NUM_CLASSES - ) - - # set average container - tower_grads = [] - train_tower_loss = [] - val_tower_loss = [] - batchnorm_updates = None - train_summary_op_updates = None - - # set lr - global_step = tf.Variable(0, name='global_step', trainable=False) - learning_rate = tf.train.polynomial_decay( - learning_rate=CFG.TRAIN.LEARNING_RATE, - global_step=global_step, - decay_steps=CFG.TRAIN.EPOCHS, - end_learning_rate=0.000001, - power=CFG.TRAIN.LR_DECAY_RATE - ) - - # set up optimizer - optimizer = tf.train.MomentumOptimizer(learning_rate=learning_rate, momentum=0.9) - - # set distributed train op - with tf.variable_scope(tf.get_variable_scope()): - is_network_initialized = False - for i in range(CFG.TRAIN.GPU_NUM): - with tf.device('/gpu:{:d}'.format(i)): - with tf.name_scope('tower_{:d}'.format(i)) as _: - train_images = train_samples[i][0] - train_labels = train_samples[i][1] - train_loss, grads = compute_net_gradients( - train_images, train_labels, shadownet, optimizer, - is_net_first_initialized=is_network_initialized) - - is_network_initialized = True - - # Only use the mean and var in the first gpu tower to update the parameter - if i == 0: - batchnorm_updates = tf.get_collection(tf.GraphKeys.UPDATE_OPS) - train_summary_op_updates = tf.get_collection(tf.GraphKeys.SUMMARIES) - - tower_grads.append(grads) - train_tower_loss.append(train_loss) - with tf.name_scope('validation_{:d}'.format(i)) as _: - val_images = val_samples[i][0] - val_labels = val_samples[i][1] - val_loss, _ = compute_net_gradients( - val_images, val_labels, shadownet_val, optimizer, - is_net_first_initialized=is_network_initialized) - val_tower_loss.append(val_loss) - - grads = average_gradients(tower_grads) - avg_train_loss = tf.reduce_mean(train_tower_loss) - avg_val_loss = tf.reduce_mean(val_tower_loss) - - # Track the moving averages of all trainable variables - variable_averages = tf.train.ExponentialMovingAverage( - CFG.TRAIN.MOVING_AVERAGE_DECAY, num_updates=global_step) - variables_to_average = tf.trainable_variables() + tf.moving_average_variables() - variables_averages_op = variable_averages.apply(variables_to_average) - - # Group all the op needed for training - batchnorm_updates_op = tf.group(*batchnorm_updates) - apply_gradient_op = optimizer.apply_gradients(grads, global_step=global_step) - train_op = tf.group(apply_gradient_op, variables_averages_op, - batchnorm_updates_op) - - # set tensorflow summary - tboard_save_path = 'tboard/crnn_syn90k_multi_gpu' - os.makedirs(tboard_save_path, exist_ok=True) - - summary_writer = tf.summary.FileWriter(tboard_save_path) - - avg_train_loss_scalar = tf.summary.scalar(name='average_train_loss', - tensor=avg_train_loss) - avg_val_loss_scalar = tf.summary.scalar(name='average_val_loss', - tensor=avg_val_loss) - learning_rate_scalar = tf.summary.scalar(name='learning_rate_scalar', - tensor=learning_rate) - train_merge_summary_op = tf.summary.merge( - [avg_train_loss_scalar, learning_rate_scalar] + train_summary_op_updates - ) - val_merge_summary_op = tf.summary.merge([avg_val_loss_scalar]) - - # set tensorflow saver - saver = tf.train.Saver() - model_save_dir = 'model/crnn_syn90k_multi_gpu' - os.makedirs(model_save_dir, exist_ok=True) - train_start_time = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())) - model_name = 'shadownet_{:s}.ckpt'.format(str(train_start_time)) - model_save_path = ops.join(model_save_dir, model_name) - - # set sess config - sess_config = tf.ConfigProto(device_count={'GPU': CFG.TRAIN.GPU_NUM}, allow_soft_placement=True) - sess_config.gpu_options.per_process_gpu_memory_fraction = CFG.TRAIN.GPU_MEMORY_FRACTION - sess_config.gpu_options.allow_growth = CFG.TRAIN.TF_ALLOW_GROWTH - sess_config.gpu_options.allocator_type = 'BFC' - - # Set the training parameters - train_epochs = CFG.TRAIN.EPOCHS - - logger.info('Global configuration is as follows:') - logger.info(CFG) - - sess = tf.Session(config=sess_config) - - summary_writer.add_graph(sess.graph) - - with sess.as_default(): - epoch = 0 - if weights_path is None: - logger.info('Training from scratch') - init = tf.global_variables_initializer() - sess.run(init) - else: - logger.info('Restore model from last model checkpoint {:s}'.format(weights_path)) - saver.restore(sess=sess, save_path=weights_path) - epoch = sess.run(tf.train.get_global_step()) - - train_cost_time_mean = [] - val_cost_time_mean = [] - - while epoch < train_epochs: - epoch += 1 - # training part - t_start = time.time() - - _, train_loss_value, train_summary, lr = \ - sess.run(fetches=[train_op, - avg_train_loss, - train_merge_summary_op, - learning_rate]) - - if math.isnan(train_loss_value): - raise ValueError('Train loss is nan') - - cost_time = time.time() - t_start - train_cost_time_mean.append(cost_time) - - summary_writer.add_summary(summary=train_summary, - global_step=epoch) - - # validation part - t_start_val = time.time() - - val_loss_value, val_summary = \ - sess.run(fetches=[avg_val_loss, - val_merge_summary_op]) - - summary_writer.add_summary(val_summary, global_step=epoch) - - cost_time_val = time.time() - t_start_val - val_cost_time_mean.append(cost_time_val) - - if epoch % CFG.TRAIN.DISPLAY_STEP == 0: - logger.info('Epoch_Train: {:d} total_loss= {:6f} ' - 'lr= {:6f} mean_cost_time= {:5f}s '. - format(epoch + 1, - train_loss_value, - lr, - np.mean(train_cost_time_mean) - )) - train_cost_time_mean.clear() - - if epoch % CFG.TRAIN.VAL_DISPLAY_STEP == 0: - logger.info('Epoch_Val: {:d} total_loss= {:6f} ' - ' mean_cost_time= {:5f}s '. - format(epoch + 1, - val_loss_value, - np.mean(val_cost_time_mean))) - val_cost_time_mean.clear() - - if epoch % 5000 == 0: - saver.save(sess=sess, save_path=model_save_path, global_step=epoch) - sess.close() - - return - - -if __name__ == '__main__': - - # init args - args = init_args() - - if args.multi_gpus: - logger.info('Use multi gpus to train the model') - train_shadownet_multi_gpu( - dataset_dir=args.dataset_dir, - weights_path=args.weights_path, - char_dict_path=args.char_dict_path, - ord_map_dict_path=args.ord_map_dict_path - ) - else: - print("decode outputs:{}".format(args.decode_outputs)) - logger.info('Use single gpu to train the model') - train_shadownet( - dataset_dir=args.dataset_dir, - weights_path=args.weights_path, - char_dict_path=args.char_dict_path, - ord_map_dict_path=args.ord_map_dict_path, - need_decode=args.decode_outputs - ) diff --git a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/write_tfrecords.py b/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/write_tfrecords.py deleted file mode 100644 index 033b21b42..000000000 --- a/TensorFlow/built-in/cv/detection/CRNN_for_TensorFlow/tools/write_tfrecords.py +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# @Time : 19-3-13 涓嬪崍1:31 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/CRNN_Tensorflow -# @File : write_tfrecords.py -# @IDE: PyCharm -""" -Write tfrecords tools -""" -import argparse -import os -import os.path as ops -import sys - -cur_path = os.path.abspath(os.path.dirname(__file__)) -working_dir = os.path.join(cur_path, '../') -sys.path.append(working_dir) - -from data_provider import shadownet_data_feed_pipline -#import shadownet_data_feed_pipline - - -def init_args(): - """ - - :return: - """ - parser = argparse.ArgumentParser() - parser.add_argument('-d', '--dataset_dir', type=str, help='The origin synth90k dataset_dir') - parser.add_argument('-s', '--save_dir', type=str, help='The generated tfrecords save dir') - parser.add_argument('-c', '--char_dict_path', type=str, default=None, - help='The char dict file path. If it is None the char dict will be' - 'generated automatically in folder data/char_dict') - parser.add_argument('-o', '--ord_map_dict_path', type=str, default=None, - help='The ord map dict file path. If it is None the ord map dict will be' - 'generated automatically in folder data/char_dict') - - return parser.parse_args() - - -def write_tfrecords(dataset_dir, char_dict_path, ord_map_dict_path, save_dir): - """ - Write tensorflow records for training , testing and validation - :param dataset_dir: the root dir of crnn dataset - :param char_dict_path: json file path which contains the map relation - between ord value and single character - :param ord_map_dict_path: json file path which contains the map relation - between int index value and char ord value - :param save_dir: the root dir of tensorflow records to write into - :return: - """ - assert ops.exists(dataset_dir), '{:s} not exist'.format(dataset_dir) - - os.makedirs(save_dir, exist_ok=True) - - # test crnn data producer - producer = shadownet_data_feed_pipline.CrnnDataProducer( - dataset_dir=dataset_dir, - char_dict_path=char_dict_path, - ord_map_dict_path=ord_map_dict_path, - writer_process_nums=8 - ) - - producer.generate_tfrecords( - save_dir=save_dir - ) - - -if __name__ == '__main__': - """ - generate tfrecords - """ - args = init_args() - - write_tfrecords( - dataset_dir=args.dataset_dir, - char_dict_path=args.char_dict_path, - ord_map_dict_path=args.ord_map_dict_path, - save_dir=args.save_dir - ) -- Gitee