Repository: clovaai/dmfont
Branch: master
Commit: 488a8e823920
Files: 42
Total size: 472.7 KB
Directory structure:
gitextract_5udlx8oy/
├── .gitignore
├── LICENSE
├── NOTICE
├── README.md
├── cfgs/
│ ├── kor.yaml
│ └── thai.yaml
├── criterions.py
├── datasets/
│ ├── __init__.py
│ ├── data_utils.py
│ ├── fcdata.py
│ ├── kor_dataset.py
│ ├── kor_decompose.py
│ ├── nonpaired_dataset.py
│ ├── samplers.py
│ ├── thai_dataset.py
│ └── thai_decompose.py
├── evaluator.py
├── inference.py
├── logger.py
├── meta/
│ ├── kor-unrefined.json
│ ├── kor_split.json
│ └── thai_split.json
├── models/
│ ├── __init__.py
│ ├── aux_classifier.py
│ ├── comp_encoder.py
│ ├── decoder.py
│ ├── discriminator.py
│ ├── ma_core.py
│ ├── memory.py
│ └── modules/
│ ├── __init__.py
│ ├── blocks.py
│ ├── modules.py
│ └── self_attention.py
├── requirements.txt
├── scripts/
│ └── prepare_dataset.py
├── ssim.py
├── train.py
├── trainer.py
└── utils/
├── __init__.py
├── utils.py
├── visualize.py
└── writer.py
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
*.pkl
.ipynb_checkpoints
*.ipynb
*.png
backups/
runs/
__pycache__/
*.swp
checkpoints/
logs/
runs-back/
*.log
*.sh
tags*
test*
checkpoints
data
production
runs
fonts
test_cv/
test_us/
================================================
FILE: LICENSE
================================================
Copyright (c) 2020-present NAVER Corp.
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.
================================================
FILE: NOTICE
================================================
DMFont
Copyright (c) 2020-present NAVER Corp.
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.
--------------------------------------------------------------------------------------
This project contains subcomponents with separate copyright notices and license terms.
Your use of the source code for these subcomponents is subject to the terms and conditions of the following licenses.
=====
NVlabs/FUNIT
https://github.com/NVlabs/FUNIT
creative commons
Attribution-NonCommercial-ShareAlike 4.0 International
Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public.
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
Section 1 – Definitions.
a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
c. BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License.
d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike.
h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
i. NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
j. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
k. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
l. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
Section 2 – Scope.
a. License grant.
Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
B. produce, reproduce, and Share Adapted Material for NonCommercial purposes only.
Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
Term. The term of this Public License is specified in Section 6(a).
Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
Downstream recipients.
A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply.
C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
b. Other rights.
Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
Patent and trademark rights are not licensed under this Public License.
To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.
Section 3 – License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
a. Attribution.
If You Share the Licensed Material (including in modified form), You must:
A. retain the following if it is supplied by the Licensor with the Licensed Material:
i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of warranties;
v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
b. ShareAlike.
In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License.
You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
Section 4 – Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only;
b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
Section 5 – Disclaimer of Warranties and Limitation of Liability.
a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
Section 6 – Term and Termination.
a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
Section 7 – Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
Section 8 – Interpretation.
a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
Creative Commons may be contacted at [creativecommons.org](http://creativecommons.org/).
=====
jorge-pessoa/pytorch-msssim
https://github.com/jorge-pessoa/pytorch-msssim
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.
=====
================================================
FILE: README.md
================================================
## Few-shot Compositional Font Generation with Dual Memory (ECCV'20)
**NOTICE: We release the unified few-shot font generation repository ([clovaai/fewshot-font-generation](https://github.com/clovaai/fewshot-font-generation)). If you are interested in using our implementation, please visit the unified repository.**

Official PyTorch implementation of DM-Font | [Paper](https://arxiv.org/abs/2005.10510) | [Video on ECCV 2020](https://youtu.be/VMrMJf21XEA)
Junbum Cha, Sanghyuk Chun, Gayoung Lee, Bado Lee, Seonghyeon Kim, Hwalsuk Lee.
Clova AI Research, NAVER Corp.
In ECCV 2020.
### Abstract
Generating a new font library is a very labor-intensive and time-consuming job for glyph-rich scripts. Despite the remarkable success of existing font generation methods, they have significant drawbacks; they require a large number of reference images to generate a new font set, or they fail to capture detailed styles with a few samples. In this paper, we focus on compositional scripts, a widely used letter system in the world, where each glyph can be decomposed by several components. By utilizing the compositionality of compositional scripts, we propose a novel font generation framework, named Dual Memory-augmented Font Generation Network (DM-Font), which enables us to generate a high-quality font library with only a few samples. We employ memory components and global-context awareness in the generator to take advantage of the compositionality. In the experiments on Korean-handwriting fonts and Thai-printing fonts, we observe that our method generates a significantly better quality of samples with faithful stylization compared to the state-of-the-art generation methods in quantitatively and qualitatively.
## Other related repositories
You can find more related projects on the few-shot font generation at the following links:
- [clovaai/dmfont](https://github.com/clovaai/dmfont) (ECCV'20) | [paper](https://arxiv.org/abs/2005.10510)
- [clovaai/lffont](https://github.com/clovaai/lffont) (AAAI'21) | [paper](https://arxiv.org/abs/2009.11042)
- [clovaai/mxfont](https://github.com/clovaai/mxfont) (ICCV'21) | [paper](https://arxiv.org/abs/2104.00887)
- [clovaai/fewshot-font-generation](https://github.com/clovaai/fewshot-font-generation) The unified few-shot font generation repository
## Installation
Install dependencies:
```
pip install -r requirements.txt
```
Note that using different version of required packages can effects the results, especially PyTorch. The implementations are tested on Python 3.6.
## Dataset preparation
### Data sources
Korean-handwriting and Thai-printing datasets were built from [UhBee fonts](http://uhbeefont.com/) and [Thai font collection](https://github.com/jeffmcneill/thai-font-collection), respectively.
To ensure the style diversity of the dataset, one font was selected for each font family in our experiments.
### Dumping dataset
The `scripts/prepare_dataset.py` script renders glyphs from the collected ttf fonts and dumps them into hdf5 files.
For the Thai-printing dataset, we rectify the rendering errors using [raqm](https://github.com/HOST-Oman/libraqm).
It should be installed before making dataset.
- Korean-handwriting
```
python -m scripts.prepare_dataset kor $FONTSDIR meta/kor_split.json $DUMPDIR
```
- Thai-printing
```
python -m scripts.prepare_dataset thai $FONTSDIR meta/thai_split.json $DUMPDIR
```
## How to run
### Pretrained models
For convenience, the minimal size checkpoints are provided by excluding training variables, e.g., momentums in optimizer, discriminator, and non-EMA generator.
- [Checkpoint trained on the Korean-handwriting dataset](https://github.com/clovaai/dmfont/releases/download/v1.0.0/korean-handwriting.pth)
- [Checkpoint trained on the Thai-printing dataset](https://github.com/clovaai/dmfont/releases/download/v1.0.0/thai-printing.pth)
### Training
- Korean-handwriting
```
python train.py $NAME cfgs/kor.yaml
```
- Thai-printing
```
python train.py $NAME cfgs/kor.yaml cfgs/thai.yaml
```
### Generation & Pixel-level evaluation
- Korean-handwriting
```
python evaluator.py $NAME $CHECKPOINT_PATH $OUT_DIR cfgs/kor.yaml --mode cv-save
```
- Thai-printing
```
python evaluator.py $NAME $CHECKPOINT_PATH $OUT_DIR cfgs/kor.yaml cfgs/thai.yaml --mode cv-save
```
- Korean-unrefined
```
python evaluator.py $NAME $CHECKPOINT_PATH $OUT_DIR cfgs/kor.yaml --mode user-study-save
```
## Citation
```
@inproceedings{cha2020dmfont,
title={Few-shot Compositional Font Generation with Dual Memory},
author={Cha, Junbum and Chun, Sanghyuk and Lee, Gayoung and Lee, Bado and Kim, Seonghyeon and Lee, Hwalsuk},
year={2020},
booktitle={European Conference on Computer Vision (ECCV)},
}
```
## License
This project is distributed under [MIT license](LICENSE), except modules.py which is adopted from https://github.com/NVlabs/FUNIT.
```
Copyright (c) 2020-present NAVER Corp.
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.
```
================================================
FILE: cfgs/kor.yaml
================================================
# train
data_dir: data/fonts-hdf5
data_meta: meta/kor_split.json
language: kor
batch_size: 12
max_iter: 200000
seed: 2
g_lr: 2e-4
d_lr: 8e-4
n_workers: 2
adam_betas: [0.0, 0.9]
init: kaiming
# dataset
# n_sample is the range of #targets per style chunk (T style chars)
dset_args:
n_sample_min: 1
n_sample_max: 4
# model
C: 32
g_args:
comp_enc:
norm: none
activ: relu
pad_type: zero
sa:
C_qk_ratio: 0.5
n_heads: 2
area: False
ffn_mult: 2
dec:
norm: IN
activ: relu
pad_type: zero
d_args:
w_norm: spectral
use_rx: false
activ: relu
gap_activ: relu
pad_type: zero
ac_args:
norm: IN
activ: relu
pad_type: zero
conv_dropout: 0.3
clf_dropout: 0.2
# losses
pixel_w: 0.1
gan_w: 1.0
fm_w: 1.0
ac_w: 0.1
# etc
save: all-last
print_freq: 1000
val_freq: 10000
save_freq: 50000
tb_freq: 10
================================================
FILE: cfgs/thai.yaml
================================================
data_dir: data/thai-hdf5-fix2
data_meta: meta/thai_split.json
language: thai
g_lr: 5e-5
d_lr: 1e-4
max_iter: 250000
batch_size: 10
================================================
FILE: criterions.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import torch.nn.functional as F
def hinge_d_loss(real, fake):
return F.relu(1. - real).mean() + F.relu(1. + fake).mean()
def hinge_g_loss(real, fake):
return -fake.mean()
================================================
FILE: datasets/__init__.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
from . import kor_dataset
from . import thai_dataset
from .fcdata import HDF5Data
from .data_utils import (
cyclize, sample, uniform_sample,
get_fonts_unionchars, get_union_chars, get_intersection_chars
)
def get_ma_dataset(*args, language=None, **kwargs):
if language == 'kor':
return kor_dataset.get_ma_dataset(*args, **kwargs)
elif language == 'thai':
return thai_dataset.get_ma_dataset(*args, **kwargs)
else:
raise ValueError(language)
def get_ma_val_dataset(*args, language=None, **kwargs):
if language == 'kor':
return kor_dataset.get_ma_val_dataset(*args, **kwargs)
elif language == 'thai':
return thai_dataset.get_ma_val_dataset(*args, **kwargs)
else:
raise ValueError(language)
================================================
FILE: datasets/data_utils.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import numpy as np
def cyclize(loader):
""" Cyclize loader """
while True:
for x in loader:
yield x
def rev_dict(l):
""" Reverse dict or list """
return {k: i for i, k in enumerate(l)}
def uniform_indices(end, n_sample, st=None):
""" Sample from [0, end) with (almost) equidistant interval """
if end <= 0:
return np.empty(0, dtype=np.int)
# NOTE with endpoint=False, np.linspace does not sample the `end` value
indices = np.linspace(0, end, num=n_sample, dtype=np.int, endpoint=False)
if st is None and end:
st = (end-1 - indices[-1]) // 2
return indices + st
def sample(population, n_sample, exception=None):
""" sampling without replacement N elements from set with exception
Params:
population: [1d] list or set or np.ndarray
Return: np.ndarray
"""
if exception is not None:
population = set(population) - set(exception)
if not isinstance(population, np.ndarray):
population = np.asarray(list(population))
ids = np.random.choice(len(population), size=n_sample, replace=False)
return population[ids]
def uniform_sample(population, n_sample, st=None):
assert not isinstance(population, set), "population should have order"
N = len(population)
indices = uniform_indices(N, n_sample, st)
if isinstance(population, np.ndarray):
return population[indices]
elif isinstance(population, list):
return [population[idx] for idx in indices]
elif isinstance(population, str):
return ''.join([population[idx] for idx in indices])
else:
raise TypeError(type(population))
def get_fonts(avails):
return list(avails.keys())
def get_union_chars(avails):
return sorted(set.union(*map(set, avails.values())))
def get_fonts_unionchars(avails):
return get_fonts(avails), get_union_chars(avails)
def get_intersection_chars(avails):
return sorted(set.intersection(*map(set, avails.values())))
================================================
FILE: datasets/fcdata.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import h5py as h5
from torchvision import transforms
from . import thai_decompose as thai
class FCData:
""" FontChar data
Data module provides image access by font_name and char in get method
"""
def get(self, font_name, char):
raise NotImplementedError()
class HDF5Data(FCData):
def __init__(self, hdf5_paths, transform=None, language='kor'):
"""
cmap = {
font_name: {
char: idx,
...
},
...
}
"""
self.paths = hdf5_paths
self.transform = transform or transforms.ToTensor()
self.language = language
self.fn2path = {}
self.cmap = {}
self.n_items = 0
# chars: union of all chars
for path in hdf5_paths:
with h5.File(path, 'r') as f:
font_name = f['dataset'].attrs['font_name']
self.fn2path[font_name] = path
# [:] for batch read
char2idx = self.make_char2idx(f['dataset']['chars'][:])
self.cmap[font_name] = char2idx
self.n_items += len(char2idx)
# indexing
self.fonts = list(self.cmap.keys())
def make_char2idx(self, chars):
""" Generate char2idx map
Args:
chars [N] or [N, 4]
for kor: [N]
for thai: [N, 4]
"""
if self.language == 'kor':
# chars: 1d array [N]
char2idx = {
chr(ch): i
for i, ch in enumerate(chars)
}
elif self.language == 'thai':
# chars: 2d array [N, 4]
char2idx = {
thai.compose(*ch): i
for i, ch in enumerate(chars)
}
else:
raise ValueError(self.language)
return char2idx
def is_avail(self, font_name, char):
if font_name not in self.cmap:
return False
return char in self.cmap[font_name]
def get(self, font_name, char, default=None, transform=None):
"""
Args:
default: if not available (font_name, char) is given, return default.
transform: image transform. If not given, use self.transform.
"""
if default is not None:
if not self.is_avail(font_name, char):
return default
path = self.fn2path[font_name]
with h5.File(path, 'r') as f:
cidx = self.cmap[font_name][char]
image = f['dataset']['images'][cidx]
transform = transform or self.transform
return transform(image)
def get_from_reffont(self, char):
""" get character image from reference font """
if self.language == 'kor':
font_name = "D2Coding-Ver1.3.2-20180524.ttf"
elif self.language == 'thai':
font_name = "NotoSansThai-Regular.ttf"
return self.get(font_name, char)
def get_avail_chars(self, font_name):
return list(self.cmap[font_name].keys())
================================================
FILE: datasets/kor_dataset.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import random
from itertools import product
import numpy as np
import torch
from torch.utils.data import Dataset
from .kor_decompose import decompose, compose, COMPLETE_SET
from .samplers import StyleSampler
from .data_utils import rev_dict, sample, get_fonts, get_union_chars
class MAStyleFirstDataset(Dataset):
""" Sampling style chars first and then generating target chars
by combination of style components
"""
def __init__(self, data, style_sampler, n_sample_min=1, n_sample_max=999,
f_mult=800, transform=None, content_font=None):
"""
Args:
style_sampler: style sampler with data source. avail fonts and avail chars are
determined by `style_sampler.avails`.
n_sample_min: minimum # of target chars per 3 style chars.
n_sample_max: maximum # of target chars per 3 style chars.
f_mult: #fonts multiplier for full-batch
transform: image transform. If not given, use data.transform as default.
"""
self.data = data
self.style_sampler = style_sampler
self.avails = style_sampler.avails
self.R = style_sampler.R
self.n_sample_min = n_sample_min
self.n_sample_max = n_sample_max
self.f_mult = f_mult
self.transform = transform
self.content_font = content_font
self.fonts = get_fonts(self.avails)
self.chars = get_union_chars(self.avails)
self.n_fonts = len(self.fonts)
self.n_chars = len(self.chars)
self.font2idx = rev_dict(self.fonts)
self.char2idx = rev_dict(self.chars)
self.n_avails = sum(len(chars) for chars in self.avails.values())
def get_avail_chars(self, font_name, style_chars):
avail_chars = set(self.avails[font_name])
avail_chars = avail_chars - set(style_chars)
return avail_chars
def get_component_combinations(self, components, avail_chars, style_comp_ids=None):
""" Generate all component combinations within avail_chars
Args:
style_comp_ids: style component ids for excluding duplication (if needed)
"""
trg_comp_ids = []
for cho, jung, jong in product(*components):
char = compose(cho, jung, jong)
if char not in avail_chars:
continue
ids = np.asarray([cho, jung, jong])
# exclude duplicated components:
# exclude target chars which has duplicate source style char
# e.g.) src ["성", "공", "해"] => trg ["송"] (duplicated)
if ((style_comp_ids == ids).sum(axis=1) >= 2).any():
continue
trg_comp_ids.append(ids)
return trg_comp_ids
def check_and_sample(self, trg_comp_ids):
n_sample = len(trg_comp_ids)
if n_sample > self.n_sample_max:
trg_comp_ids = sample(trg_comp_ids, self.n_sample_max)
elif n_sample < self.n_sample_min:
return None
return trg_comp_ids
def __getitem__(self, index):
font_idx = index % self.n_fonts
font_name = self.fonts[font_idx]
while True:
####################################################
# 1. sample styles
####################################################
style_imgs, style_chars = self.style_sampler.get(font_name, ret_values=True)
style_comp_ids = [decompose(char) for char in style_chars]
chos, jungs, jongs = list(map(set, zip(*style_comp_ids)))
# fullcomb
if not (len(chos) == len(jungs) == len(jongs) == self.R):
continue
style_comp_ids = np.asarray(style_comp_ids)
####################################################
# 2. sample targets from style components
####################################################
avail_chars = self.get_avail_chars(font_name, style_chars)
trg_comp_ids = self.get_component_combinations(
(chos, jungs, jongs), avail_chars, style_comp_ids
)
trg_comp_ids = np.asarray(trg_comp_ids)
trg_comp_ids = self.check_and_sample(trg_comp_ids)
if trg_comp_ids is None:
continue
####################################################
# 3. setup chars, font_ids, char_ids and images
####################################################
trg_chars = [compose(*comp_id) for comp_id in trg_comp_ids]
trg_imgs = torch.cat([
self.data.get(font_name, char, transform=self.transform)
for char in trg_chars
])
style_char_ids = [self.char2idx[ch] for ch in style_chars]
trg_char_ids = [self.char2idx[ch] for ch in trg_chars]
n_styles = len(style_chars)
n_trgs = len(trg_chars)
font_idx = torch.as_tensor(font_idx)
ret = (
font_idx.repeat(n_styles),
torch.as_tensor(style_char_ids),
torch.as_tensor(style_comp_ids),
style_imgs,
font_idx.repeat(n_trgs),
torch.as_tensor(trg_char_ids),
torch.as_tensor(trg_comp_ids),
trg_imgs
)
if self.content_font:
content_imgs = torch.cat([
self.data.get(self.content_font, char, transform=self.transform)
for char in trg_chars
])
ret += (content_imgs,)
return ret
def __len__(self):
return self.n_fonts * self.f_mult
@staticmethod
def collate_fn(batch):
(style_ids, style_char_ids, style_comp_ids, style_imgs,
trg_ids, trg_char_ids, trg_comp_ids, trg_imgs, *left) = zip(*batch)
ret = (
torch.cat(style_ids),
torch.cat(style_char_ids),
torch.cat(style_comp_ids),
torch.cat(style_imgs).unsqueeze_(1),
torch.cat(trg_ids),
torch.cat(trg_char_ids),
torch.cat(trg_comp_ids),
torch.cat(trg_imgs).unsqueeze_(1)
)
if left:
assert len(left) == 1
content_imgs = left[0]
ret += (
torch.cat(content_imgs).unsqueeze_(1),
)
return ret
class MATargetFirstDataset(Dataset):
"""
MAStyleFirstDatset samples source style characters first and then determines target characters.
In contrast, MATargetFirstDataset samples target characters first and then
determines source style characters.
"""
def __init__(self, target_fc, style_avails, style_data, n_max_match=3, transform=None,
ret_targets=False, first_shuffle=False, content_font=None):
""" TargetFirstDataset can use out-of-avails target chars,
so long as its components could be represented in avail chars.
Args:
target_fc[font_name] = target_chars
style_avails[font_name] = avail_style_chars
style_data: style_data getter
n_max_match: maximum-allowed matches between style char and target char.
n_max_match=3 indicates that style_char == target_char is possible.
transform: image transform. If not given, use data.transform as default.
ret_targets: return target images also
first_shuffle: shuffle item list
"""
self.target_fc = target_fc
self.style_avails = style_avails
self.style_avail_comps_list = {
fname: [decompose(char) for char in char_list]
for fname, char_list in style_avails.items()
}
self.n_max_match = n_max_match
self.transform = transform
self.ret_targets = ret_targets
self.content_font = content_font
self.style_data = style_data
self.fcs = [
(font_name, char)
for font_name, char_list in target_fc.items()
for char in char_list
]
if first_shuffle:
np.random.shuffle(self.fcs)
self.fonts = get_fonts(self.target_fc)
self.chars = get_union_chars(self.target_fc)
self.font2idx = {font_name: i for i, font_name in enumerate(self.target_fc.keys())}
def sample_style_char(self, font_name, trg_char):
""" sample style char from target char within avail style chars """
def is_allowed_matches(arr1, arr2):
""" check # of matched ids
return count(arr1 == arr2) <= self.n_max_match
"""
if self.n_max_match >= 3:
return True
n_matched = sum(v1 == v2 for v1, v2 in zip(arr1, arr2))
return n_matched <= self.n_max_match
trg_comp_ids = decompose(trg_char)
style_chars = []
style_comps_list = []
for i, _ in enumerate(trg_comp_ids):
avail_comps_list = list(
filter(
lambda comp_ids: comp_ids[i] == trg_comp_ids[i] \
and is_allowed_matches(comp_ids, trg_comp_ids),
self.style_avail_comps_list[font_name]
)
)
style_comp_ids = random.choice(avail_comps_list)
style_char = compose(*style_comp_ids)
style_chars.append(style_char)
style_comps_list.append(style_comp_ids)
return style_chars, style_comps_list
def __getitem__(self, index):
font_name, trg_char = self.fcs[index]
font_idx = self.font2idx[font_name]
style_chars, style_comp_ids = self.sample_style_char(font_name, trg_char)
style_imgs = torch.cat([
self.style_data.get(font_name, char, transform=self.transform)
for char in style_chars
])
trg_comp_ids = [decompose(trg_char)]
n_styles = len(style_chars)
font_idx = torch.as_tensor(font_idx)
style_ids = font_idx.repeat(n_styles)
trg_ids = font_idx.repeat(1)
content_img = self.style_data.get(self.content_font, trg_char, transform=self.transform)
ret = (
style_ids,
torch.as_tensor(style_comp_ids),
style_imgs,
trg_ids,
torch.as_tensor(trg_comp_ids),
content_img
)
if self.ret_targets:
trg_img = self.style_data.get(font_name, trg_char, transform=self.transform)
ret += (trg_img, )
return ret
def __len__(self):
return len(self.fcs)
@staticmethod
def collate_fn(batch):
style_ids, style_comp_ids, style_imgs, trg_ids, trg_comp_ids, content_imgs, *left = \
list(zip(*batch))
ret = (
torch.cat(style_ids),
torch.cat(style_comp_ids),
torch.cat(style_imgs).unsqueeze_(1),
torch.cat(trg_ids),
torch.cat(trg_comp_ids),
torch.cat(content_imgs).unsqueeze_(1)
)
if left:
assert len(left) == 1
trg_imgs = left[0]
ret += (torch.cat(trg_imgs).unsqueeze_(1), )
return ret
def filter_complete_chars(chars):
return sorted(set(chars) & COMPLETE_SET)
def get_ma_dataset(hdf5_data, avail_fonts, avail_chars=None, transform=None, **kwargs):
if avail_chars:
avail_chars = set(avail_chars)
R_style = 3
avails = {}
for fname in avail_fonts:
chars = hdf5_data.get_avail_chars(fname)
if avail_chars:
chars = set(chars) & avail_chars
avails[fname] = filter_complete_chars(chars)
style_sampler = StyleSampler(R_style, avails, hdf5_data)
dset = MAStyleFirstDataset(hdf5_data, style_sampler, transform=transform, **kwargs)
return dset, MAStyleFirstDataset.collate_fn
def get_ma_val_dataset(hdf5_data, fonts, chars, style_avails, n_max_match, transform, **kwargs):
target_fc = {font_name: chars for font_name in fonts}
dset = MATargetFirstDataset(
target_fc, style_avails, hdf5_data, n_max_match, transform=transform, **kwargs
)
return dset, MATargetFirstDataset.collate_fn
================================================
FILE: datasets/kor_decompose.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
COMPONENT_RANGE = (int('3131', 16), int('3163', 16)) # kr 자음/모음
COMPLETE_RANGE = (int('ac00', 16), int('d7a3', 16)) # kr all complete chars
COMPLETE_SET = frozenset(chr(code) for code in range(COMPLETE_RANGE[0], COMPLETE_RANGE[1]+1))
COMPLETE_LIST = sorted(COMPLETE_SET)
CHO_LIST = ['ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ',
'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ']
JUNG_LIST = ['ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ', 'ㅔ', 'ㅕ', 'ㅖ', 'ㅗ', 'ㅘ', 'ㅙ', 'ㅚ',
'ㅛ', 'ㅜ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅠ', 'ㅡ', 'ㅢ', 'ㅣ']
JONG_LIST = [' ', 'ㄱ', 'ㄲ', 'ㄳ', 'ㄴ', 'ㄵ', 'ㄶ', 'ㄷ', 'ㄹ', 'ㄺ', 'ㄻ', 'ㄼ',
'ㄽ', 'ㄾ', 'ㄿ', 'ㅀ', 'ㅁ', 'ㅂ', 'ㅄ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅊ',
'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ']
N_CHO, N_JUNG, N_JONG = len(CHO_LIST), len(JUNG_LIST), len(JONG_LIST)
N_COMPONENTS = N_CHO + N_JUNG + N_JONG
def compose(cho, jung, jong):
"""Compose ids to char"""
char_id = cho * N_JONG * N_JUNG + jung * N_JONG + jong + COMPLETE_RANGE[0]
return chr(char_id)
def decompose(char):
"""Decompose char to ids"""
char_code = ord(char)
if COMPLETE_RANGE[0] <= char_code <= COMPLETE_RANGE[1]:
char_code -= COMPLETE_RANGE[0]
jong = char_code % N_JONG
jung = (char_code // N_JONG) % N_JUNG
cho = char_code // (N_JONG * N_JUNG)
char_id = (cho, jung, jong)
elif COMPONENT_RANGE[0] <= char_code <= COMPONENT_RANGE[1]:
char_code -= COMPONENT_RANGE[0]
raise ValueError('Component only ({})'.format(char))
else:
raise ValueError('{} is Non kor'.format(char))
return char_id
================================================
FILE: datasets/nonpaired_dataset.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import torch
from torch.utils.data import Dataset
from . import kor_decompose as kor
from . import thai_decompose as thai
class EncodeDataset(Dataset):
def __init__(self, font_name, chars, data, language, style_id=0, transform=None):
self.fname = font_name
self.data = data
self.chars = chars
self.style_id = style_id
self.transform = transform
self.language = language
if language == 'kor':
self.decompose = kor.decompose
elif language == 'thai':
self.decompose = thai.decompose_ids
else:
raise ValueError(language)
def __getitem__(self, index):
style_char = self.chars[index]
style_comp_ids = self.decompose(style_char)
style_img = self.data.get(self.fname, style_char, transform=self.transform)
return (
self.style_id,
torch.as_tensor(style_comp_ids),
style_img
)
def __len__(self):
return len(self.chars)
class DecodeDataset(Dataset):
def __init__(self, chars, language, style_id=0):
"""
Args:
chars: target characters
language
style_id: Use different style id for different reference style set
"""
self.chars = chars
self.language = language
self.style_id = style_id
if language == 'kor':
self.decompose = kor.decompose
elif language == 'thai':
raise NotImplementedError()
else:
raise ValueError(language)
def __getitem__(self, index):
char = self.chars[index]
trg_comp_ids = self.decompose(char)
return (
self.style_id,
torch.as_tensor(trg_comp_ids)
)
def __len__(self):
return len(self.chars)
================================================
FILE: datasets/samplers.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import torch
from .data_utils import sample, uniform_indices
class Sampler:
def __init__(self, R, avails, data):
self.R = R
self.avails = avails
self.data = data
def get_item(self, key, value):
raise NotImplementedError()
def get(self, key, ex_values=None, ret_values=False):
""" Random sampling """
values = self.avails[key]
values = sample(values, self.R, ex_values)
images = torch.cat([self.get_item(key, value) for value in values])
if ret_values:
return images, values
return images
def get_uniform(self, key, indices=None, st=None):
values = self.avails[key]
if indices is None:
indices = uniform_indices(len(values), self.R, st)
images, vals = [], []
for idx in indices:
value = values[idx]
img = self.get_item(key, value)
vals.append(value)
images.append(img)
return torch.cat(images), vals
class StyleSampler(Sampler):
""" Return various content (char) but single style (font): which represent style """
def get_item(self, font_name, char):
return self.data.get(font_name, char)
class ContentSampler(Sampler):
""" Return various style (font) but single content (char): which represent content """
def get_item(self, char, font_name):
return self.data.get(font_name, char)
================================================
FILE: datasets/thai_dataset.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import random
import numpy as np
import torch
from torch.utils.data import Dataset
from . import thai_decompose as thai
from .data_utils import rev_dict, get_fonts, get_union_chars
def product4_no_dup(consonants, uppers, highests, lowers):
for i, co in enumerate(consonants):
for j, up in enumerate(uppers):
if i == j:
continue
for k, hi in enumerate(highests):
if k in (i, j):
continue
for l, lo in enumerate(lowers):
if l in (i, j, k):
continue
yield (co, up, hi, lo)
class MAStyleFirstDataset(Dataset):
def __init__(self, data, fonts, chars, n_sample_min, n_sample_max,
f_mult=800, transform=None, content_font=None):
self.data = data
self.n_sample_min = n_sample_min
self.n_sample_max = n_sample_max
self.f_mult = f_mult
self.transform = transform
self.content_font = content_font
self.fonts = fonts
self.chars = chars
self.n_fonts = len(fonts)
self.n_chars = len(self.chars)
self.font2idx = rev_dict(self.fonts)
self.char2idx = rev_dict(self.chars)
self.n_avails = self.n_fonts * self.n_chars
# for compatibility
self.avails = {
fname: chars
for fname in self.fonts
}
def sample_style_chars(self, n_styles):
# Sampling performance can be improved but which is not the bottleneck, at least now.
while True:
# sample without replacement => fullcomb
consonants = np.random.choice(thai.CONSONANTS, n_styles, replace=False)
uppers = np.random.choice(thai.UPPERS, n_styles, replace=False)
highests = np.random.choice(thai.HIGHESTS, n_styles, replace=False)
lowers = np.random.choice(thai.LOWERS, n_styles, replace=False)
style_chars = []
style_ords = []
for c, u, h, l in zip(consonants, uppers, highests, lowers):
char = thai.compose(c, u, h, l)
if char not in self.chars:
break
style_chars.append(char)
style_ords.append((c, u, h, l))
else:
# for-loop is not broken -> all chars available
break
components = (consonants, uppers, highests, lowers)
return style_chars, style_ords, components
def sample_trg_chars(self, components, style_chars):
combinations = list(product4_no_dup(*components))
np.random.shuffle(combinations)
trg_chars = []
trg_ords = []
for c, u, h, l in combinations:
char = thai.compose(c, u, h, l)
# exclude style chars from target chars
if char in style_chars or char not in self.chars:
continue
trg_chars.append(char)
trg_ords.append((c, u, h, l))
if len(trg_chars) >= self.n_sample_max:
break
return trg_chars, trg_ords
def __getitem__(self, index):
font_idx = index % self.n_fonts
font_name = self.fonts[font_idx]
n_styles = 4
while True:
# 1. sample style components
style_chars, style_ords, components = self.sample_style_chars(n_styles)
# 2. sample targets from style components
trg_chars, trg_ords = self.sample_trg_chars(components, style_chars)
if len(trg_chars) >= self.n_sample_min:
break
# 3. setup rest
style_char_ids = [self.char2idx[ch] for ch in style_chars]
style_comp_ids = thai.ord2idx_2d(style_ords)
style_imgs = torch.cat([self.data.get(font_name, char) for char in style_chars])
n_trgs = len(trg_chars)
trg_char_ids = [self.char2idx[ch] for ch in trg_chars]
trg_comp_ids = thai.ord2idx_2d(trg_ords)
trg_imgs = torch.cat([self.data.get(font_name, char) for char in trg_chars])
font_idx = torch.as_tensor(font_idx)
ret = (
font_idx.repeat(n_styles),
torch.as_tensor(style_char_ids),
torch.as_tensor(style_comp_ids),
style_imgs,
font_idx.repeat(n_trgs),
torch.as_tensor(trg_char_ids),
torch.as_tensor(trg_comp_ids),
trg_imgs
)
if self.content_font:
content_imgs = torch.cat([
self.data.get(self.content_font, char, transform=self.transform)
for char in trg_chars
])
ret += (content_imgs,)
return ret
def __len__(self):
return self.n_fonts * self.f_mult
@staticmethod
def collate_fn(batch):
(style_ids, style_char_ids, style_comp_ids, style_imgs,
trg_ids, trg_char_ids, trg_comp_ids, trg_imgs, *left) = zip(*batch)
ret = (
torch.cat(style_ids),
torch.cat(style_char_ids),
torch.cat(style_comp_ids),
torch.cat(style_imgs).unsqueeze_(1),
torch.cat(trg_ids),
torch.cat(trg_char_ids),
torch.cat(trg_comp_ids),
torch.cat(trg_imgs).unsqueeze_(1)
)
if left:
assert len(left) == 1
content_imgs = left[0]
ret += (
torch.cat(content_imgs).unsqueeze_(1),
)
return ret
class MATargetFirstDataset(Dataset):
def __init__(self, target_fc, style_avails, style_data, n_max_match=4, transform=None,
ret_targets=False, first_shuffle=False, content_font=None):
""" TargetFirstDataset can use out-of-avails target chars,
so long as its components could be represented in avail chars.
Args:
target_fc[font_name] = target_chars
style_avails[font_name] = avail_style_chars
style_data: style_data getter
n_max_match: maximum-allowed matches between style char and target char.
n_max_match=4 indicates that style_char == target_char is possible.
transform: image transform. If not given, use data.transform as default.
ret_targets: return target images also
first_shuffle: shuffle item list
"""
self.target_fc = target_fc
self.style_avails = style_avails
self.style_avail_comps_list = {
fname: [thai.decompose_ords(char) for char in char_list]
for fname, char_list in style_avails.items()
}
self.n_max_match = n_max_match
self.transform = transform
self.ret_targets = ret_targets
self.content_font = content_font
self.style_data = style_data
self.fcs = [
(font_name, char)
for font_name, char_list in target_fc.items()
for char in char_list
]
if first_shuffle:
np.random.shuffle(self.fcs)
self.fonts = get_fonts(self.target_fc)
self.chars = get_union_chars(self.target_fc)
self.font2idx = rev_dict(self.fonts)
def sample_style_char(self, font_name, trg_char):
""" sample style char from target char within avail style chars """
def is_allowed_matches(arr1, arr2):
""" check # of matched ids
return count(arr1 == arr2) <= self.n_max_match
"""
if self.n_max_match >= 4:
return True
n_matched = sum(v1 == v2 for v1, v2 in zip(arr1, arr2))
return n_matched <= self.n_max_match
trg_comp_ords = thai.decompose_ords(trg_char)
style_chars = []
style_comps_list = []
for i, _ in enumerate(trg_comp_ords):
avail_comps_list = list(
filter(
lambda comp_ords: comp_ords[i] == trg_comp_ords[i] \
and is_allowed_matches(comp_ords, trg_comp_ords),
self.style_avail_comps_list[font_name]
)
)
style_comp_ords = random.choice(avail_comps_list)
style_char = thai.compose(*style_comp_ords)
style_chars.append(style_char)
style_comps_list.append(style_comp_ords)
return style_chars, thai.ord2idx_2d(style_comps_list)
def __getitem__(self, index):
font_name, trg_char = self.fcs[index]
font_idx = self.font2idx[font_name]
style_chars, style_comp_ids = self.sample_style_char(font_name, trg_char)
style_imgs = torch.cat([
self.style_data.get(font_name, char, transform=self.transform)
for char in style_chars
])
trg_comp_ords = [thai.decompose_ords(trg_char)]
trg_comp_ids = thai.ord2idx_2d(trg_comp_ords)
n_styles = len(style_chars)
font_idx = torch.as_tensor(font_idx)
style_ids = font_idx.repeat(n_styles)
trg_ids = font_idx.repeat(1)
content_img = self.style_data.get(self.content_font, trg_char, transform=self.transform)
ret = (
style_ids,
torch.as_tensor(style_comp_ids),
style_imgs,
trg_ids,
torch.as_tensor(trg_comp_ids),
content_img
)
if self.ret_targets:
trg_img = self.style_data.get(font_name, trg_char, transform=self.transform)
ret += (trg_img, )
return ret
def __len__(self):
return len(self.fcs)
@staticmethod
def collate_fn(batch):
style_ids, style_comp_ids, style_imgs, trg_ids, trg_comp_ids, content_imgs, *left = \
list(zip(*batch))
ret = (
torch.cat(style_ids),
torch.cat(style_comp_ids),
torch.cat(style_imgs).unsqueeze_(1),
torch.cat(trg_ids),
torch.cat(trg_comp_ids),
torch.cat(content_imgs).unsqueeze_(1)
)
if left:
assert len(left) == 1
trg_imgs = left[0]
ret += torch.cat(trg_imgs).unsqueeze_(1),
return ret
def get_ma_dataset(hdf5_data, avail_fonts, avail_chars=None, transform=None, **kwargs):
if not avail_chars:
avail_chars = list(thai.complete_chars())
dset = MAStyleFirstDataset(hdf5_data, avail_fonts, avail_chars, transform=transform, **kwargs)
return dset, MAStyleFirstDataset.collate_fn
def get_ma_val_dataset(hdf5_data, fonts, chars, style_avails, n_max_match, transform, **kwargs):
target_fc = {font_name: chars for font_name in fonts}
dset = MATargetFirstDataset(
target_fc, style_avails, hdf5_data, n_max_match, transform=transform, **kwargs
)
return dset, MATargetFirstDataset.collate_fn
================================================
FILE: datasets/thai_decompose.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
from .data_utils import rev_dict
CONSONANTS = [3585, 3586, 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3617, 3618, 3619, 3621, 3623, 3624, 3625, 3626, 3627, 3628, 3629, 3630]
UPPERS = [3633, 3635, 3636, 3637, 3638, 3639, 0]
HIGHESTS = [3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662, 0]
LOWERS = [3640, 3641, 3642, 0]
N_CONSONANTS = len(CONSONANTS)
N_UPPERS = len(UPPERS)
N_HIGHESTS = len(HIGHESTS)
N_LOWERS = len(LOWERS)
N_COMPONENTS = N_CONSONANTS + N_UPPERS + N_HIGHESTS + N_LOWERS
def _ord2idx(ords):
dic = {
ord_num: i for i, ord_num in enumerate(ords)
}
return dic
CONSONANTS_ORD2IDX = _ord2idx(CONSONANTS)
UPPERS_ORD2IDX = _ord2idx(UPPERS)
HIGHESTS_ORD2IDX = _ord2idx(HIGHESTS)
LOWERS_ORD2IDX = _ord2idx(LOWERS)
def compose(consonant, upper, highest, lower):
""" Compose ords to char """
s = chr(consonant) \
+ (chr(upper) if upper else '') \
+ (chr(highest) if highest else '') \
+ (chr(lower) if lower else '')
return s
def compose_ids(consonant, upper, highest, lower):
""" Compose ids to char """
consonant = CONSONANTS[consonant]
upper = UPPERS[upper]
highest = HIGHESTS[highest]
lower = LOWERS[lower]
return compose(consonant, upper, highest, lower)
def complete_chars():
for consonant in CONSONANTS:
for upper in UPPERS:
for highest in HIGHESTS:
for lower in LOWERS:
char = compose(consonant, upper, highest, lower)
yield char
ALLCHARS = list(complete_chars())
CHAR2IDX = rev_dict(ALLCHARS)
def ord2idx_2d(ords):
"""
Args:
ords: 2d [[consonant, upper, highest, lower], ...] array
Return: 2d [[consonant_idx, upper_idx, highest_idx, lower_idx], ...] array
"""
ret = []
for consonant, upper, highest, lower in ords:
consonant_idx = CONSONANTS_ORD2IDX[consonant]
upper_idx = UPPERS_ORD2IDX[upper]
highest_idx = HIGHESTS_ORD2IDX[highest]
lower_idx = LOWERS_ORD2IDX[lower]
ret.append((consonant_idx, upper_idx, highest_idx, lower_idx))
return ret
def decompose_ords(char):
""" Decompose char into ords """
if not char:
return 0, 0, 0, 0
consonant = ord(char[0])
upper = highest = lower = 0
for ch in char[1:]:
ch = ord(ch)
if ch in UPPERS:
upper = ch
elif ch in HIGHESTS:
highest = ch
elif ch in LOWERS:
lower = ch
else:
raise ValueError(char)
return consonant, upper, highest, lower
def decompose_ids(char):
""" Decompose char into ids """
index = CHAR2IDX[char]
return decompose_index(index)
def decompose_index(index):
""" Decompose char index to component indices
Note: char index come from `complete_chars()`.
"""
lower_idx = index % N_LOWERS
index //= N_LOWERS
highest_idx = index % N_HIGHESTS
index //= N_HIGHESTS
upper_idx = index % N_UPPERS
index //= N_UPPERS
consonant_idx = index
return consonant_idx, upper_idx, highest_idx, lower_idx
================================================
FILE: evaluator.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
from itertools import chain
from pathlib import Path
import json
import argparse
import random
import numpy as np
import torch
import torch.nn.functional as F
from torchvision import transforms
from tqdm import tqdm
from sconf import Config
import utils
from logger import Logger
from models import MACore
from datasets import uniform_sample
from datasets import kor_decompose as kor
from datasets import thai_decompose as thai
from inference import (
infer, get_val_loader,
infer_2stage, get_val_encode_loader, get_val_decode_loader
)
from ssim import SSIM, MSSSIM
def torch_eval(val_fn):
@torch.no_grad()
def decorated(self, gen, *args, **kwargs):
gen.eval()
ret = val_fn(self, gen, *args, **kwargs)
gen.train()
return ret
return decorated
class Evaluator:
"""DMFont evaluator.
The evaluator provides pixel-level evaluation and glyphs generation
from the reference style samples.
"""
def __init__(self, data, trn_avails, logger, writer, batch_size, transform,
content_font, language, meta, val_loaders, n_workers=2):
self.data = data
self.logger = logger
self.writer = writer
self.batch_size = batch_size
self.transform = transform
self.n_workers = n_workers
self.unify_resize_method = True
self.trn_avails = trn_avails
self.val_loaders = val_loaders
self.content_font = content_font
self.language = language
if self.language == 'kor':
self.n_comp_types = 3
elif self.language == 'thai':
self.n_comp_types = 4
else:
raise ValueError()
# setup cross-validation
self.SSIM = SSIM().cuda()
weights = [0.25, 0.3, 0.3, 0.15]
self.MSSSIM = MSSSIM(weights=weights).cuda()
n_batches = [len(loader) for loader in self.val_loaders.values()]
self.n_cv_batches = min(n_batches)
self.logger.info("# of cross-validation batches = {}".format(self.n_cv_batches))
# the number of chars/fonts for CV visualization
n_chars = 16
n_fonts = 16
seen_chars = uniform_sample(meta['train']['chars'], n_chars//2)
unseen_chars = uniform_sample(meta['valid']['chars'], n_chars//2)
unseen_fonts = uniform_sample(meta['valid']['fonts'], n_fonts)
self.cv_comparable_fonts = unseen_fonts
self.cv_comparable_chars = seen_chars + unseen_chars
allchars = meta['train']['chars'] + meta['valid']['chars']
self.cv_comparable_avails = {
font: allchars
for font in self.cv_comparable_fonts
}
def validation(self, gen, step, extra_tag=''):
self.comparable_validset_validation(gen, step, True, 'comparable_val'+extra_tag)
plot_dic = {}
for tag, loader in self.val_loaders.items():
tag = tag + extra_tag
l1, ssim, msssim = self.cross_validation(
gen, step, loader, tag, n_batches=self.n_cv_batches
)
plot_dic[f'val/{tag}/l1'] = l1
plot_dic[f'val/{tag}/ssim'] = ssim
plot_dic[f'val/{tag}/ms-ssim'] = msssim if not np.isnan(msssim) else 0.
self.writer.add_scalars(plot_dic, step)
return plot_dic
@torch_eval
def comparable_validset_validation(self, gen, step, compare_inputs=False, tag='comparable_val'):
"""Comparable validation on validation set from CV"""
comparable_grid = self.comparable_validation(
gen, self.cv_comparable_avails, self.cv_comparable_fonts, self.cv_comparable_chars,
n_max_match=1, compare_inputs=compare_inputs
)
self.writer.add_image(tag, comparable_grid, global_step=step)
@torch_eval
def comparable_validation(self, gen, style_avails, target_fonts, target_chars, n_max_match=3,
compare_inputs=False):
"""Compare horizontally for target fonts and chars"""
# infer
loader = get_val_loader(
self.data, target_fonts, target_chars, style_avails,
B=self.batch_size, n_max_match=n_max_match, transform=self.transform,
content_font=self.content_font, language=self.language, n_workers=self.n_workers
)
out = infer(gen, loader) # [B, 1, 128, 128]
# ref original chars
refs = self.get_charimages(target_fonts, target_chars)
compare_batches = [refs, out]
if compare_inputs:
compare_batches += self.get_inputimages(loader)
nrow = len(target_chars)
comparable_grid = utils.make_comparable_grid(*compare_batches, nrow=nrow)
return comparable_grid
@torch_eval
def cross_validation(self, gen, step, loader, tag, n_batches, n_log=64, save_dir=None):
"""Validation using splitted cross-validation set
Args:
n_log: # of images to log
save_dir: if given, images are saved to save_dir
"""
if save_dir:
save_dir = Path(save_dir)
save_dir.mkdir(parents=True, exist_ok=True)
outs = []
trgs = []
n_accum = 0
losses = utils.AverageMeters("l1", "ssim", "msssim")
for i, (style_ids, style_comp_ids, style_imgs,
trg_ids, trg_comp_ids, content_imgs, trg_imgs) in enumerate(loader):
if i == n_batches:
break
style_ids = style_ids.cuda()
style_comp_ids = style_comp_ids.cuda()
style_imgs = style_imgs.cuda()
trg_ids = trg_ids.cuda()
trg_comp_ids = trg_comp_ids.cuda()
trg_imgs = trg_imgs.cuda()
gen.encode_write(style_ids, style_comp_ids, style_imgs)
out = gen.read_decode(trg_ids, trg_comp_ids)
B = len(out)
# log images
if n_accum < n_log:
trgs.append(trg_imgs)
outs.append(out)
n_accum += B
if n_accum >= n_log:
# log results
outs = torch.cat(outs)[:n_log]
trgs = torch.cat(trgs)[:n_log]
self.merge_and_log_image(tag, outs, trgs, step)
l1, ssim, msssim = self.get_pixel_losses(out, trg_imgs, self.unify_resize_method)
losses.updates({
"l1": l1.item(),
"ssim": ssim.item(),
"msssim": msssim.item()
}, B)
# save images
if save_dir:
font_ids = trg_ids.detach().cpu().numpy()
images = out.detach().cpu() # [B, 1, 128, 128]
char_comp_ids = trg_comp_ids.detach().cpu().numpy() # [B, n_comp_types]
for font_id, image, comp_ids in zip(font_ids, images, char_comp_ids):
font_name = loader.dataset.fonts[font_id] # name.ttf
font_name = Path(font_name).stem # remove ext
(save_dir / font_name).mkdir(parents=True, exist_ok=True)
if self.language == 'kor':
char = kor.compose(*comp_ids)
elif self.language == 'thai':
char = thai.compose_ids(*comp_ids)
uni = "".join([f'{ord(each):04X}' for each in char])
path = save_dir / font_name / "{}_{}.png".format(font_name, uni)
utils.save_tensor_to_image(image, path)
self.logger.info(
" [Valid] {tag:30s} | Step {step:7d} L1 {L.l1.avg:7.4f} SSIM {L.ssim.avg:7.4f}"
" MSSSIM {L.msssim.avg:7.4f}"
.format(tag=tag, step=step, L=losses))
return losses.l1.avg, losses.ssim.avg, losses.msssim.avg
def get_pixel_losses(self, out, trg_imgs, unify):
"""
Args:
out: generated images
trg_imgs: target GT images
unify: if True is given, unify glyph size and resize method before evaluation.
This option give us the fair evaluation setting, which is used in the paper.
"""
def unify_resize_method(img):
# Unify various glyph size and resize method for fair evaluation
size = img.size(-1)
if size == 128:
transform = transforms.Compose([
transforms.ToPILImage(),
transforms.Resize([64, 64]),
transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))
])
img = torch.stack([transform(_img) for _img in img.cpu()]).cuda()
img = F.interpolate(img, scale_factor=2.0, mode='bicubic', align_corners=True)
return img
if unify:
out = unify_resize_method(out)
trg_imgs = unify_resize_method(trg_imgs)
l1 = F.l1_loss(out, trg_imgs)
ssim = self.SSIM(out, trg_imgs)
msssim = self.MSSSIM(out, trg_imgs)
return l1, ssim, msssim
@torch_eval
def handwritten_validation_2stage(self, gen, step, fonts, style_chars, target_chars,
comparable=False, save_dir=None, tag='hw_validation_2stage'):
"""2-stage handwritten validation
Args:
fonts: [font_name1, font_name2, ...]
save_dir: if given, do not write image grid, instead save every image into save_dir
"""
if save_dir is not None:
save_dir = Path(save_dir)
save_dir.mkdir(parents=True, exist_ok=True)
outs = []
for font_name in tqdm(fonts):
encode_loader = get_val_encode_loader(
self.data, font_name, style_chars, self.language, self.transform
)
decode_loader = get_val_decode_loader(target_chars, self.language)
out = infer_2stage(gen, encode_loader, decode_loader)
outs.append(out)
if save_dir:
for char, glyph in zip(target_chars, out):
uni = "".join([f'{ord(each):04X}' for each in char])
path = save_dir / font_name / "{}_{}.png".format(font_name, uni)
path.parent.mkdir(parents=True, exist_ok=True)
utils.save_tensor_to_image(glyph, path)
if save_dir: # do not write grid
return
out = torch.cat(outs)
if comparable:
# ref original chars
refs = self.get_charimages(fonts, target_chars)
nrow = len(target_chars)
grid = utils.make_comparable_grid(refs, out, nrow=nrow)
else:
grid = utils.to_grid(out, 'torch', nrow=len(target_chars))
tag = tag + target_chars[:4]
self.writer.add_image(tag, grid, global_step=step)
def get_inputimages(self, val_loader):
# integrate style images
inputs = []
for style_ids, style_comp_ids, style_imgs, trg_ids, trg_comp_ids, content_imgs \
in val_loader:
inputs.append(style_imgs)
inputs = torch.cat(inputs)
shape = inputs.shape
inputs = inputs.view(shape[0]//self.n_comp_types, self.n_comp_types, *shape[1:])
batches = [inputs[:, i] for i in range(self.n_comp_types)]
return batches
def get_charimages(self, fonts, chars, empty_header=False, as_tensor=True):
""" get char images from self.data
Return:
2d list of charimages or 5d tensor:
[
[charimage1, charimage2, ...] (font1),
...
]
or
Tensor [n_fonts, n_chars, 1, 128, 128]
"""
empty_box = torch.ones(1, 128, 128)
charimages = [
[self.data.get(font_name, char, empty_box) for char in chars]
for font_name in fonts
]
if empty_header:
header = [empty_box for _ in chars]
charimages.insert(0, header)
if as_tensor:
charimages = torch.stack(list(chain.from_iterable(charimages)))
return charimages
def merge_and_log_image(self, name, out, target, step):
""" Merge out and target into 2-column grid and log it """
merge = utils.make_merged_grid([out, target], merge_dim=2)
self.writer.add_image(name, merge, global_step=step)
def eval_ckpt():
from train import (
setup_language_dependent, setup_data, setup_cv_dset_loader,
get_dset_loader
)
logger = Logger.get()
parser = argparse.ArgumentParser('MaHFG-eval')
parser.add_argument(
"name", help="name is used for directory name of the user-study generation results"
)
parser.add_argument("resume")
parser.add_argument("img_dir")
parser.add_argument("config_paths", nargs="+")
parser.add_argument("--show", action="store_true", default=False)
parser.add_argument(
"--mode", default="eval",
help="eval (default) / cv-save / user-study / user-study-save. "
"`eval` generates comparable grid and computes pixel-level CV scores. "
"`cv-save` generates and saves all target characters in CV. "
"`user-study` generates comparable grid for the ramdomly sampled target characters. "
"`user-study-save` generates and saves all target characters in user-study."
)
parser.add_argument("--deterministic", default=False, action="store_true")
parser.add_argument("--debug", default=False, action="store_true")
args, left_argv = parser.parse_known_args()
cfg = Config(*args.config_paths)
cfg.argv_update(left_argv)
torch.backends.cudnn.benchmark = True
cfg['data_dir'] = Path(cfg['data_dir'])
if args.show:
exit()
# seed
np.random.seed(cfg['seed'])
torch.manual_seed(cfg['seed'])
random.seed(cfg['seed'])
if args.deterministic:
torch.backends.cudnn.benchmark = False
torch.backends.cudnn.deterministic = True
cfg['n_workers'] = 0
logger.info("#" * 80)
logger.info("# Deterministic option is activated !")
logger.info("# Deterministic evaluator only ensure the deterministic cross-validation")
logger.info("#" * 80)
else:
torch.backends.cudnn.benchmark = True
if args.mode.startswith('mix'):
assert cfg['g_args']['style_enc']['use'], \
"Style mixing is only available with style encoder model"
#####################################
# Dataset
####################################
# setup language dependent values
content_font, n_comp_types, n_comps = setup_language_dependent(cfg)
# setup transform
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize([0.5], [0.5])
])
# setup data
hdf5_data, meta = setup_data(cfg, transform)
# setup dataset
trn_dset, loader = get_dset_loader(
hdf5_data, meta['train']['fonts'], meta['train']['chars'], transform, True, cfg,
content_font=content_font
)
val_loaders = setup_cv_dset_loader(
hdf5_data, meta, transform, n_comp_types, content_font, cfg
)
#####################################
# Model
####################################
# setup generator only
g_kwargs = cfg.get('g_args', {})
gen = MACore(
1, cfg['C'], 1, **g_kwargs, n_comps=n_comps, n_comp_types=n_comp_types,
language=cfg['language']
)
gen.cuda()
ckpt = torch.load(args.resume)
logger.info("Use EMA generator as default")
gen.load_state_dict(ckpt['generator_ema'])
step = ckpt['epoch']
loss = ckpt['loss']
logger.info("Resumed checkpoint from {} (Step {}, Loss {:7.3f})".format(
args.resume, step, loss))
writer = utils.DiskWriter(args.img_dir, 0.6)
evaluator = Evaluator(
hdf5_data, trn_dset.avails, logger, writer, cfg['batch_size'],
content_font=content_font, transform=transform, language=cfg['language'],
val_loaders=val_loaders, meta=meta
)
evaluator.n_cv_batches = -1
logger.info("Update n_cv_batches = -1 to evaluate about full data")
if args.debug:
evaluator.n_cv_batches = 10
logger.info("!!! DEBUG MODE: n_cv_batches = 10 !!!")
if args.mode == 'eval':
logger.info("Start validation ...")
dic = evaluator.validation(gen, step)
logger.info("Validation is done. Result images are saved to {}".format(args.img_dir))
elif args.mode.startswith('user-study'):
meta = json.load(open('meta/kor-unrefined.json'))
target_chars = meta['target_chars']
style_chars = meta['style_chars']
fonts = meta['fonts']
if args.mode == 'user-study':
sampled_target_chars = uniform_sample(target_chars, 20)
logger.info("Start generation kor-unrefined ...")
logger.info("Sampled chars = {}".format(sampled_target_chars))
evaluator.handwritten_validation_2stage(
gen, step, fonts, style_chars, sampled_target_chars,
comparable=True, tag='userstudy-{}'.format(args.name)
)
elif args.mode == 'user-study-save':
logger.info("Start generation & saving kor-unrefined ...")
save_dir = Path(args.img_dir) / "{}-{}".format(args.name, step)
evaluator.handwritten_validation_2stage(
gen, step, fonts, style_chars, target_chars,
comparable=True, save_dir=save_dir
)
logger.info("Validation is done. Result images are saved to {}".format(args.img_dir))
elif args.mode == 'cv-save':
save_dir = Path(args.img_dir) / "cv_images_{}".format(step)
logger.info("Save CV results to {} ...".format(save_dir))
utils.rm(save_dir)
for tag, loader in val_loaders.items():
l1, ssim, msssim = evaluator.cross_validation(
gen, step, loader, tag, n_batches=evaluator.n_cv_batches, save_dir=(save_dir / tag)
)
else:
raise ValueError(args.mode)
if __name__ == "__main__":
eval_ckpt()
================================================
FILE: inference.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import torch
from torch.utils.data import DataLoader
from datasets import get_ma_val_dataset
from datasets.nonpaired_dataset import EncodeDataset, DecodeDataset
def infer(gen, loader):
outs = []
for style_ids, style_comp_ids, style_imgs, trg_ids, trg_comp_ids, content_imgs \
in loader:
style_ids = style_ids.cuda()
style_comp_ids = style_comp_ids.cuda()
style_imgs = style_imgs.cuda()
trg_ids = trg_ids.cuda()
trg_comp_ids = trg_comp_ids.cuda()
gen.encode_write(style_ids, style_comp_ids, style_imgs)
out = gen.read_decode(trg_ids, trg_comp_ids)
outs.append(out.detach().cpu())
return torch.cat(outs) # [B, 1, 128, 128]; B = #fonts * #chars
def get_val_loader(data, fonts, chars, style_avails, transform, content_font, language,
B=32, n_max_match=3, n_workers=2):
val_dset, collate_fn = get_ma_val_dataset(
data, fonts, chars, style_avails, n_max_match, transform=transform,
content_font=content_font, language=language
)
loader = DataLoader(val_dset, batch_size=B, shuffle=False,
num_workers=n_workers, collate_fn=collate_fn)
return loader
def infer_2stage(gen, encode_loader, decode_loader, reset_memory=True):
""" 2-stage infer; encode first, decode second """
# stage 1. encode
if reset_memory:
gen.reset_dynamic_memory()
for style_ids, style_comp_ids, style_imgs in encode_loader:
style_ids = style_ids.cuda()
style_comp_ids = style_comp_ids.cuda()
style_imgs = style_imgs.cuda()
gen.encode_write(style_ids, style_comp_ids, style_imgs, reset_dynamic_memory=False)
# stage 2. decode
outs = []
for trg_ids, trg_comp_ids in decode_loader:
trg_ids = trg_ids.cuda()
trg_comp_ids = trg_comp_ids.cuda()
out = gen.read_decode(trg_ids, trg_comp_ids)
outs.append(out.detach().cpu())
return torch.cat(outs)
def get_val_encode_loader(data, font_name, encode_chars, language, transform, B=32, num_workers=2,
style_id=0):
encode_dset = EncodeDataset(
font_name, encode_chars, data, language=language, transform=transform, style_id=style_id
)
loader = DataLoader(encode_dset, batch_size=B, shuffle=False, num_workers=num_workers)
return loader
def get_val_decode_loader(chars, language, B=32, num_workers=2, style_id=0):
decode_dset = DecodeDataset(chars, language=language, style_id=style_id)
loader = DataLoader(decode_dset, batch_size=B, shuffle=False, num_workers=num_workers)
return loader
================================================
FILE: logger.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import sys
import logging
log_lv = {
'critical': logging.CRITICAL,
'error': logging.ERROR,
'warning': logging.WARNING,
'info': logging.INFO,
'debug': logging.DEBUG
}
class ColorFormatter(logging.Formatter):
color_dic = {
'DEBUG' : 37, # white
'INFO' : 36, # cyan
'WARNING' : 33, # yellow
'ERROR' : 31, # red
'CRITICAL': 41, # white on red bg
}
def format(self, record):
color = self.color_dic.get(record.levelname, 37) # default white
record.levelname = "\033[{}m{}\033[0m".format(color, record.levelname)
return logging.Formatter.format(self, record)
class Logger(logging.Logger):
NAME = 'SingletonLogger'
@classmethod
def get(cls, file_path=None, level='info', colorize=True):
logging.setLoggerClass(cls)
logger = logging.getLogger(cls.NAME)
logging.setLoggerClass(logging.Logger) # restore
logger.setLevel(log_lv[level])
if logger.hasHandlers():
# If logger already got all handlers (# handlers == 2), use the logger.
# else, re-set handlers.
if len(logger.handlers) == 2:
return logger
logger.handlers.clear()
log_format = '%(levelname)s::%(asctime)s | %(message)s'
date_format = '%m/%d %H:%M:%S'
if colorize:
formatter = ColorFormatter(log_format, date_format)
else:
formatter = logging.Formatter(log_format, date_format)
# standard output handler
# NOTE as default, StreamHandler use stderr stream instead of stdout stream.
# Use StreamHandler(sys.stdout) for stdout stream.
stream_handler = logging.StreamHandler(sys.stdout)
stream_handler.setFormatter(formatter)
logger.addHandler(stream_handler)
if file_path:
# file output handler
file_handler = logging.FileHandler(file_path)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.propagate = False
return logger
def nofmt(self, msg, *args, level='info', **kwargs):
level = log_lv[level]
formatters = self.remove_formats()
super().log(level, msg, *args, **kwargs)
self.set_formats(formatters)
def remove_formats(self):
""" Remove all formats from logger """
formatters = []
for handler in self.handlers:
formatters.append(handler.formatter)
handler.setFormatter(logging.Formatter("%(message)s"))
return formatters
def set_formats(self, formatters):
""" Set formats to every handler of logger """
for handler, formatter in zip(self.handlers, formatters):
handler.setFormatter(formatter)
def set_file_handler(self, file_path):
file_handler = logging.FileHandler(file_path)
formatter = self.handlers[0].formatter
file_handler.setFormatter(formatter)
self.addHandler(file_handler)
================================================
FILE: meta/kor-unrefined.json
================================================
{"target_chars": "\uac00\uace0\uacfe\uad18\uad53\uadf8\uae68\uaf86\uaf9c\ub044\ub04c\ub0d0\ub0f5\ub1cc\ub204\ub247\ub290\ub29c\ub338\ub3d2\ub46c\ub488\ub4b3\ub4dc\ub5a0\ub610\ub63e\ub6f0\ub728\ub73c\ub808\ub878\ub8c6\ub958\ub974\ub98c\uba70\ubafc\ubb6a\ubbc0\ubbdc\ubcd8\ubd2c\ubd67\ubd9c\ube0c\ube10\ube45\ubf40\ubf62\ubfb0\ubfd3\uc058\uc090\uc0ac\uc0d1\uc1a8\uc1ea\uc218\uc2a4\uc2b0\uc314\uc33d\uc42c\uc49c\uc4c7\uc4f0\uc500\uc57c\uc636\uc6cc\uc704\uc733\uc73c\uc7e4\uc815\uc870\uc96c\uc988\uc9bb\uca4c\uca81\ucad8\ucb0f\ucbd4\ucbf0\uccb4\uccd1\ucd40\ucd5c\ucdb2\uce20\uce24\ucf1c\ucf3d\ucfc4\ucfe7\ucffc\ud06c\ud074\ud184\ud1a0\ud1c6\ud22c\ud26f\ud2b8\ud319\ud408\ud44e\ud4b0\ud504\ud514\ud53c\ud558\ud585\ud68c\ud718\ud747\ud750\ud764", "style_chars": "\uac1d\uadfc\uae89\uaf48\uafbf\ub22a\ub361\ub4ec\ub5cd\ub71f\ub839\ub9a7\ubaa5\ubafb\ubcf6\ube65\uc060\uc25b\uc48e\uc5a9\uc750\uc8a2\uc9a0\ucb2a\ucd7b\ucf5a\ud2c4\ud2f9\ud4db\ud6f2", "fonts": ["Handwritten-10113", "Handwritten-10483", "Handwritten-10518", "Handwritten-10637", "Handwritten-10789", "Handwritten-10803", "Handwritten-11218", "Handwritten-11266", "Handwritten-11282", "Handwritten-11441", "Handwritten-11564", "Handwritten-11997", "Handwritten-13026", "Handwritten-15959", "Handwritten-16510", "Handwritten-16921", "Handwritten-17143", "Handwritten-19035", "Handwritten-19211", "Handwritten-19651", "Handwritten-20590", "Handwritten-22536", "Handwritten-23081", "Handwritten-2337", "Handwritten-24513", "Handwritten-2532", "Handwritten-2939", "Handwritten-3086", "Handwritten-3103", "Handwritten-321", "Handwritten-3246", "Handwritten-3336", "Handwritten-3487", "Handwritten-3491", "Handwritten-3675", "Handwritten-3678", "Handwritten-3787", "Handwritten-3839", "Handwritten-3861", "Handwritten-3874", "Handwritten-3889", "Handwritten-3926", "Handwritten-3941", "Handwritten-3996", "Handwritten-4124", "Handwritten-4125", "Handwritten-4342", "Handwritten-4419", "Handwritten-4487", "Handwritten-4506", "Handwritten-4668", "Handwritten-4679", "Handwritten-4771", "Handwritten-4892", "Handwritten-5073", "Handwritten-5141", "Handwritten-5536", "Handwritten-6095", "Handwritten-6114", "Handwritten-6198", "Handwritten-6544", "Handwritten-6555", "Handwritten-6564", "Handwritten-6604", "Handwritten-6758", "Handwritten-6793", "Handwritten-687", "Handwritten-7154", "Handwritten-7242", "Handwritten-7319", "Handwritten-7815", "Handwritten-7980", "Handwritten-8190", "Handwritten-8221", "Handwritten-8249", "Handwritten-8290", "Handwritten-8295", "Handwritten-8357", "Handwritten-8440", "Handwritten-8450", "Handwritten-872", "Handwritten-8812", "Handwritten-8852", "Handwritten-9211", "Handwritten-9220", "Handwritten-936", "Handwritten-952", "Handwritten-9641"]}
================================================
FILE: meta/kor_split.json
================================================
{"train": {"fonts": ["UhBee Rami.ttf", "UhBee DoolDool.ttf", "UhBee ddolyoung.ttf", "UhBee Jisyuk jisyuk.ttf", "UhBee My Husband.ttf", "UhBee Sunhong.ttf", "UhBee song.ttf", "UhBee chae-eun.ttf", "UhBee mingi calli.ttf", "UhBee Jin-gun.ttf", "UhBee KOR.ttf", "UhBee RingRing.ttf", "UhBee UZ.ttf", "UhBee HYUNJUNG.ttf", "UhBee freak researcher minani.ttf", "UhBee UJong.ttf", "UhBee JJIBBABBA.ttf", "UhBee Yeonie.ttf", "UhBee jung.ttf", "UhBee DDOYO.ttf", "UhBee Jiyoung.ttf", "UhBee KeongKeong.ttf", "UhBee hye mong.ttf", "UhBee Jjipungding.ttf", "UhBee dami.ttf", "UhBee ann.ttf", "UhBee Hyeki.ttf", "UhBee Namjieun.ttf", "UhBee EUN KYUNG.ttf", "UhBee Kang-Ja.ttf", "UhBee Soyun.ttf", "UhBee ARyong.ttf", "UhBee TOMO.ttf", "UhBee mysen.ttf", "UhBee puding.ttf", "UhBee Banynany.ttf", "UhBee Ryuga.ttf", "UhBee Yiseul.ttf", "UhBee namsoyoung.ttf", "UhBee MinAhBang.ttf", "UhBee Rice.ttf", "UhBee yul.ttf", "UhBee Se_hyun.ttf", "UhBee wocked woman.ttf", "UhBee QUEEN J.ttf", "UhBee BongSik.ttf", "UhBee Mardyu.ttf", "UhBee kairu mischief.ttf", "UhBee matsuko.ttf", "UhBee Motomi.ttf", "UhBee Minidori.ttf", "UhBee Hanbee.ttf", "UhBee baby.ttf", "UhBee mun seul ye.ttf", "UhBee ibuson.ttf", "UhBee Simple girl.ttf", "UhBee Joker.ttf", "UhBee yoonjaa.ttf", "UhBee BEOJJI.ttf", "UhBee Miwan.ttf", "UhBee Tokki.ttf", "UhBee ZIGLE.ttf", "UhBee DongKyung.ttf", "UhBee swit.ttf", "UhBee yoongdi.ttf", "UhBee Gmin2.ttf", "UhBee Strawberry.ttf", "UhBee yehee.ttf"], "chars": ["\ud4cc", "\ubda4", "\ud4df", "\uca00", "\ub000", "\uc5f6", "\ub385", "\ud37c", "\ucd18", "\uce0c", "\ucda4", "\ub879", "\ub7a9", "\uc800", "\ucde8", "\uc3e0", "\uaca0", "\uc885", "\uc6e9", "\ud69f", "\uc501", "\uaecc", "\ub053", "\ud391", "\ucdfd", "\ub215", "\ub791", "\uccf0", "\uc245", "\ud658", "\uc9ca", "\uc069", "\ub648", "\uc0dd", "\uacb9", "\uc7c0", "\ud044", "\ub82c", "\ud2c8", "\ub450", "\uc740", "\uc0b0", "\ud39c", "\ub7f4", "\ud2ac", "\uc2ac", "\ub144", "\ub975", "\ud45c", "\uc234", "\uacec", "\ub530", "\uc204", "\uc704", "\uba69", "\ud460", "\ub268", "\ud79b", "\ucf11", "\uc6c0", "\ud3c4", "\uac04", "\uc314", "\uc737", "\ub54c", "\ucacd", "\uc388", "\uc5ff", "\ucd6d", "\ub134", "\uc880", "\uc5ed", "\uacb8", "\uadf9", "\ub46c", "\ud140", "\ubdd8", "\ubb36", "\ud62d", "\ubc25", "\ud78c", "\ubee0", "\uad8c", "\ud33b", "\ubcf4", "\ub2ef", "\ub08f", "\uba4d", "\ub19c", "\ub0b4", "\ud300", "\uc65c", "\uce31", "\ub0ae", "\uaf0d", "\ubba8", "\ub611", "\uae5c", "\uce94", "\uaebd", "\ub458", "\ud64b", "\uc49c", "\ud2f4", "\ubc9a", "\ud6d4", "\uc12d", "\ubf1c", "\ubc99", "\uac08", "\ud0ec", "\ub123", "\ubd18", "\ucc3d", "\uc448", "\ub808", "\ub110", "\uc21f", "\ucf70", "\uc1f0", "\uc258", "\ub2dd", "\ub41c", "\uc4b8", "\uc1f3", "\ubb3b", "\ub2f4", "\ub9e8", "\uc790", "\ucc75", "\uc625", "\uc9f0", "\uc27f", "\ub7a0", "\ucb50", "\uc570", "\ud482", "\ucc66", "\ub35c", "\ub4e4", "\ud3a0", "\ubc44", "\ub18b", "\uccec", "\uc7a3", "\ucdc4", "\uc164", "\uc9c1", "\uc82d", "\uc324", "\uc571", "\ubfdc", "\ubcb4", "\uae4e", "\ub0e0", "\uc66f", "\uc068", "\ud018", "\uc480", "\ub9f9", "\uc981", "\ud55c", "\uc6fd", "\ub0d0", "\uac9c", "\ub463", "\ub9f4", "\ubc49", "\uc6dc", "\ucca9", "\uc0d3", "\ub35f", "\ucb20", "\uc5fd", "\ub365", "\ucad9", "\ub8f0", "\ub792", "\uc630", "\ub08c", "\uc20f", "\ubcbc", "\ud0d4", "\ud480", "\ub5a1", "\ud6fd", "\ub9f5", "\ud281", "\ud540", "\ub748", "\uc1d7", "\ud5d0", "\ud1a8", "\ud380", "\ubee4", "\ucad3", "\ucd64", "\uae34", "\ud004", "\ud398", "\ub205", "\uc7d8", "\ud790", "\uac5c", "\uba4b", "\ub004", "\ub31c", "\ucf85", "\uc5a9", "\ub18d", "\ucf19", "\uce69", "\uc568", "\uaff8", "\ub5b4", "\uc637", "\uc0a0", "\uc6f8", "\uaff0", "\uc724", "\uc840", "\ud53c", "\ud145", "\uc044", "\ucc58", "\ub5d1", "\ud639", "\uc9ed", "\ud76c", "\ud5cc", "\ud6d9", "\ucb79", "\ub2cc", "\uca54", "\uafd8", "\ud32c", "\ub54d", "\ud587", "\ucf69", "\ub4e6", "\ucef9", "\ud390", "\uac84", "\uac38", "\ud0dd", "\ucef4", "\uc6df", "\ub951", "\ub773", "\ubc31", "\ud649", "\ucabd", "\uc6c5", "\uc1a1", "\ucc68", "\ub1cc", "\uae09", "\ub614", "\ub518", "\uc14c", "\ubcf6", "\ub9d2", "\uc11d", "\ubf55", "\uc58f", "\uc104", "\ub381", "\uc26c", "\ud620", "\ucd95", "\ub141", "\uae61", "\ud4e8", "\ud050", "\ubc1c", "\uac2d", "\uaebe", "\ucd5d", "\ud30c", "\ub0e5", "\uc2fb", "\uc290", "\uac83", "\uc3e2", "\uc138", "\ub839", "\uc329", "\ucb78", "\uac14", "\uc4d4", "\uc883", "\uc12c", "\uc6b8", "\uad74", "\ucac0", "\uca60", "\ub525", "\ubb58", "\ubfc5", "\ucc3e", "\uc92c", "\ubb6c", "\ube5b", "\uc82c", "\ud320", "\ud284", "\ub220", "\ud551", "\ub9d1", "\ub5d8", "\uadfc", "\uace7", "\ucfe0", "\ud601", "\ud585", "\uae46", "\ubd8a", "\ucaec", "\ub3e8", "\uc77d", "\ud5e5", "\ud15c", "\ub451", "\uc05c", "\ub2f7", "\uc59c", "\uae60", "\ub969", "\ud0d0", "\uaf3c", "\uad7b", "\uafc0", "\uc5d8", "\uc600", "\uc19f", "\uac09", "\ub540", "\ud651", "\ucc70", "\ud3fc", "\uc5e3", "\uaca9", "\uac10", "\uc560", "\uca14", "\ubb47", "\uc36c", "\uaed0", "\ub04c", "\ubf40", "\ud15f", "\uc27d", "\uacb0", "\uc624", "\uafa4", "\ub768", "\uc7a1", "\ub028", "\ud329", "\ub584", "\uc060", "\ubb0f", "\uca0b", "\uc2e4", "\uc158", "\ub7fc", "\ud17c", "\ub0bc", "\ucfe4", "\uc911", "\uc61b", "\uafb9", "\uacc4", "\uba87", "\uc561", "\ud64d", "\ud610", "\uc881", "\uba58", "\ub0a9", "\ubfb0", "\ud645", "\ubab8", "\uad2d", "\uba48", "\ub2c8", "\uc318", "\uc5c5", "\uaf32", "\uc97c", "\uc379", "\ud035", "\ud2b8", "\uc5cc", "\ubc85", "\ucd24", "\ub1df", "\ub315", "\ube1f", "\ub380", "\ubed7", "\ubdd4", "\ucae0", "\uce6d", "\ud6bd", "\ucc38", "\uac90", "\uc5e0", "\uba53", "\ubcc0", "\ucd0c", "\ub775", "\uc774", "\ud3fd", "\ud0e4", "\uc11e", "\ucd98", "\ub0d4", "\uafb1", "\uc004", "\ud654", "\uc10b", "\uad2c", "\ucc9c", "\ud5c8", "\uc694", "\ubcd1", "\uadc0", "\uce04", "\ube70", "\ud3ec", "\ub3d9", "\ubcdc", "\ud2d4", "\ube44", "\ub0b3", "\uacc8", "\uc6dd", "\ud569", "\uc091", "\ucec1", "\ud4f8", "\uc479", "\ub5a8", "\uac20", "\ub4e3", "\ubdc0", "\uc464", "\uadd1", "\uad81", "\ub8e8", "\uc2eb", "\uac8a", "\uaf2d", "\uc2a8", "\uce78", "\uba01", "\ub0c5", "\ub985", "\ub2aa", "\ub5b1", "\uad44", "\uad18", "\ub95c", "\uc988", "\uc8e1", "\ud720", "\uad6d", "\uc640", "\ub369", "\ud0c1", "\ub668", "\ud3f0", "\ub8a8", "\ucb2c", "\uae01", "\uae41", "\ub128", "\uc575", "\ucb30", "\ud758", "\ubc2d", "\uceb4", "\uc5fe", "\ub9d0", "\ubc8e", "\uc0e4", "\ucffc", "\ud0d3", "\ud41d", "\uc74e", "\ubdf8", "\uc1e0", "\uc228", "\ucf65", "\uace8", "\ub4dc", "\uc9d9", "\uafe9", "\ucc28", "\uac15", "\ub514", "\ud478", "\ub6b1", "\uc325", "\ubab2", "\ud130", "\ucf55", "\uba65", "\uc544", "\uc2fc", "\ub5aa", "\uc051", "\ube8d", "\ucdf0", "\ud22d", "\ud479", "\uae4a", "\ucddf", "\uc650", "\uc801", "\ub428", "\uc139", "\uae7c", "\ub3db", "\uc1d8", "\uba71", "\uc698", "\ub358", "\ub9bc", "\ube10", "\ub4ef", "\uba42", "\ubc1d", "\uae68", "\uc2ef", "\uc61c", "\ud700", "\ud667", "\ub0a1", "\uc708", "\uad11", "\ud1b5", "\uce90", "\uc555", "\ub2f3", "\uc0f9", "\ud141", "\ub838", "\uadec", "\ube73", "\uad58", "\ucd28", "\ubed1", "\ubd04", "\ubc8c", "\uc768", "\ube1c", "\ud6f0", "\uc9dd", "\uc6b0", "\uc688", "\ub7c9", "\ud207", "\ud6e4", "\uc728", "\ub25c", "\uba4e", "\uc2ed", "\ucacc", "\uaf64", "\ube98", "\uacac", "\uc3f5", "\ud648", "\ucad1", "\ubd58", "\uc5c4", "\uc78a", "\ud4d0", "\ucbb8", "\uc514", "\ud718", "\uc57d", "\ud6c8", "\uc0bf", "\ud264", "\ubc17", "\uac2f", "\uc9c7", "\ud2c0", "\uc00d", "\uc75c", "\ud685", "\ud408", "\uc154", "\ubb38", "\ub8c1", "\ubd40", "\uba84", "\uc3a0", "\uc168", "\ud401", "\ubc1b", "\uacf5", "\uce29", "\uc906", "\uc58d", "\ud670", "\uc475", "\ud69d", "\ub515", "\ud655", "\ub189", "\uccb5", "\uc155", "\ud614", "\uaf84", "\uc958", "\uac3c", "\uc9ec", "\uac85", "\ucbe9", "\uc824", "\uba00", "\ubc45", "\uba39", "\ucff1", "\ud0d5", "\uafcd", "\ud0a5", "\uc370", "\ud568", "\ucefc", "\uc88b", "\ube59", "\uc0b4", "\uaf08", "\uc4f0", "\ubb20", "\ud47c", "\uad04", "\ub429", "\uc2f1", "\ud46d", "\ubca7", "\uc298", "\ub729", "\uc7d0", "\ub878", "\uc796", "\ucb59", "\uafe8", "\ub370", "\uc0b5", "\ub5bb", "\ucc98", "\uac16", "\uc7a0", "\uc0d9", "\uc100", "\ub560", "\uc31f", "\uac77", "\ub761", "\ubc30", "\uad47", "\uc0ec", "\ub36e", "\ub404", "\ub8b0", "\ub057", "\ub819", "\uc131", "\uae56", "\uc641", "\ub4b5", "\uc200", "\ucd09", "\uc260", "\uc798", "\ub4f1", "\uacfc", "\uaed9", "\uce8c", "\ubcc4", "\ub809", "\uc963", "\ub0a2", "\uc14d", "\ud06d", "\uc813", "\uc79a", "\ubd80", "\ub00c", "\ubd91", "\uae7b", "\uc0c1", "\ucd19", "\ub091", "\ud4fd", "\uc65d", "\uc2b5", "\ud558", "\ubc0c", "\ucc55", "\ub989", "\uc67c", "\ud734", "\ub099", "\uc635", "\uccc4", "\ub3dd", "\ud444", "\ubbb4", "\ud3ff", "\ube61", "\ubc29", "\ub9ce", "\uc20c", "\ud640", "\uc434", "\ubb4d", "\uae00", "\ub8b8", "\ub384", "\uc3f4", "\uca18", "\ud6ac", "\ub6f4", "\ucb5d", "\uc784", "\ubd89", "\ubbb7", "\ud234", "\ucdb0", "\uade0", "\ube68", "\uba55", "\ub9b4", "\uc2ec", "\uc573", "\ucd94", "\uad7f", "\ud2f8", "\ubb54", "\uc52c", "\ub112", "\uce15", "\uc3df", "\uc900", "\uc090", "\ud0ed", "\uc3e9", "\ub764", "\uae3a", "\uc6e8", "\ud559", "\ub119", "\uba08", "\ub01d", "\uc22b", "\uc110", "\ucfa1", "\uc870", "\ud711", "\uc530", "\ud07c", "\ud5d8", "\ub2d0", "\uc232", "\ub528", "\uc15c", "\uc88c", "\ud3ad", "\ud0f8", "\uce59", "\ubdb8", "\ub801", "\uc1bd", "\ud50c", "\uaecf", "\uc5b5", "\ub531", "\ucd6c", "\ub1dc", "\uc778", "\ub269", "\uc30c", "\ubad8", "\ud46f", "\ucc44", "\ud131", "\ub55d", "\uc8d9", "\ub94c", "\ub5bc", "\ub545", "\uc720", "\ucb49", "\ube90", "\ub73d", "\ud316", "\ucdec", "\ub860", "\uc1d4", "\ub0d1", "\ubc88", "\uae0d", "\ub29a", "\ud23f", "\ub2ed", "\ubc24", "\ucf30", "\ub55c", "\ub8e1", "\ub135", "\ucea1", "\uc0f7", "\ub554", "\ub527", "\ucc0d", "\uc1e4", "\uc43c", "\uac1b", "\ud0ac", "\ubbff", "\uae14", "\uad35", "\uc731", "\ud440", "\ud47f", "\uc760", "\ubd93", "\uc468", "\ub78d", "\ud184", "\uc169", "\ud72d", "\ud573", "\uccc9", "\uc34c", "\uc60c", "\ub0ad", "\uaf88", "\ub960", "\ubf94", "\ub825", "\uaf3f", "\uc88d", "\ud241", "\ucea4", "\ubd48", "\uc7b4", "\uc894", "\uce5f", "\ud624", "\uaf65", "\uac30", "\ubd07", "\ubd50", "\uc954", "\uadd3", "\uae84", "\uc58c", "\ucf00", "\ub5bd", "\ud515", "\ub01c", "\ucc3c", "\ub2f8", "\ud763", "\ub3d4", "\ub770", "\uc695", "\uaf9c", "\uc4e9", "\uacf1", "\ub853", "\uc54e", "\uc639", "\uc13c", "\uac81", "\ud2f0", "\uac8c", "\ub2a5", "\uacaa", "\uc37b", "\ucfc8", "\uad54", "\ud2cb", "\ud72b", "\ub9dd", "\ud77c", "\ucb14", "\ub529", "\uac9d", "\uc791", "\ud6b9", "\uad20", "\ub0ac", "\uc4af", "\ub771", "\ubfcc", "\uc81d", "\ub534", "\ucdc3", "\uae5f", "\uc671", "\ub4c8", "\ubc11", "\ub79c", "\uc816", "\uc9e7", "\uc6a5", "\uac71", "\ud321", "\uc3d8", "\uc680", "\ubde9", "\ub987", "\uca7d", "\ud54d", "\ubca8", "\ud291", "\ubb61", "\ucc57", "\ud280", "\ucf04", "\ub7ac", "\ucd6f", "\uc0cc", "\uc77e", "\ub4ec", "\uccd4", "\uc4f4", "\uac74", "\uc0b3", "\ub9ad", "\ud011", "\ucda9", "\ucb08", "\ubca0", "\ucdf8", "\ucfb0", "\ud328", "\ub139", "\uca5d", "\uc2b9", "\uc905", "\ub27c", "\ud2c9", "\ubc1f", "\ub0c4", "\uc0f4", "\ub461", "\ub454", "\uc3b5", "\ub374", "\uc54c", "\uaccc", "\ubd95", "\ub3c4", "\ube4e", "\ud751", "\ube45", "\ucbe4", "\ud3ed", "\uac86", "\ud578", "\uc1e8", "\uc251", "\uacd7", "\ub705", "\uc12f", "\uc564", "\uccab", "\uc0dc", "\uc90d", "\ud265", "\uaf41", "\uc328", "\uc123", "\uc22f", "\ubdd5", "\ud0a8", "\uc270", "\uaf10", "\ub2ec", "\ub8fd", "\uac1c", "\uc810", "\ub8c5", "\ud611", "\ub8fb", "\uadc8", "\uad76", "\ucfa8", "\uc77c", "\ub730", "\uc874", "\ucacf", "\ub74c", "\ud781", "\uc68d", "\ub204", "\uaee8", "\ub192", "\ucf5c", "\ucb64", "\ubb49", "\uacbc", "\uc3d9", "\ubcb5", "\ud760", "\uca0c", "\ub920", "\ud608", "\uc0c5", "\uc2ad", "\ucda7", "\ucead", "\ub40d", "\uc148", "\ub194", "\ud070", "\uc43d", "\uc2a4", "\ud295", "\ub5d0", "\ubaab", "\uc679", "\ubc0b", "\ud14c", "\uc19c", "\ubcbd", "\ub2d9", "\ub7b2", "\uc2f8", "\ub6a0", "\ub738", "\uc372", "\ubb00", "\ub9c1", "\ubbc8", "\ucf38", "\uc9fc", "\ucce4", "\ubf18", "\uc5fc", "\ud48d", "\ub371", "\ub219", "\uc752", "\uc595", "\ud209", "\ucc3b", "\ub77c", "\uac17", "\uc90f", "\ucc45", "\ud15d", "\ub5c0", "\ub285", "\uba8c", "\uc538", "\ub193", "\ub86d", "\uba85", "\uc653", "\uc9e2", "\uad1c", "\uc216", "\uc27c", "\ub3cc", "\ub55f", "\uceec", "\uc601", "\ub05d", "\ubc34", "\uba3c", "\ubaa8", "\uc705", "\ud344", "\uce61", "\ube8c", "\ud57c", "\ud2d8", "\uae31", "\ubb0d", "\ube00", "\uccd0", "\ub634", "\ub4a8", "\ud5d2", "\uc19d", "\uc651", "\ub2e2", "\uca08", "\uc384", "\ub5ab", "\ud6cd", "\uc53b", "\uc218", "\ub9db", "\ub23c", "\ubb3e", "\uafce", "\uc354", "\ubafc", "\ud33c", "\ub178", "\ucf08", "\uc53d", "\uc619", "\uca0d", "\ud1d8", "\uc554", "\uaf07", "\uc5bd", "\uc6a4", "\uc167", "\uaca8", "\uba40", "\ubaac", "\uc775", "\ucd5c", "\ud02d", "\ub084", "\uc6c1", "\ub2a3", "\uac19", "\uc89f", "\ud3e3", "\ube7b", "\ub4a4", "\ud0dc", "\ub851", "\uae37", "\uc408", "\ucdd0", "\ub2e8", "\ub700", "\ub7ff", "\ub180", "\ucc10", "\ud754", "\ub188", "\ube03", "\ud29c", "\uc8bd", "\uc6ba", "\uc5e1", "\ubaa9", "\ub5b3", "\uad1e", "\ub3fc", "\uc474", "\ub2fa", "\ubea8", "\ud744", "\ub137", "\uba5c", "\uc313", "\ub7ed", "\uc424", "\ud671", "\uad0f", "\uc529", "\ud735", "\ub85d", "\ud0b4", "\ub824", "\uc804", "\uce75", "\uae45", "\ud6df", "\uc0a5", "\ub6a4", "\ub9d8", "\ud3d8", "\ucf10", "\uc127", "\uc1c4", "\ub354", "\ub2d2", "\ud4dc", "\uaec0", "\ud2e4", "\ucb18", "\ub800", "\ucff3", "\uc37d", "\uac9f", "\uad3c", "\uc9f8", "\ub968", "\uac89", "\uc4ff", "\uaef4", "\ud144", "\ucf20", "\ub77d", "\uc74a", "\ubbf9", "\ud188", "\uc660", "\uae0b", "\uac31", "\ucf2c", "\ud330", "\uc81c", "\ub355", "\uac4b", "\uce20", "\uc820", "\ucc59", "\ubb44", "\ud63c", "\uc950", "\uada4", "\ud757", "\ub40f", "\uc0c9", "\ub3c8", "\ub541", "\uc84c", "\uca30", "\uc84b", "\ud1b0", "\ub6f0", "\ud79d", "\ub98e", "\ucb41", "\uc80a", "\uba70", "\ube6a", "\ubc50", "\uc8a8", "\ub0b1", "\uce6b", "\ud0b9", "\ud2bc", "\ub98d", "\ub108", "\uc4f8", "\ub198", "\uad49", "\ucef8", "\ucea0", "\ucca0", "\ucea5", "\uac8b", "\ub1d4", "\ud68c", "\uc6f0", "\ub7b4", "\ubcf5", "\uc8cc", "\ucabc", "\ub9ec", "\ub04e", "\ub9e5", "\ubd24", "\ud6b0", "\ub045", "\ud3c5", "\uca50", "\uc098", "\ud565", "\uc4f1", "\ud33d", "\uc9f9", "\ubf48", "\ubed0", "\ucc21", "\ud68d", "\uc5d0", "\uc219", "\ubb1c", "\ubc97", "\ub86c", "\uacbd", "\uaf91", "\uceeb", "\ub480", "\uad38", "\uc608", "\uc126", "\uace4", "\ud0d1", "\uadd0", "\ud310", "\ucdf9", "\ud575", "\ub217", "\ub390", "\ub301", "\uc510", "\ub20c", "\ucbe7", "\ub5ec", "\ud6d5", "\uc751", "\uaf2c", "\ubad9", "\ub275", "\ubd81", "\uc8d5", "\ub3ce", "\ub2f9", "\ub0c9", "\uaddc", "\ub155", "\ud054", "\ud290", "\ud5db", "\uc8bc", "\ube8f", "\ub2fb", "\uac12", "\ucfe8", "\uc178", "\ucc0c", "\uc058", "\uac40", "\uc5bb", "\uac94", "\ub304", "\uba67", "\uc274", "\ub113", "\ub4f8", "\ubeb4", "\ud339", "\ube7c", "\ub760", "\uac78", "\uc998", "\uc735", "\uadf8", "\uade4", "\ub36b", "\uacbb", "\ub274", "\uc345", "\ud0a4", "\ucd1d", "\ud16c", "\uafc9", "\uc73d", "\ud2a4", "\uaf90", "\uce14", "\uc2b4", "\uca29", "\ub488", "\uc220", "\ucf67", "\ub04a", "\uad0c", "\uc03c", "\uad7d", "\ub7a8", "\ub208", "\uca68", "\ubd49", "\uba68", "\ucd71", "\uc0d2", "\ud143", "\ud0f0", "\uc309", "\ube84", "\uc607", "\ud3c9", "\uc918", "\uc887", "\ud5c9", "\uc1fd", "\ub51b", "\uc63f", "\ubf01", "\ubb3d", "\uc98c", "\ubc95", "\ubf51", "\uaff1", "\uc9d1", "\ub5b5", "\uae6c", "\uc00c", "\ub148", "\ud615", "\uce60", "\uc7a6", "\ub85c", "\uba38", "\ud590", "\uc757", "\uc999", "\ud399", "\uc990", "\ub2c9", "\ub383", "\uad0d", "\uae50", "\ud73c", "\uc0d0", "\ub1fd", "\ud2b1", "\ucd78", "\uc368", "\ucf31", "\ud1f8", "\ud074", "\ub1f0", "\uc730", "\uc559", "\ud37d", "\ud134", "\ubd14", "\ube1d", "\ub17c", "\ub959", "\uadc1", "\uc44c", "\uc7c9", "\ubddc", "\ub0a8", "\uaed1", "\uc4fa", "\ub3a1", "\uc5c8", "\uc6c3", "\uc1a9", "\ub4d0", "\uad61", "\ub798", "\ucee4", "\ud3a8", "\uc1a5", "\ucee5", "\ub3c5", "\uc20d", "\uc717", "\uba64", "\ud5d9", "\ucef7", "\uc51c", "\ubb3c", "\uc6cd", "\uc115", "\ud081", "\ubf19", "\ud6d7", "\uc7c8", "\ud58f", "\ubdc1", "\ud038", "\uc99b", "\ud14d", "\ubc4c", "\ubccd", "\ucf2d", "\uc633", "\uc815", "\ud65c", "\ub625", "\uba54", "\ub974", "\ud6a1", "\ube74", "\ucd9c", "\ub93c", "\uc6e1", "\uc0c0", "\ub4e0", "\uc6f9", "\ucc64", "\uc140", "\uc5c6", "\uc87a", "\uc465", "\ucc30", "\ud6e8", "\ub6ab", "\ubc38", "\uca09", "\ud1ba", "\uae8c", "\uc848", "\ub797", "\ud5a5", "\ub014", "\uc120", "\uad73", "\uc5ec", "\uce74", "\uc811", "\uac00", "\uc42c", "\ubd90", "\uae7d", "\uc5b8", "\uc9d0", "\uac58", "\uc7bf", "\ub1fb", "\uc7b0", "\ub80c", "\uacf3", "\uc170", "\ub755", "\ube48", "\ubdf4", "\uc0b6", "\uc3e8", "\uc7dd", "\uae54", "\ubd05", "\ud489", "\ub1a8", "\ud759", "\ud5e8", "\ud2c2", "\uccb4", "\ub0d8", "\uc871", "\uc8f5", "\ud694", "\ud2bf", "\uaf79", "\uadc4", "\ucbd4", "\uc890", "\ub8d0", "\uc8a1", "\uafbc", "\uba78", "\ucd1b", "\ud1a1", "\uae5d", "\uc597", "\uc54d", "\ub818", "\ucd01", "\ub11c", "\uc0fe", "\uc0bd", "\ub51c", "\ud150", "\uad82", "\ub364", "\uac24", "\uc73c", "\ub0a0", "\uc549", "\ub055", "\ub780", "\ubd4c", "\ud56d", "\uc229", "\ub2b0", "\ubb35", "\ub2b4", "\ub54b", "\ub9e4", "\uc289", "\ud4a9", "\ub4d5", "\ub299", "\ub098", "\ubcb3", "\ud6c5", "\ud161", "\uaf30", "\uba15", "\ubc18", "\ub7b8", "\ucf78", "\ud6f5", "\uc7ec", "\ud61c", "\uc26d", "\ub4b7", "\ud2b9", "\uaea0", "\ud690", "\ub918", "\ub2f5", "\uc664", "\uacc1", "\uca61", "\ub86f", "\ucc27", "\ub182", "\uad6c", "\uc961", "\uc136", "\ubcb0", "\ub465", "\uc634", "\uccc5", "\uca84", "\ud494", "\uaeeb", "\ud56b", "\ud4fb", "\ub284", "\uc5d1", "\ucc60", "\uaf48", "\ucc54", "\uae4c", "\ub754", "\ub81b", "\ud2dc", "\ud168", "\ud613", "\ud045", "\uca5c", "\uacef", "\ubcf8", "\uc2b7", "\uc557", "\ubb4f", "\uc96c", "\ub2ff", "\uc539", "\uc0bc", "\ubab9", "\ud31f", "\ud756", "\uae30", "\ubca1", "\ub701", "\uc84d", "\uad9d", "\ucd60", "\uccc7", "\ud5e4", "\uc644", "\ub9f7", "\ub420", "\ucff5", "\ud774", "\ub807", "\uc6b9", "\ub3d0", "\uc31e", "\ud5f5", "\uc8fc", "\uc783", "\uca98", "\uba74", "\uc18d", "\ub260", "\ub07d", "\uc55d", "\ud54c", "\ud1a4", "\ubcd0", "\ub214", "\ud060", "\uc788", "\ub9de", "\ud6e0", "\uc1f1", "\ud750", "\ubf41", "\ud03c", "\ub138", "\uc789", "\ub96d", "\ud0c4", "\uacea", "\ubed4", "\uc7bd", "\ucd2c", "\uc90c", "\ub400", "\ub310", "\ud2f1", "\ub8d4", "\ud508", "\ubc94", "\ub87c", "\uaecd", "\uce08", "\ud303", "\uc2e3", "\ub7ad", "\uc3c0", "\ub799", "\uc3f8", "\ub88d", "\uc558", "\ub151", "\ub864", "\ubb63", "\uad75", "\ub44f", "\ub460", "\ub78f", "\ub0c8", "\ud504", "\ud07d", "\uce35", "\uc185", "\ub8f8", "\ub291", "\ub109", "\ub158", "\uc6b1", "\ubc84", "\uc574", "\uaf5d", "\ub7b5", "\ud719", "\uc960", "\uad50", "\uc0d8", "\ubf1d", "\ud305", "\ub1e8", "\ubabb", "\ub35e", "\ud38c", "\uce28", "\uaec4", "\uc8e0", "\uc38c", "\uad9c", "\ub2eb", "\ub054", "\uc50c", "\uaf34", "\ubcfc", "\ud1f5", "\ud560", "\ub5cc", "\ud2e5", "\ud514", "\ub4c0", "\uc7cc", "\ub7ec", "\uc494", "\uc4bc", "\uce19", "\ub550", "\ud4d4", "\uaf95", "\ud3a9", "\ube99", "\ub81d", "\uac54", "\uc68b", "\uce30", "\ud3bc", "\uc591", "\ub94f", "\ubc09", "\ub9b0", "\ub6ac", "\ucc14", "\ub543", "\ube7d", "\uc254", "\ubf09", "\ub524", "\ub62c", "\ub1d0", "\ub2ac", "\uad45", "\ud683", "\ub9cc", "\uc330", "\ubc5d", "\ubc14", "\uccad", "\ubd99", "\ucf01", "\ub313", "\ucc2e", "\ub1f9", "\ub3a0", "\ube75", "\ud3b4", "\ub2a6", "\ub0af", "\uca4c", "\uc31c", "\ud277", "\uc300", "\uc62e", "\ubc4d", "\ubac8", "\uafcb", "\uc580", "\uc30d", "\ub294", "\uc610", "\uae4d", "\uc76b", "\uc69c", "\ube91", "\uc808", "\uaf43", "\ud544", "\ub4ed", "\ubc27", "\ud31c", "\uccac", "\ud301", "\ud5f4", "\ub8c0", "\ubdf0", "\ub561", "\ube14", "\ubd09", "\uc753", "\ucc29", "\ud798", "\uc0a1", "\ud669", "\ubb11", "\ub52a", "\uc0e8", "\ub4b9", "\ub3e4", "\uc14b", "\uad90", "\uc410", "\ub418", "\uc755", "\ub837", "\ud704", "\ucdcc", "\ubeec", "\uce84", "\ubbd3", "\uc0ac", "\ub09f", "\uaeed", "\ub8c3", "\uc430", "\uc6a7", "\uc89d", "\uaf42", "\ub118", "\uac7a", "\ud13a", "\uc758", "\uaef8", "\uc0e5", "\ud100", "\ud604", "\ub300", "\ub3d7", "\uc5e5", "\ud10d", "\ucd08", "\uc28c", "\ub9c9", "\ub394", "\ucf80", "\ud588", "\uc785", "\uac1d", "\ud0b7", "\ud23c", "\uccbc", "\uad06", "\ud788", "\ub048", "\ud464", "\uc628", "\ubee3", "\uc357", "\ud248", "\ub12c", "\uc82f", "\ud5dd", "\uc6cc", "\uae43", "\ud769", "\uc1ac", "\ud38f", "\ucea3", "\ubb90", "\ub0ab", "\uc2dc", "\ub258", "\ub93d", "\uc9a4", "\ub11d", "\uc57c", "\uc9c0", "\ub72c", "\uc2dd", "\uae85", "\uc37c", "\ub538", "\ud4f0", "\uce98", "\uaff4", "\ucca8", "\ud6cc", "\uc74f", "\ub3e0", "\ubd9c", "\ub311", "\uba49", "\uc714", "\ub835", "\ubc08", "\uc2a5", "\uad70", "\ud3f4", "\ubb8c", "\uc29b", "\ubc1e", "\uc248", "\ub314", "\uc338", "\uc7a5", "\uc21c", "\uc9d3", "\ud6d1", "\ub125", "\ud0c0", "\uc838", "\ub894", "\ub9d9", "\uc3ed", "\ucfe1", "\uc618", "\uc7c1", "\uc6a9", "\uc74d", "\uc250", "\ud000", "\ubbfc", "\uaed8", "\uac0a", "\ud3d0", "\ubb34", "\ubf08", "\ub160", "\ud3b8", "\uc55e", "\uc263", "\uc83c", "\uc211", "\ud210", "\uad29", "\uc989", "\ubb18", "\ub544", "\uce7c", "\ubc8b", "\uaedc", "\ud48b", "\uc655", "\uc7e8", "\uc715", "\uc648", "\ubb50", "\uc886", "\ub080", "\ub2db", "\uccb8", "\uc3dc", "\ucd39", "\ub940", "\ub42c", "\uce85", "\uc0c8", "\uae78", "\uce33", "\ud54f", "\uc584", "\uc22d", "\ub9f8", "\ubcd8", "\uc6d0", "\ud5ec", "\ubb2b", "\uadff", "\uc719", "\uc0db", "\uc0ad", "\ub308", "\ub49d", "\ud38d", "\ubc41", "\ub0b5", "\ub664", "\uc308", "\ube60", "\ub0e3", "\uc9c8", "\uc18c", "\ub410", "\uc194", "\ubca4", "\uc970", "\ub568", "\ud6bb", "\uc1fc", "\ucd10", "\ub610", "\ub3d5", "\ucf24", "\ub289", "\ub09a", "\uc0a3", "\ubd84", "\ub4dd", "\ub796", "\uc1b0", "\ucf58", "\ub140", "\uc528", "\ud0c9", "\uc545", "\ub1ec", "\uafb8", "\uc7ce", "\ub5a0", "\uc689", "\ud1a0", "\uc288", "\uc8e4", "\ud765", "\ubc40", "\uc5ee", "\uac4d", "\uafdc", "\uc7a4", "\uce58", "\ucc2c", "\ub2ee", "\uc794", "\ub3ac", "\uac07", "\ub7f0", "\ud1f4", "\ucfc4", "\uac70", "\ub4ac", "\uc5ca", "\ud325", "\ubc02", "\ucaf4", "\ub1e9", "\ubd64", "\uc654", "\ud25c", "\uc54a", "\uc74c", "\ub356", "\uc2f6", "\ub790", "\ube71", "\ubf44", "\ud0ef", "\ub5cd", "\ub378", "\uce87", "\ub0b8", "\ud384", "\ub620", "\ub5c4", "\ub978", "\ub8dd", "\ucc99", "\ud674", "\ubd10", "\uc1a8", "\ucc48", "\ud3ab", "\ub984", "\uad63", "\uc5d4", "\uc108", "\ud31d", "\ubd68", "\uc934", "\ubed8", "\ud06c", "\uce68", "\ub0c7", "\ub11b", "\uc30b", "\ube5a", "\ube80", "\ubb45", "\uc8d4", "\ucc22", "\uc8c8", "\uc7ac", "\uc904", "\ub044", "\ub2e5", "\ub871", "\uce24", "\ud314", "\uc70c", "\uc606", "\ub8b4", "\ub059", "\uc3bc", "\ube55", "\uaf5c", "\ud23d", "\uc29d", "\ubbc4", "\ud230", "\ubfdf", "\ubee5", "\ucc39", "\uafd4", "\ubcb1", "\uc831", "\ub3cb", "\uc0af", "\uac2c", "\ubc0d", "\uc733", "\ubcd5", "\ucf15", "\uc744", "\ud345", "\ub7c7", "\ub08d", "\ud789", "\ub7ab", "\uc378", "\uacd5", "\ub784", "\ub42b", "\uaf49", "\uc165", "\ud1b1", "\ub5a4", "\ud488", "\uc78e", "\uc9dc", "\uc849", "\ub97c", "\ub07c", "\ud0c8", "\uc5b9", "\uac80", "\ud5f9", "\ub844", "\ubd9a", "\ucad8", "\uc500", "\uae38", "\ub73b", "\ubfe1", "\uc7d9", "\uc587", "\ud589", "\uadb7", "\ub10b", "\ubc16", "\ub840", "\ud034", "\uaebc", "\uc9e4", "\ub810", "\ub9bf", "\ub8f9", "\uc598", "\uc10a", "\uc5c7", "\uac1a", "\ud288", "\ud049", "\ud2a0", "\ub8df", "\uc149", "\ub15c", "\uc8d7", "\ubd87", "\uc63b", "\ube0c", "\ud6a8", "\ub290", "\ud058", "\uae44", "\uac11", "\ud0e0", "\uc5bc", "\ub38c", "\uc6e4", "\uc124", "\ucac4", "\ud0f1"]}, "valid": {"fonts": ["UhBee Han HUEY.ttf", "UhBee Howl.ttf", "UhBee LovelyAN.ttf", "UhBee U JEONG.ttf", "UhBee Ham.ttf", "UhBee+Jaeyoun.ttf", "UhBee W yum.ttf", "UhBee HanByeol.ttf", "UhBee GEN WOO.ttf", "UhBee MiMi.ttf", "UhBee Seulvely.ttf", "UhBee charming.ttf", "UhBee YanNeu.ttf", "UhBee eunD.ttf", "UhBee Hyundyu.ttf", "UhBee Skyrain.ttf", "Uhbee NaHyun.ttf", "UhBee Kairu.ttf"], "chars": ["\ucf13", "\uacaf", "\ub20b", "\ucc4c", "\uba83", "\uace0", "\uc548", "\ucb58", "\uaefc", "\uc0f5", "\ucdfb", "\uc9d5", "\ud584", "\uc9da", "\ubb88", "\ucf1c", "\ud5f7", "\uca97", "\uae65", "\ub9bd", "\ud761", "\ub96b", "\ub124", "\uad89", "\ud047", "\uc5f0", "\ud6fc", "\uc99d", "\ubdb0", "\ud138", "\ube54", "\uaf50", "\ubbf8", "\uc78c", "\ucf64", "\uac13", "\uc5f7", "\ucf74", "\ucf54", "\ubc43", "\uc62c", "\ud1b3", "\uace1", "\uaf3d", "\ud3c8", "\ud0b5", "\ub9e1", "\ub9cf", "\ube64", "\ud4b0", "\uc356", "\uba04", "\uacf0", "\uae8d", "\ube05", "\ubccf", "\ub618", "\ud30e", "\ubc0f", "\uae69", "\uaca1", "\uae70", "\ub739", "\ub434", "\ub234", "\ubba4", "\ub09c", "\uad88", "\ud3e1", "\uc974", "\uca4d", "\ud799", "\uc854", "\ubb29", "\ubd88", "\ub744", "\uaf80", "\uc2e0", "\ub728", "\uceac", "\ubbd0", "\ube57", "\ubc00", "\ucb9c", "\uc1cc", "\uc9ef", "\ub6d4", "\uc281", "\uc6e0", "\uc7bc", "\uc6d4", "\ub1dd", "\ub7fd", "\ub298", "\ud22c", "\ud1c0", "\ub9ac", "\uc66c", "\ud600", "\uc797", "\ud738", "\ud749", "\ucb4c", "\ud338", "\uc231", "\uc787", "\uc553", "\ubabd", "\uc2f9", "\uc46c", "\ud77d", "\ub78c", "\uce91", "\ub35b", "\uc8c4", "\ub880", "\ub154", "\ud154", "\uc6ec", "\uc5a0", "\uc9d6", "\uc265", "\uc878", "\ubd79", "\uce5c", "\ubfd4", "\ub944", "\uc5be", "\ub9c8", "\uce21", "\ucff0", "\ud729", "\uad34", "\uc605", "\uacfd", "\uc369", "\ucd88", "\uc7ad", "\ubfd0", "\uae40", "\uae79", "\ub2d8", "\ub958", "\ub179", "\ub367", "\ub2e6", "\ub3a8", "\uc174", "\uc6fb", "\ubd2c", "\ucf2f", "\ucda5", "\uafc8", "\ub9fa", "\uc11f", "\ud53d", "\ub2a1", "\ub5b0", "\ubf1b", "\ub98a", "\uc9c4", "\ud30d", "\uc5ce", "\ub4c4", "\uc756", "\uc190", "\uc951", "\uafc7", "\uad7c", "\ucc1d", "\ucb10", "\ucf71", "\ub8cc", "\uc1c8", "\ub2a0", "\uc5f4", "\ubf50", "\ud1bc", "\uc678", "\ucef5", "\ubd59", "\ucc1c", "\uc5b4", "\uc5c9", "\ud71c", "\uc721", "\ub69c", "\ub001", "\ub150", "\ubd23", "\uce89", "\ubbac", "\ubac4", "\ud747", "\ub904", "\ucb48", "\uae08", "\uae86", "\uc196", "\uc130", "\ubab0", "\uc315", "\ud517", "\ud770", "\uc9f1", "\uc6b4", "\ucee8", "\ube4c", "\uc18e", "\uacf6", "\ub010", "\ubb04", "\ucb21", "\ub834", "\ud4ec", "\uc9e0", "\ud728", "\ud6c4", "\uc754", "\ubc15", "\ub8ec", "\ub2e4", "\uc8fd", "\ub5cf", "\uc92b", "\ub72f", "\uc11c", "\uca5f", "\uac01", "\uc62d", "\uc094", "\ube0d", "\ub8e9", "\uc7e4", "\uad00", "\ud638", "\ubfcd", "\ub69d", "\ud574", "\uac39", "\ub10c", "\ub6f8", "\ub9e3", "\ucf8c", "\ubbc0"]}}
================================================
FILE: meta/thai_split.json
================================================
{"train": {"fonts": ["KaniGa-Regular.ttf", "Aksaramatee-Regular.ttf", "JS-Karabow.ttf", "Purisa-Medium.ttf", "Nakaracha-Regular.ttf", "TH-Mali-Grade6-Regular.ttf", "JS-Samurai-Normal.ttf", "Loma-Book.ttf", "JS-Macha-Normal.ttf", "JS-Chusri-Normal.ttf", "Himmaparnt-Regular.ttf", "SR-FahMai-Normal.ttf", "Taviraj-Regular.ttf", "ChulaNarak-Regular.ttf", "JS-Boaboon.ttf", "Itim-Regular.ttf", "JS-Khunwai.ttf", "Sriracha-Regular.ttf", "JS-Padachamai-Normal.ttf", "JS-Jukaphan.ttf", "JS-Junkaew.ttf", "Pattaya-Regular.ttf", "JS-Saksit-Normal.ttf", "JS-Setha-Normal.ttf", "JS-Pisit-Normal.ttf", "Mitr-Regular.ttf", "TlwgTypewriter-Medium.ttf", "JS-Rapee-Normal.ttf", "Kinnari-Medium.ttf", "TH-Baijam-Regular.ttf", "Athiti-Regular.ttf", "JS-Sarunya-Normal.ttf", "JS-Tina-Normal.ttf", "TH-KoHo-Regular.ttf", "JS-Chawlewhieng.ttf", "JS-Pudgrong-Normal.ttf", "JS-Thanaporn-Normal.ttf", "JS-Saowapark-Normal.ttf", "TH-Charmonman-Regular.ttf", "JS-Prajuk-Italic.ttf", "PSK-Smart-Regular.ttf", "JS-Chalit.ttf", "TH-Chakra-Petch-Regular.ttf", "JS-Obsaward-Normal.ttf", "JS-Chanok-Normal.ttf", "TH-Krub-Regular.ttf", "JS-Puriphop-Normal.ttf", "JS-Duangta.ttf", "TH-Niramit-AS-Regular.ttf", "Garuda-Book.ttf", "JS-Wannaree-Italic.ttf", "JS-Giat-Bold.ttf", "JS-Sangravee-Normal.ttf", "JS-Laongdao-Bold.ttf", "TH-Sarabun-New-Regular.ttf", "FonLeb-Regular.ttf", "Chonburi-Regular.ttf", "JS-Chaimongkol.ttf", "JS-Ninja-Allcaps-Bold.ttf", "JS-Prasoplarp-Normal.ttf", "JS-Amphan-Italic.ttf", "JS-Yodthida.ttf", "JS-Sirium-Normal.ttf", "JS-Pitsanu.ttf", "JS-Pranee-Italic.ttf", "JS-Chulee.ttf", "JS-Angsumalin.ttf", "JS-Neeno-Normal.ttf", "NotoSansThaiUI-Regular.ttf", "JS-Korakhot-Normal.ttf", "TH-K2D-July8-Bold.ttf", "JS-Puchong-Normal.ttf", "JS-Oobboon-Normal.ttf", "JS-Pitsamai-Italic.ttf", "Prompt-Regular.ttf", "Maitree-Regular.ttf", "TH-Fahkwang-Regular.ttf", "TH-Srisakdi-Regular.ttf", "TlwgTypo-Medium.ttf", "NotoSerifThai-Regular.ttf", "TH-Kodchasal-Regular.ttf", "JS-Wansika-Italic.ttf", "JS-Wanida-Italic.ttf", "Trirong-Regular.ttf"], "chars": ["\u0e10\u0e35\u0e49\u0e38", "\u0e23\u0e49\u0e39", "\u0e21\u0e34\u0e4b\u0e3a", "\u0e2a\u0e37\u0e4a\u0e3a", "\u0e14\u0e33\u0e48\u0e39", "\u0e07\u0e31\u0e47\u0e3a", "\u0e20\u0e4e", "\u0e07\u0e31\u0e48", "\u0e04\u0e4a\u0e3a", "\u0e08\u0e33\u0e49", "\u0e16\u0e36\u0e47\u0e3a", "\u0e12\u0e4b", "\u0e28\u0e4e\u0e3a", "\u0e20\u0e37\u0e49\u0e3a", "\u0e22\u0e35\u0e4a\u0e3a", "\u0e13\u0e37\u0e3a", "\u0e21\u0e35\u0e48", "\u0e2e\u0e35\u0e4d\u0e3a", "\u0e08\u0e36\u0e47", "\u0e2e\u0e35\u0e47", "\u0e17\u0e4c\u0e3a", "\u0e02\u0e37\u0e47\u0e3a", "\u0e08\u0e35\u0e49\u0e3a", "\u0e2b\u0e36\u0e4c\u0e3a", "\u0e08\u0e34\u0e4d", "\u0e11\u0e36\u0e4e", "\u0e02\u0e34\u0e4e\u0e3a", "\u0e15\u0e33\u0e4d", "\u0e0a\u0e34\u0e4d", "\u0e2a\u0e34\u0e4d\u0e38", "\u0e2b\u0e31\u0e47\u0e3a", "\u0e28\u0e36\u0e4a", "\u0e01\u0e31\u0e4d\u0e39", "\u0e20\u0e3a", "\u0e07\u0e4d\u0e38", "\u0e01\u0e4b\u0e38", "\u0e01\u0e36\u0e48", "\u0e10\u0e4a", "\u0e2c\u0e36\u0e4c\u0e39", "\u0e29\u0e35\u0e4a", "\u0e12\u0e36\u0e39", "\u0e2b\u0e4d\u0e39", "\u0e23\u0e33\u0e4b\u0e3a", "\u0e2e\u0e31\u0e4a", "\u0e06\u0e4e\u0e38", "\u0e22\u0e35\u0e48\u0e39", "\u0e06\u0e31\u0e48\u0e39", "\u0e15\u0e33\u0e49\u0e39", "\u0e2d\u0e35\u0e4e\u0e38", "\u0e02\u0e37\u0e4b\u0e39", "\u0e13\u0e36\u0e4b\u0e3a", "\u0e2d\u0e33\u0e4d\u0e39", "\u0e08\u0e37\u0e47\u0e38", "\u0e2a\u0e31", "\u0e0f\u0e33\u0e48", "\u0e10\u0e33\u0e4d\u0e39", "\u0e06\u0e34\u0e48", "\u0e03\u0e33\u0e47\u0e3a", "\u0e2c\u0e33\u0e4e\u0e3a", "\u0e1a\u0e31\u0e4b\u0e38", "\u0e10\u0e38", "\u0e21\u0e37\u0e39", "\u0e10\u0e37\u0e4c\u0e3a", "\u0e08\u0e37\u0e4e\u0e3a", "\u0e19\u0e33\u0e48\u0e39", "\u0e03\u0e35\u0e48\u0e38", "\u0e14\u0e35\u0e47", "\u0e1a\u0e37\u0e47\u0e39", "\u0e2c\u0e34\u0e38", "\u0e0b\u0e31\u0e4e\u0e39", "\u0e25\u0e31\u0e3a", "\u0e14\u0e34\u0e49\u0e3a", "\u0e18\u0e37\u0e48\u0e39", "\u0e2d\u0e35", "\u0e15\u0e31\u0e4e\u0e3a", "\u0e01\u0e38", "\u0e0e\u0e48\u0e3a", "\u0e2d\u0e37\u0e4d\u0e38", "\u0e15\u0e33\u0e4d\u0e3a", "\u0e0a\u0e36\u0e4a\u0e3a", "\u0e02\u0e31\u0e49\u0e3a", "\u0e22\u0e33\u0e47\u0e39", "\u0e2e\u0e33\u0e4e\u0e39", "\u0e16\u0e34\u0e4a\u0e38", "\u0e15\u0e37\u0e4d\u0e38", "\u0e02\u0e35\u0e4e\u0e3a", "\u0e19\u0e35\u0e47\u0e3a", "\u0e28\u0e31\u0e49", "\u0e19\u0e31\u0e4d", "\u0e0a\u0e33\u0e4b\u0e3a", "\u0e1a\u0e33\u0e47\u0e38", "\u0e21\u0e36", "\u0e1c\u0e34\u0e47\u0e3a", "\u0e0d\u0e34\u0e4d\u0e39", "\u0e0d\u0e33\u0e4d", "\u0e29\u0e34\u0e49\u0e3a", "\u0e01\u0e4d", "\u0e08\u0e4d\u0e39", "\u0e0b\u0e31\u0e49", "\u0e14\u0e35\u0e4b\u0e3a", "\u0e11\u0e33\u0e4e\u0e39", "\u0e0a\u0e36\u0e49\u0e38", "\u0e1f\u0e34\u0e4c\u0e39", "\u0e15\u0e34\u0e49", "\u0e13\u0e34\u0e4b\u0e39", "\u0e20\u0e34\u0e49\u0e38", "\u0e1c\u0e36\u0e39", "\u0e18\u0e33\u0e48\u0e39", "\u0e1d\u0e31\u0e4b", "\u0e1e\u0e34\u0e4b", "\u0e18\u0e49\u0e39", "\u0e15\u0e31\u0e4e\u0e38", "\u0e11\u0e31\u0e49\u0e39", "\u0e0e\u0e4e\u0e3a", "\u0e07\u0e37\u0e48", "\u0e0e\u0e35\u0e3a", "\u0e0c\u0e4e\u0e3a", "\u0e18\u0e36\u0e4b", "\u0e09\u0e35\u0e4b\u0e38", "\u0e1e\u0e39", "\u0e2e\u0e35\u0e4c", "\u0e0b\u0e35\u0e39", "\u0e0b\u0e34\u0e4b\u0e39", "\u0e28\u0e4d\u0e39", "\u0e1a\u0e33", "\u0e1a\u0e37\u0e4e", "\u0e21\u0e34\u0e4b\u0e39", "\u0e28\u0e33\u0e4e\u0e39", "\u0e0f\u0e33\u0e4d\u0e3a", "\u0e1b\u0e36\u0e4c\u0e38", "\u0e20\u0e35\u0e47\u0e3a", "\u0e27\u0e31\u0e4a", "\u0e0f\u0e33\u0e4c\u0e38", "\u0e07\u0e33\u0e4d", "\u0e08\u0e36\u0e48\u0e38", "\u0e22\u0e31\u0e47\u0e38", "\u0e19\u0e34\u0e4a\u0e38", "\u0e2a\u0e31\u0e4e\u0e39", "\u0e0b\u0e34\u0e49", "\u0e06\u0e35\u0e47", "\u0e0b\u0e31\u0e49\u0e38", "\u0e02\u0e35\u0e4c\u0e38", "\u0e10\u0e33\u0e3a", "\u0e28\u0e36\u0e49\u0e38", "\u0e18\u0e34\u0e39", "\u0e05\u0e33\u0e48", "\u0e13\u0e34\u0e4c", "\u0e14\u0e35\u0e4c\u0e39", "\u0e22\u0e33\u0e4a\u0e38", "\u0e21\u0e34\u0e48\u0e39", "\u0e2a\u0e37\u0e4d", "\u0e1f\u0e31\u0e38", "\u0e0f\u0e35\u0e4a", "\u0e01\u0e34\u0e4e\u0e3a", "\u0e2a\u0e49\u0e38", "\u0e22\u0e35\u0e4d", "\u0e12\u0e31\u0e4a\u0e3a", "\u0e12\u0e31\u0e4d", "\u0e10\u0e36\u0e47\u0e38", "\u0e09\u0e34\u0e4c", "\u0e20\u0e31\u0e39", "\u0e12\u0e36\u0e4c", "\u0e23\u0e35\u0e49\u0e38", "\u0e02\u0e4d\u0e38", "\u0e29\u0e36\u0e4c", "\u0e20\u0e37\u0e4d\u0e39", "\u0e0c\u0e33\u0e49\u0e39", "\u0e0f\u0e34\u0e49\u0e39", "\u0e18\u0e37\u0e4d\u0e38", "\u0e2d\u0e34\u0e4e", "\u0e17\u0e33\u0e47", "\u0e2c\u0e37\u0e4c", "\u0e1f\u0e33\u0e4b\u0e39", "\u0e12\u0e33\u0e4e\u0e3a", "\u0e04\u0e37\u0e3a", "\u0e29\u0e4e\u0e38", "\u0e17\u0e31\u0e4a\u0e38", "\u0e0b\u0e36\u0e4c\u0e38", "\u0e08\u0e35\u0e4d\u0e39", "\u0e20\u0e31\u0e38", "\u0e22\u0e34\u0e4a\u0e38", "\u0e21\u0e37\u0e38", "\u0e01\u0e4b", "\u0e16\u0e37\u0e4a\u0e38", "\u0e2c\u0e35\u0e48\u0e38", "\u0e0e\u0e35\u0e4c\u0e3a", "\u0e1c\u0e4b\u0e3a", "\u0e08\u0e49\u0e39", "\u0e1e\u0e37\u0e4c\u0e38", "\u0e20\u0e37\u0e47\u0e3a", "\u0e1b\u0e34\u0e49\u0e3a", "\u0e2d\u0e35\u0e4d\u0e38", "\u0e01\u0e34\u0e4d", "\u0e06\u0e31\u0e4e\u0e39", "\u0e18\u0e37\u0e4e\u0e38", "\u0e0b\u0e35\u0e4d\u0e3a", "\u0e0a\u0e47", "\u0e0e\u0e35\u0e4e", "\u0e1e\u0e38", "\u0e1d\u0e36\u0e4a\u0e3a", "\u0e2a\u0e36\u0e49\u0e38", "\u0e15\u0e34\u0e4d\u0e39", "\u0e2c\u0e31\u0e38", "\u0e11\u0e31\u0e4c\u0e3a", "\u0e28\u0e37\u0e4d\u0e39", "\u0e03\u0e37\u0e4d\u0e39", "\u0e29\u0e4e", "\u0e0a\u0e4a\u0e39", "\u0e19\u0e37\u0e3a", "\u0e1b\u0e31\u0e47\u0e3a", "\u0e1f\u0e35\u0e4e", "\u0e2d\u0e35\u0e4c\u0e38", "\u0e02\u0e35\u0e47\u0e38", "\u0e05\u0e31\u0e38", "\u0e1b\u0e33\u0e47", "\u0e1e\u0e37\u0e4b", "\u0e28\u0e37\u0e48\u0e38", "\u0e18\u0e34\u0e4b\u0e39", "\u0e17\u0e4b", "\u0e28\u0e34\u0e4a\u0e39", "\u0e2b\u0e34\u0e4d\u0e3a", "\u0e05\u0e37\u0e4d\u0e39", "\u0e19\u0e33\u0e4e\u0e3a", "\u0e12\u0e34\u0e4d\u0e39", "\u0e28\u0e4d\u0e38", "\u0e2d\u0e34\u0e4d\u0e38", "\u0e29\u0e37", "\u0e09\u0e35\u0e4b\u0e3a", "\u0e20\u0e35\u0e4e", "\u0e2a\u0e34\u0e4c\u0e3a", "\u0e07\u0e31", "\u0e04\u0e36\u0e4d", "\u0e05\u0e34\u0e4a", "\u0e17\u0e33\u0e4d\u0e39", "\u0e2a\u0e31\u0e4a\u0e39", "\u0e07\u0e35\u0e48", "\u0e0a\u0e35\u0e4e\u0e38", "\u0e0a\u0e34\u0e4a\u0e39", "\u0e1c\u0e31\u0e4a", "\u0e08\u0e36\u0e4c\u0e39", "\u0e1b\u0e31\u0e47\u0e39", "\u0e1d\u0e34\u0e4d\u0e3a", "\u0e16\u0e37\u0e48\u0e3a", "\u0e29\u0e36\u0e4e", "\u0e25\u0e37\u0e4c\u0e38", "\u0e09\u0e37\u0e49\u0e38", "\u0e28\u0e37\u0e4b\u0e3a", "\u0e11\u0e4c\u0e39", "\u0e01\u0e36\u0e4c\u0e38", "\u0e02\u0e35\u0e4b", "\u0e12\u0e37\u0e4a\u0e38", "\u0e2b\u0e31\u0e48\u0e38", "\u0e18\u0e31\u0e39", "\u0e0d\u0e31\u0e4b\u0e39", "\u0e1f\u0e34\u0e48\u0e39", "\u0e18\u0e33\u0e4e\u0e3a", "\u0e09\u0e37\u0e4b\u0e38", "\u0e0e\u0e35\u0e48", "\u0e21\u0e31\u0e4b", "\u0e27\u0e31\u0e4a\u0e39", "\u0e0e\u0e36\u0e4a\u0e39", "\u0e28\u0e34\u0e48\u0e39", "\u0e23\u0e36\u0e48", "\u0e1e\u0e37\u0e4a", "\u0e06\u0e34", "\u0e09\u0e36\u0e49\u0e3a", "\u0e06\u0e35\u0e4c\u0e38", "\u0e0e\u0e36\u0e48", "\u0e18\u0e31\u0e47\u0e3a", "\u0e06\u0e33\u0e47", "\u0e1a\u0e36\u0e38", "\u0e29\u0e4c\u0e3a", "\u0e1c\u0e31\u0e4a\u0e38", "\u0e1a\u0e35\u0e47", "\u0e0c\u0e35\u0e4b\u0e38", "\u0e02\u0e4d\u0e39", "\u0e2d\u0e35\u0e4b\u0e3a", "\u0e16\u0e4a\u0e3a", "\u0e16\u0e33\u0e4d\u0e39", "\u0e29\u0e31\u0e4d", "\u0e11\u0e47\u0e38", "\u0e0b\u0e4e\u0e39", "\u0e01\u0e36\u0e4b\u0e38", "\u0e0a\u0e33\u0e4c\u0e39", "\u0e1c\u0e4b\u0e38", "\u0e10\u0e37", "\u0e28\u0e48\u0e3a", "\u0e10\u0e35\u0e47", "\u0e28\u0e4c\u0e3a", "\u0e0a\u0e35\u0e4c\u0e38", "\u0e03\u0e4a\u0e38", "\u0e2e\u0e34\u0e4e", "\u0e12\u0e31\u0e4e\u0e38", "\u0e23\u0e35\u0e48", "\u0e1e\u0e35\u0e4c", "\u0e1f\u0e35\u0e4c", "\u0e1c\u0e31\u0e48", "\u0e22\u0e4b\u0e39", "\u0e12\u0e37\u0e4c", "\u0e0d\u0e33\u0e48\u0e3a", "\u0e18\u0e48\u0e38", "\u0e1a\u0e35\u0e4e\u0e38", "\u0e06\u0e33\u0e4c\u0e38", "\u0e23\u0e33\u0e48", "\u0e0f\u0e31\u0e4c\u0e38", "\u0e07\u0e31\u0e4c", "\u0e1a\u0e33\u0e48", "\u0e01\u0e34\u0e4b\u0e3a", "\u0e19\u0e35\u0e4d\u0e39", "\u0e17\u0e4e\u0e38", "\u0e2b\u0e4e\u0e39", "\u0e1c\u0e37\u0e48\u0e39", "\u0e05\u0e34\u0e48\u0e39", "\u0e22\u0e34\u0e4c", "\u0e1d\u0e33\u0e49\u0e39", "\u0e13\u0e33\u0e4b\u0e3a", "\u0e17\u0e37\u0e47\u0e39", "\u0e0e\u0e37\u0e4a\u0e39", "\u0e06\u0e37\u0e4d\u0e38", "\u0e1f\u0e37\u0e4e", "\u0e2d\u0e37\u0e4a\u0e38", "\u0e0d\u0e35\u0e4c\u0e38", "\u0e0f\u0e33\u0e38", "\u0e13\u0e36\u0e48", "\u0e2e\u0e38", "\u0e2c\u0e34\u0e49\u0e39", "\u0e20\u0e33\u0e4c\u0e38", "\u0e0b\u0e31\u0e4c", "\u0e09\u0e34\u0e47", "\u0e13\u0e37\u0e4b\u0e3a", "\u0e2a\u0e36\u0e4c\u0e39", "\u0e08\u0e37\u0e4a\u0e39", "\u0e19\u0e35\u0e47\u0e39", "\u0e0a\u0e31\u0e3a", "\u0e2a\u0e34\u0e49", "\u0e21\u0e34\u0e49\u0e3a", "\u0e17\u0e37\u0e4c", "\u0e05\u0e34\u0e4b\u0e3a", "\u0e2b\u0e35\u0e47", "\u0e0a\u0e37\u0e48", "\u0e1b\u0e31\u0e49\u0e39", "\u0e13\u0e33\u0e3a", "\u0e07\u0e35\u0e48\u0e38", "\u0e1e\u0e36\u0e47\u0e3a", "\u0e20\u0e34\u0e4e\u0e39", "\u0e2e\u0e34\u0e4b\u0e3a", "\u0e10\u0e48\u0e38", "\u0e17\u0e31\u0e4e\u0e39", "\u0e0a\u0e37\u0e49\u0e38", "\u0e10\u0e34\u0e48\u0e38", "\u0e18\u0e35\u0e4a", "\u0e1c\u0e35\u0e49\u0e3a", "\u0e20\u0e36\u0e4c\u0e39", "\u0e09\u0e35\u0e4e\u0e39", "\u0e1f\u0e33", "\u0e0d\u0e36\u0e47\u0e38", "\u0e27\u0e34\u0e47", "\u0e0d\u0e33\u0e4d\u0e39", "\u0e04\u0e37\u0e4e", "\u0e02\u0e37\u0e4c\u0e39", "\u0e27\u0e35\u0e4d", "\u0e20\u0e33\u0e4d", "\u0e2d\u0e31\u0e47\u0e38", "\u0e20\u0e36\u0e48\u0e38", "\u0e21\u0e35\u0e4e", "\u0e04\u0e31\u0e4c\u0e38", "\u0e2c\u0e33\u0e38", "\u0e29\u0e34\u0e48", "\u0e0f\u0e37\u0e4a\u0e39", "\u0e09\u0e36\u0e47\u0e38", "\u0e09\u0e33\u0e38", "\u0e08\u0e31\u0e4c", "\u0e1a\u0e33\u0e4c\u0e3a", "\u0e2c\u0e35\u0e47\u0e38", "\u0e27\u0e35\u0e4e", "\u0e18\u0e34\u0e48\u0e3a", "\u0e05\u0e35\u0e4e\u0e38", "\u0e12\u0e35\u0e47", "\u0e03\u0e31\u0e48\u0e3a", "\u0e0d\u0e35\u0e47\u0e38", "\u0e1a\u0e33\u0e4b\u0e38", "\u0e02\u0e31\u0e48\u0e3a", "\u0e2b\u0e4a\u0e39", "\u0e1b\u0e35\u0e4b\u0e39", "\u0e0c\u0e35\u0e4a\u0e39", "\u0e21\u0e34\u0e4a\u0e38", "\u0e05\u0e35\u0e49\u0e39", "\u0e21\u0e4d\u0e38", "\u0e01\u0e35\u0e4e\u0e39", "\u0e0b\u0e33\u0e39", "\u0e1c\u0e35\u0e4b\u0e39", "\u0e0f\u0e34\u0e47\u0e3a", "\u0e1c\u0e33\u0e4b\u0e39", "\u0e12\u0e31\u0e49", "\u0e0a\u0e34\u0e4e\u0e38", "\u0e0e\u0e35\u0e4d\u0e3a", "\u0e1f\u0e31\u0e49", "\u0e1e\u0e31\u0e4b\u0e38", "\u0e06\u0e31\u0e47\u0e38", "\u0e11\u0e35\u0e4d\u0e39", "\u0e03\u0e31\u0e4a", "\u0e0e\u0e31\u0e47\u0e3a", "\u0e11\u0e31\u0e4d\u0e39", "\u0e25\u0e34\u0e47\u0e39", "\u0e28\u0e33\u0e4b\u0e3a", "\u0e2c\u0e36\u0e4d\u0e38", "\u0e03\u0e36\u0e48\u0e38", "\u0e15\u0e31\u0e48\u0e3a", "\u0e2e\u0e34\u0e47\u0e3a", "\u0e28\u0e31\u0e4e", "\u0e1d\u0e47", "\u0e2e\u0e36\u0e4d\u0e39", "\u0e1f\u0e37\u0e38", "\u0e0e\u0e31\u0e49\u0e38", "\u0e03\u0e34\u0e49\u0e38", "\u0e1d\u0e35\u0e4a\u0e3a", "\u0e0e\u0e37\u0e49\u0e38", "\u0e07\u0e33\u0e4b\u0e38", "\u0e17\u0e35\u0e4d", "\u0e0b\u0e31\u0e4a", "\u0e01\u0e4a\u0e3a", "\u0e25\u0e4d", "\u0e03\u0e34\u0e39", "\u0e14\u0e35\u0e4d\u0e3a", "\u0e20\u0e34\u0e48\u0e39", "\u0e27\u0e35\u0e4c\u0e39", "\u0e01\u0e37\u0e4a\u0e38", "\u0e05\u0e36\u0e4b\u0e39", "\u0e14\u0e33\u0e48", "\u0e16\u0e33\u0e49\u0e3a", "\u0e2e\u0e37\u0e4d\u0e38", "\u0e1b\u0e34", "\u0e0c\u0e33\u0e48\u0e3a", "\u0e01\u0e36\u0e39", "\u0e28\u0e35\u0e48\u0e39", "\u0e27\u0e36\u0e47", "\u0e08\u0e37\u0e49\u0e39", "\u0e06\u0e35\u0e49\u0e38", "\u0e12\u0e4a", "\u0e12\u0e35\u0e4e\u0e3a", "\u0e07\u0e4b\u0e38", "\u0e2c\u0e4d", "\u0e0e\u0e33\u0e4c\u0e3a", "\u0e10\u0e35\u0e4d", "\u0e29\u0e37\u0e3a", "\u0e0d\u0e4a\u0e39", "\u0e0a\u0e31\u0e4a", "\u0e16\u0e36\u0e4a\u0e39", "\u0e1f\u0e36", "\u0e13\u0e31\u0e4b", "\u0e17\u0e37\u0e4d\u0e3a", "\u0e15\u0e36\u0e4e\u0e3a", "\u0e19\u0e36\u0e4a\u0e38", "\u0e22\u0e34\u0e49", "\u0e27\u0e36\u0e4c\u0e3a", "\u0e0a\u0e35\u0e48\u0e3a", "\u0e09\u0e36\u0e49", "\u0e1d\u0e37\u0e4a\u0e39", "\u0e1e\u0e33\u0e4d\u0e39", "\u0e11\u0e37\u0e4c\u0e38", "\u0e08\u0e4a", "\u0e21\u0e35", "\u0e0e\u0e37\u0e39", "\u0e18\u0e35\u0e4a\u0e3a", "\u0e2d\u0e35\u0e48\u0e38", "\u0e14\u0e37\u0e4e\u0e38", "\u0e15\u0e4e\u0e3a", "\u0e1a\u0e34\u0e4e", "\u0e20\u0e35\u0e4c\u0e38", "\u0e25\u0e34\u0e4a\u0e39", "\u0e25\u0e49\u0e3a", "\u0e13\u0e31\u0e49\u0e38", "\u0e0d\u0e33\u0e49\u0e3a", "\u0e1a\u0e35\u0e4a\u0e39", "\u0e12\u0e36\u0e49\u0e3a", "\u0e22\u0e35\u0e49\u0e38", "\u0e22\u0e36\u0e4a\u0e3a", "\u0e09\u0e34\u0e3a", "\u0e10\u0e4b\u0e3a", "\u0e23", "\u0e14\u0e36\u0e48\u0e39", "\u0e29\u0e34\u0e4b\u0e3a", "\u0e0b\u0e35\u0e47", "\u0e15\u0e36\u0e4e\u0e39", "\u0e25\u0e37\u0e4d\u0e39", "\u0e10\u0e31\u0e4d\u0e3a", "\u0e27\u0e35\u0e49", "\u0e13\u0e4e\u0e38", "\u0e2a\u0e4b\u0e39", "\u0e2c\u0e48\u0e38", "\u0e22\u0e35\u0e4e\u0e38", "\u0e10\u0e36\u0e4e\u0e39", "\u0e19\u0e37\u0e4a\u0e39", "\u0e05\u0e4d\u0e39", "\u0e2d\u0e31", "\u0e25\u0e37\u0e4d", "\u0e1f\u0e31\u0e4c\u0e3a", "\u0e2a\u0e4b\u0e3a", "\u0e18\u0e34\u0e4d\u0e39", "\u0e1f\u0e31\u0e3a", "\u0e1f\u0e33\u0e4e", "\u0e2e\u0e36\u0e4d\u0e3a", "\u0e28\u0e31\u0e4a\u0e38", "\u0e20\u0e4b\u0e3a", "\u0e2e\u0e36", "\u0e2a\u0e33\u0e4d", "\u0e10\u0e31\u0e4a\u0e3a", "\u0e2e\u0e31\u0e38", "\u0e15\u0e34\u0e4b", "\u0e03\u0e4c", "\u0e2e\u0e34\u0e4c\u0e3a", "\u0e1e\u0e37", "\u0e01\u0e33\u0e47\u0e38", "\u0e0b\u0e33\u0e47\u0e3a", "\u0e0b\u0e35\u0e4e\u0e3a", "\u0e23\u0e37\u0e4c\u0e3a", "\u0e2b\u0e35\u0e4d\u0e3a", "\u0e0e\u0e34\u0e4e\u0e3a", "\u0e19\u0e37\u0e47\u0e39", "\u0e14\u0e35\u0e47\u0e38", "\u0e1f\u0e36\u0e47\u0e38", "\u0e14\u0e34\u0e48\u0e38", "\u0e2c\u0e37\u0e4c\u0e39", "\u0e11\u0e35\u0e4e\u0e38", "\u0e13\u0e36\u0e48\u0e39", "\u0e21\u0e4e\u0e3a", "\u0e14\u0e37", "\u0e16\u0e48\u0e38", "\u0e2c\u0e31\u0e4b\u0e39", "\u0e21\u0e37\u0e48\u0e39", "\u0e1c\u0e31\u0e4b", "\u0e25\u0e35\u0e47\u0e39", "\u0e1e\u0e34\u0e4c\u0e3a", "\u0e1e\u0e36\u0e4e", "\u0e19\u0e34\u0e4a", "\u0e10\u0e36\u0e4d\u0e39", "\u0e27\u0e33\u0e4e\u0e3a", "\u0e22\u0e33\u0e38", "\u0e0a\u0e33\u0e4c\u0e3a", "\u0e25\u0e34\u0e47\u0e3a", "\u0e1e\u0e35\u0e3a", "\u0e2c\u0e31\u0e4b", "\u0e23\u0e36\u0e4a", "\u0e08\u0e34\u0e4b\u0e39", "\u0e1a\u0e35\u0e4e\u0e3a", "\u0e07\u0e35\u0e4a\u0e3a", "\u0e19\u0e37\u0e4c\u0e38", "\u0e09\u0e35\u0e48\u0e3a", "\u0e20\u0e36\u0e3a", "\u0e0d\u0e31\u0e4b\u0e38", "\u0e1f\u0e31\u0e48", "\u0e2c\u0e36\u0e4b\u0e3a", "\u0e22\u0e37\u0e4e\u0e38", "\u0e0f\u0e36\u0e38", "\u0e09\u0e34\u0e48", "\u0e2a\u0e35\u0e49\u0e39", "\u0e0c\u0e35\u0e39", "\u0e2b\u0e4b\u0e3a", "\u0e10\u0e34\u0e4e", "\u0e17\u0e35\u0e39", "\u0e04\u0e34\u0e4b\u0e39", "\u0e29\u0e4c", "\u0e27\u0e34\u0e49\u0e38", "\u0e2a\u0e35\u0e47\u0e3a", "\u0e09\u0e35\u0e38", "\u0e20\u0e34\u0e3a", "\u0e12\u0e4e", "\u0e06\u0e33\u0e49\u0e39", "\u0e10\u0e37\u0e48\u0e39", "\u0e18\u0e34\u0e47\u0e39", "\u0e08\u0e4d", "\u0e0f\u0e48", "\u0e21\u0e34\u0e39", "\u0e29\u0e36\u0e47\u0e38", "\u0e12\u0e33\u0e47\u0e39", "\u0e0d\u0e49\u0e39", "\u0e0c\u0e31\u0e48\u0e38", "\u0e2b\u0e31\u0e49", "\u0e0d\u0e35\u0e47\u0e39", "\u0e28\u0e35\u0e4a\u0e39", "\u0e1f\u0e33\u0e3a", "\u0e05\u0e37\u0e4a\u0e38", "\u0e16\u0e35\u0e4a", "\u0e1c\u0e4a\u0e39", "\u0e13\u0e37\u0e4d\u0e38", "\u0e1a\u0e34\u0e4d\u0e3a", "\u0e1b\u0e31\u0e4c\u0e39", "\u0e0e\u0e36\u0e4e\u0e3a", "\u0e2b\u0e37\u0e4b\u0e39", "\u0e0c\u0e4c", "\u0e11\u0e34\u0e4d\u0e38", "\u0e27\u0e49\u0e39", "\u0e04\u0e33\u0e4c", "\u0e1d\u0e34\u0e48\u0e3a", "\u0e0f\u0e34\u0e4e", "\u0e0d\u0e35\u0e49\u0e3a", "\u0e0d\u0e37\u0e4d\u0e39", "\u0e14\u0e4c\u0e3a", "\u0e14\u0e36\u0e4b\u0e39", "\u0e15\u0e37\u0e4c\u0e39", "\u0e0d\u0e35\u0e49\u0e38", "\u0e19\u0e36\u0e4d\u0e39", "\u0e12\u0e31\u0e4b", "\u0e17\u0e33\u0e49\u0e38", "\u0e0f\u0e37\u0e4b", "\u0e29\u0e36\u0e4c\u0e3a", "\u0e14\u0e47\u0e3a", "\u0e20\u0e36\u0e4b\u0e39", "\u0e27\u0e49\u0e3a", "\u0e1c\u0e33\u0e38", "\u0e06\u0e36\u0e4d\u0e3a", "\u0e25\u0e34\u0e4e\u0e38", "\u0e12\u0e37\u0e47\u0e38", "\u0e03\u0e36\u0e4a\u0e38", "\u0e2c\u0e4b\u0e3a", "\u0e15\u0e31\u0e4b", "\u0e16\u0e34\u0e48\u0e3a", "\u0e08\u0e34\u0e4c", "\u0e04\u0e4d\u0e3a", "\u0e1f\u0e33\u0e48\u0e39", "\u0e06\u0e34\u0e4b\u0e3a", "\u0e0d\u0e37\u0e4a", "\u0e0e\u0e36\u0e4c\u0e38", "\u0e2e\u0e34\u0e48\u0e38", "\u0e12\u0e39", "\u0e16\u0e33\u0e4a\u0e39", "\u0e25\u0e37\u0e4e\u0e39", "\u0e06\u0e37\u0e4e\u0e38", "\u0e2b\u0e31\u0e48", "\u0e06\u0e31\u0e4a", "\u0e13\u0e31\u0e47", "\u0e28\u0e34\u0e4e", "\u0e1f\u0e4e", "\u0e1d\u0e33\u0e4c", "\u0e15\u0e34\u0e47", "\u0e0c\u0e48\u0e3a", "\u0e0b\u0e37\u0e49\u0e3a", "\u0e0b\u0e31\u0e48\u0e3a", "\u0e19\u0e31\u0e4b\u0e38", "\u0e1f\u0e31\u0e49\u0e38", "\u0e1c\u0e36\u0e48\u0e38", "\u0e21\u0e31\u0e4b\u0e3a", "\u0e16\u0e31\u0e49\u0e39", "\u0e1e\u0e36\u0e49", "\u0e0b\u0e34\u0e48\u0e39", "\u0e0b\u0e49\u0e38", "\u0e12\u0e4e\u0e3a", "\u0e13\u0e39", "\u0e1f\u0e34\u0e49\u0e3a", "\u0e2b\u0e34\u0e4e", "\u0e2b\u0e33\u0e4d\u0e3a", "\u0e05\u0e37\u0e47\u0e3a", "\u0e2b\u0e36\u0e4d\u0e3a", "\u0e29\u0e47\u0e39", "\u0e17\u0e37\u0e49\u0e3a", "\u0e2d\u0e33\u0e4d\u0e38", "\u0e1d\u0e37\u0e4e\u0e3a", "\u0e1a\u0e34\u0e4c\u0e39", "\u0e08\u0e36\u0e47\u0e38", "\u0e1f\u0e4a\u0e38", "\u0e27\u0e4a", "\u0e20\u0e33\u0e48\u0e38", "\u0e12\u0e33\u0e39", "\u0e1a\u0e35\u0e4d\u0e38", "\u0e05\u0e37\u0e4e\u0e39", "\u0e1c\u0e4c\u0e39", "\u0e15\u0e33\u0e4e\u0e3a", "\u0e27\u0e31\u0e4c\u0e3a", "\u0e27\u0e33\u0e4e\u0e38", "\u0e15\u0e31\u0e4b\u0e3a", "\u0e2e\u0e34\u0e4a\u0e38", "\u0e11\u0e34\u0e38", "\u0e04\u0e31", "\u0e1c\u0e34\u0e4d\u0e38", "\u0e10\u0e35\u0e4b\u0e39", "\u0e19\u0e34\u0e4b", "\u0e0f\u0e34", "\u0e1a\u0e4a\u0e3a", "\u0e20\u0e33\u0e38", "\u0e22\u0e36\u0e4c\u0e3a", "\u0e0d\u0e33\u0e38", "\u0e0c\u0e31\u0e4b\u0e3a", "\u0e14\u0e31\u0e4c\u0e3a", "\u0e1d\u0e33\u0e4d\u0e3a", "\u0e02\u0e31\u0e47", "\u0e07\u0e35\u0e39", "\u0e2b\u0e36\u0e4d\u0e39", "\u0e10\u0e31\u0e4a", "\u0e04\u0e35\u0e4c\u0e39", "\u0e29\u0e36\u0e3a", "\u0e05\u0e31\u0e39", "\u0e13\u0e49\u0e3a", "\u0e04\u0e34\u0e48\u0e38", "\u0e20\u0e37\u0e47\u0e39", "\u0e1e\u0e47\u0e3a", "\u0e2a\u0e34\u0e38", "\u0e09\u0e4c\u0e38", "\u0e06\u0e33\u0e47\u0e39", "\u0e15\u0e33\u0e4d\u0e39", "\u0e1b\u0e36\u0e47\u0e3a", "\u0e29\u0e31\u0e49\u0e39", "\u0e02\u0e49\u0e3a", "\u0e09\u0e36\u0e4b\u0e3a", "\u0e0c\u0e36\u0e47\u0e38", "\u0e08\u0e36\u0e4a\u0e3a", "\u0e0a\u0e34\u0e47\u0e39", "\u0e0c\u0e34\u0e48\u0e38", "\u0e0b\u0e34\u0e3a", "\u0e1e\u0e31\u0e4c\u0e3a", "\u0e12\u0e34\u0e4a", "\u0e1a\u0e37\u0e4e\u0e38", "\u0e10\u0e36\u0e38", "\u0e13\u0e34\u0e4d", "\u0e15\u0e35\u0e4c\u0e39", "\u0e20\u0e34\u0e4a\u0e3a", "\u0e2b\u0e36\u0e48\u0e3a", "\u0e05\u0e31\u0e4d\u0e3a", "\u0e1b\u0e33", "\u0e2e\u0e49\u0e39", "\u0e10\u0e35\u0e4a\u0e38", "\u0e1c\u0e35\u0e4e", "\u0e07\u0e36\u0e49\u0e38", "\u0e07\u0e4b", "\u0e03\u0e34\u0e4e\u0e38", "\u0e21\u0e33\u0e4b\u0e39", "\u0e04\u0e4c\u0e3a", "\u0e29\u0e33\u0e48", "\u0e1a\u0e4a\u0e39", "\u0e0c\u0e37\u0e4e\u0e39", "\u0e06\u0e36\u0e49\u0e3a", "\u0e09\u0e33\u0e4d\u0e39", "\u0e27\u0e35\u0e4b\u0e38", "\u0e13\u0e31\u0e38", "\u0e28\u0e33\u0e48\u0e38", "\u0e2d\u0e35\u0e4c\u0e39", "\u0e05\u0e36\u0e4d\u0e38", "\u0e03\u0e37\u0e4b\u0e38", "\u0e02\u0e33\u0e4e\u0e38", "\u0e0a\u0e31\u0e47\u0e39", "\u0e2a\u0e34\u0e3a", "\u0e28\u0e48\u0e38", "\u0e29\u0e34\u0e4d", "\u0e16\u0e37\u0e4d\u0e3a", "\u0e29\u0e35\u0e4a\u0e3a", "\u0e01\u0e31\u0e39", "\u0e23\u0e33\u0e4d\u0e3a", "\u0e2a\u0e31\u0e49\u0e39", "\u0e18\u0e4c\u0e39", "\u0e0c\u0e35\u0e48\u0e38", "\u0e23\u0e37\u0e4e\u0e38", "\u0e19\u0e34\u0e49", "\u0e20\u0e35\u0e4d\u0e38", "\u0e0d\u0e35\u0e48", "\u0e20\u0e39", "\u0e18\u0e4c\u0e3a", "\u0e20\u0e35\u0e47\u0e38", "\u0e0e\u0e31\u0e4c", "\u0e1d\u0e36\u0e4b", "\u0e09\u0e4d\u0e38", "\u0e05\u0e35\u0e47\u0e3a", "\u0e06\u0e48\u0e39", "\u0e29\u0e36\u0e47\u0e3a", "\u0e1b\u0e35\u0e47\u0e38", "\u0e16\u0e35\u0e4b\u0e3a", "\u0e0e\u0e37\u0e38", "\u0e27\u0e36", "\u0e1a\u0e31\u0e49\u0e38", "\u0e06\u0e36\u0e48\u0e3a", "\u0e03\u0e35\u0e48", "\u0e2a\u0e34\u0e4d\u0e3a", "\u0e0a\u0e37\u0e49\u0e3a", "\u0e1d\u0e4b\u0e38", "\u0e02\u0e31\u0e4d\u0e39", "\u0e20\u0e31\u0e48\u0e3a", "\u0e1a\u0e35\u0e47\u0e3a", "\u0e17\u0e48\u0e3a", "\u0e13\u0e48\u0e38", "\u0e08\u0e4a\u0e3a", "\u0e0e\u0e4a", "\u0e1b\u0e36\u0e4b\u0e3a", "\u0e19\u0e37\u0e4c", "\u0e20\u0e34\u0e47", "\u0e14\u0e36\u0e4c\u0e39", "\u0e0d\u0e31\u0e48\u0e39", "\u0e2c\u0e33\u0e49\u0e38", "\u0e1f\u0e35\u0e47\u0e39", "\u0e0e\u0e35", "\u0e29\u0e47\u0e38", "\u0e0e\u0e34\u0e4d\u0e39", "\u0e12\u0e4b\u0e3a", "\u0e20\u0e35\u0e4c\u0e3a", "\u0e19\u0e35\u0e4d\u0e38", "\u0e2a\u0e37\u0e3a", "\u0e14\u0e33\u0e4e", "\u0e28\u0e34\u0e4c\u0e3a", "\u0e03\u0e35\u0e4b\u0e3a", "\u0e18\u0e37\u0e4a\u0e3a", "\u0e21\u0e36\u0e47", "\u0e28\u0e4c\u0e39", "\u0e2a\u0e31\u0e48\u0e39", "\u0e03\u0e31\u0e4c\u0e39", "\u0e05\u0e34\u0e4d", "\u0e04\u0e35\u0e4b\u0e38", "\u0e02\u0e37\u0e4e", "\u0e12\u0e35\u0e4a", "\u0e01\u0e31\u0e4e", "\u0e22\u0e35\u0e4c\u0e3a", "\u0e0c\u0e35\u0e47", "\u0e1d\u0e31\u0e4c\u0e3a", "\u0e13\u0e33\u0e4b\u0e39", "\u0e1b\u0e35\u0e4c\u0e38", "\u0e0f\u0e33\u0e49\u0e39", "\u0e2d\u0e36", "\u0e13\u0e4b", "\u0e14\u0e37\u0e47\u0e38", "\u0e19\u0e35\u0e4c\u0e3a", "\u0e2c\u0e37\u0e4b\u0e39", "\u0e18\u0e36\u0e39", "\u0e10\u0e36\u0e47\u0e39", "\u0e0a\u0e37\u0e3a", "\u0e15\u0e4c", "\u0e15\u0e31\u0e4d\u0e3a", "\u0e0a\u0e4d\u0e38", "\u0e11\u0e31\u0e47\u0e38", "\u0e2a\u0e33\u0e47\u0e39", "\u0e2d\u0e35\u0e48", "\u0e0f\u0e33\u0e49\u0e38", "\u0e0e\u0e4e", "\u0e2c\u0e34\u0e4d\u0e39", "\u0e14\u0e34\u0e4b\u0e39", "\u0e03\u0e37\u0e4d\u0e38", "\u0e28\u0e34\u0e4e\u0e3a", "\u0e27\u0e31\u0e47\u0e39", "\u0e0a\u0e33\u0e4b\u0e39", "\u0e11\u0e37\u0e4b", "\u0e13\u0e34\u0e4b\u0e38", "\u0e03\u0e49\u0e38", "\u0e2e\u0e37\u0e4c\u0e38", "\u0e05\u0e34\u0e4b\u0e38", "\u0e25\u0e35\u0e48\u0e39", "\u0e13\u0e35\u0e48\u0e38", "\u0e27\u0e37\u0e4e\u0e38", "\u0e11\u0e31\u0e48\u0e38", "\u0e16\u0e33\u0e4a\u0e38", "\u0e1c\u0e49", "\u0e04\u0e33\u0e4b\u0e38", "\u0e17\u0e35\u0e4d\u0e3a", "\u0e15\u0e34\u0e4c\u0e39", "\u0e0a\u0e34\u0e4e\u0e3a", "\u0e12\u0e35", "\u0e1a\u0e31\u0e4b\u0e39", "\u0e0d\u0e4d\u0e39", "\u0e2c\u0e36\u0e49", "\u0e1c\u0e4c", "\u0e2c\u0e33\u0e4a", "\u0e17\u0e35\u0e4c\u0e39", "\u0e01\u0e34\u0e3a", "\u0e1c\u0e34\u0e4c", "\u0e11\u0e33\u0e4a\u0e3a", "\u0e08\u0e35\u0e4d", "\u0e02\u0e35\u0e4b\u0e39", "\u0e2b\u0e33\u0e4d", "\u0e15\u0e4a\u0e3a", "\u0e03\u0e37\u0e39", "\u0e1b\u0e34\u0e4b\u0e38", "\u0e2c\u0e37\u0e47\u0e38", "\u0e01\u0e35\u0e47\u0e3a", "\u0e0c\u0e34\u0e4b\u0e38", "\u0e08\u0e34\u0e49\u0e38", "\u0e1a", "\u0e22\u0e33\u0e4d\u0e38", "\u0e18\u0e33\u0e4d\u0e38", "\u0e08\u0e37\u0e4b\u0e3a", "\u0e01\u0e34\u0e4d\u0e39", "\u0e28\u0e35\u0e49", "\u0e05\u0e33\u0e39", "\u0e20\u0e34\u0e4d\u0e38", "\u0e28\u0e34\u0e4b\u0e39", "\u0e02\u0e31\u0e4c\u0e39", "\u0e05\u0e31\u0e4b\u0e39", "\u0e02\u0e35\u0e4a\u0e3a", "\u0e22\u0e37\u0e4d", "\u0e2b\u0e33\u0e4a", "\u0e22\u0e34\u0e47\u0e38", "\u0e2b\u0e38", "\u0e2b\u0e34\u0e48\u0e3a", "\u0e04\u0e35\u0e47\u0e39", "\u0e19\u0e35", "\u0e14\u0e33\u0e4a\u0e38", "\u0e0f\u0e34\u0e39", "\u0e2e\u0e35\u0e48\u0e3a", "\u0e2b\u0e33\u0e4d\u0e39", "\u0e11\u0e33\u0e4d\u0e39", "\u0e22\u0e36\u0e4c\u0e38", "\u0e0e\u0e36\u0e49\u0e3a", "\u0e17\u0e47\u0e3a", "\u0e12\u0e37\u0e4e\u0e3a", "\u0e16\u0e31\u0e4e\u0e38", "\u0e01\u0e37\u0e4c", "\u0e0c\u0e47", "\u0e01\u0e33\u0e4c", "\u0e29\u0e37\u0e4a\u0e39", "\u0e17\u0e35\u0e47", "\u0e27\u0e33\u0e4b\u0e39", "\u0e0c\u0e37\u0e4c", "\u0e1a\u0e34\u0e4a\u0e3a", "\u0e03\u0e4a", "\u0e0d\u0e34\u0e4b\u0e38", "\u0e05\u0e34\u0e4d\u0e3a", "\u0e09\u0e31\u0e49\u0e3a", "\u0e25\u0e31\u0e4d\u0e38", "\u0e2c\u0e35\u0e47\u0e39", "\u0e08\u0e36\u0e3a", "\u0e22\u0e34\u0e48\u0e3a", "\u0e27\u0e35\u0e4e\u0e38", "\u0e15\u0e31\u0e47\u0e38", "\u0e0f\u0e35\u0e4d\u0e39", "\u0e20\u0e35\u0e4a\u0e38", "\u0e27\u0e37\u0e4c\u0e3a", "\u0e11", "\u0e03\u0e34\u0e4b", "\u0e07\u0e37\u0e4e\u0e39", "\u0e1e\u0e37\u0e47", "\u0e03\u0e37\u0e49\u0e39", "\u0e14\u0e35\u0e49\u0e39", "\u0e07\u0e36\u0e4c", "\u0e1c\u0e33\u0e49\u0e39", "\u0e29\u0e31\u0e4e", "\u0e0f\u0e33\u0e4b\u0e39", "\u0e28\u0e35\u0e4d\u0e3a", "\u0e1a\u0e35\u0e4b\u0e39", "\u0e1f\u0e35\u0e4c\u0e39", "\u0e0c\u0e35\u0e3a", "\u0e27\u0e34\u0e4a\u0e39", "\u0e1e\u0e33\u0e48", "\u0e09\u0e36\u0e4b", "\u0e1e\u0e36\u0e4d\u0e39", "\u0e1d\u0e34\u0e4b", "\u0e0c\u0e35\u0e4b\u0e3a", "\u0e20\u0e35\u0e49\u0e39", "\u0e08\u0e31\u0e4e\u0e39", "\u0e2c\u0e48", "\u0e1a\u0e36\u0e4b\u0e3a", "\u0e25\u0e4c\u0e39", "\u0e2a\u0e37\u0e38", "\u0e1b\u0e31\u0e4b\u0e39", "\u0e10\u0e31\u0e4d", "\u0e07\u0e34\u0e4d\u0e3a", "\u0e09\u0e4c", "\u0e14\u0e34\u0e4c", "\u0e14\u0e31\u0e48", "\u0e0f\u0e34\u0e4c\u0e39", "\u0e16\u0e36\u0e48\u0e39", "\u0e0f\u0e37\u0e48\u0e39", "\u0e1e\u0e49\u0e3a", "\u0e28\u0e37\u0e4b\u0e39", "\u0e13\u0e34\u0e4e\u0e3a", "\u0e2b\u0e33\u0e4c", "\u0e0b\u0e33\u0e48\u0e39", "\u0e28\u0e35\u0e48\u0e38", "\u0e0f\u0e35\u0e4a\u0e3a", "\u0e29\u0e37\u0e4a\u0e3a", "\u0e0d\u0e49\u0e38", "\u0e03\u0e36\u0e4e\u0e3a", "\u0e16\u0e35\u0e4a\u0e3a", "\u0e1c\u0e31\u0e3a", "\u0e0a\u0e31\u0e4e", "\u0e02\u0e4a", "\u0e09\u0e37\u0e4c\u0e38", "\u0e0d\u0e36\u0e4b", "\u0e01\u0e4e", "\u0e09\u0e4c\u0e39", "\u0e0c\u0e31\u0e47\u0e39", "\u0e08\u0e31\u0e4a\u0e39", "\u0e01\u0e36\u0e4e\u0e39", "\u0e0b\u0e34\u0e48\u0e38", "\u0e1c\u0e37\u0e4e\u0e38", "\u0e17\u0e48", "\u0e0f\u0e34\u0e47\u0e39", "\u0e19\u0e31\u0e4a", "\u0e0a\u0e33\u0e4b\u0e38", "\u0e23\u0e49\u0e3a", "\u0e10\u0e49\u0e38", "\u0e0b\u0e34\u0e4d", "\u0e22\u0e48\u0e39", "\u0e0f\u0e33\u0e48\u0e39", "\u0e27\u0e35\u0e4a\u0e38", "\u0e20\u0e33\u0e4a\u0e3a", "\u0e25\u0e31\u0e4a\u0e38", "\u0e2d\u0e37\u0e3a", "\u0e14\u0e33\u0e39", "\u0e10\u0e36\u0e49\u0e39", "\u0e16\u0e37\u0e4a", "\u0e08\u0e37\u0e4e\u0e39", "\u0e2e\u0e33\u0e4e", "\u0e08\u0e37\u0e4c", "\u0e0d\u0e31\u0e48", "\u0e17\u0e33\u0e4d\u0e3a", "\u0e29\u0e34\u0e4a\u0e3a", "\u0e1c\u0e36\u0e49\u0e3a", "\u0e28\u0e33\u0e49\u0e39", "\u0e15\u0e4b\u0e3a", "\u0e23\u0e37\u0e48\u0e39", "\u0e29\u0e34\u0e47\u0e3a", "\u0e0f\u0e3a", "\u0e28\u0e35\u0e4d\u0e39", "\u0e03\u0e4d\u0e39", "\u0e1f\u0e38", "\u0e1e\u0e37\u0e49\u0e3a", "\u0e17\u0e36\u0e47\u0e39", "\u0e1d\u0e31\u0e3a", "\u0e1c\u0e33\u0e4e\u0e38", "\u0e0a\u0e35\u0e4d\u0e39", "\u0e20\u0e4b\u0e39", "\u0e05\u0e36\u0e47", "\u0e1d\u0e34\u0e47\u0e39", "\u0e0d\u0e36\u0e48\u0e39", "\u0e1a\u0e34\u0e4a\u0e38", "\u0e1e\u0e33\u0e47\u0e3a", "\u0e2b\u0e36\u0e4b\u0e3a", "\u0e17\u0e37\u0e4e\u0e39", "\u0e08\u0e4b\u0e38", "\u0e2a\u0e33\u0e4c\u0e39", "\u0e16\u0e31\u0e39", "\u0e19\u0e4b\u0e3a", "\u0e2c\u0e31\u0e4d\u0e39", "\u0e27\u0e33\u0e48", "\u0e28\u0e36\u0e4e", "\u0e08\u0e4c\u0e38", "\u0e01\u0e36\u0e49\u0e3a", "\u0e03\u0e35\u0e38", "\u0e0a\u0e37\u0e48\u0e39", "\u0e05\u0e36\u0e47\u0e3a", "\u0e1e\u0e33\u0e4b\u0e38", "\u0e1c\u0e34\u0e49\u0e3a", "\u0e29\u0e31\u0e4a\u0e39", "\u0e0e\u0e31\u0e4d\u0e39", "\u0e1e\u0e37\u0e4c\u0e3a", "\u0e2d\u0e36\u0e4d\u0e3a", "\u0e14\u0e31\u0e4d\u0e38", "\u0e0c\u0e36\u0e47\u0e39", "\u0e1a\u0e33\u0e4a\u0e3a", "\u0e1b\u0e37\u0e4b\u0e38", "\u0e08\u0e35", "\u0e2b\u0e34\u0e4b\u0e39", "\u0e17\u0e36\u0e48", "\u0e03\u0e37\u0e48\u0e38", "\u0e1c\u0e37\u0e4a\u0e38", "\u0e0e\u0e4c", "\u0e07\u0e35\u0e4c\u0e39", "\u0e1d\u0e35\u0e4b", "\u0e0c\u0e35\u0e4c\u0e38", "\u0e1e\u0e4c\u0e3a", "\u0e0d\u0e36\u0e4d\u0e3a", "\u0e20\u0e47\u0e3a", "\u0e05\u0e33\u0e4c\u0e39", "\u0e16\u0e35\u0e4d\u0e3a", "\u0e2a\u0e37\u0e47\u0e38", "\u0e07\u0e33\u0e4c\u0e38", "\u0e04\u0e35\u0e49\u0e38", "\u0e06\u0e31\u0e3a", "\u0e23\u0e48\u0e39", "\u0e29\u0e36\u0e4b", "\u0e1f\u0e35\u0e47", "\u0e2d\u0e37\u0e49\u0e3a", "\u0e0c\u0e34\u0e4e\u0e3a", "\u0e19\u0e33\u0e47", "\u0e29\u0e33", "\u0e22\u0e35\u0e48\u0e3a", "\u0e0f\u0e34\u0e48\u0e38", "\u0e2c\u0e31\u0e49\u0e39", "\u0e04\u0e36\u0e48\u0e39", "\u0e29\u0e34\u0e47\u0e39", "\u0e04\u0e31\u0e4b\u0e38", "\u0e27\u0e4e\u0e38", "\u0e11\u0e35\u0e4a\u0e39", "\u0e2c\u0e34\u0e4d\u0e3a", "\u0e0f\u0e36\u0e4a\u0e38", "\u0e05\u0e33\u0e4b\u0e39", "\u0e28\u0e33\u0e4e\u0e38", "\u0e20\u0e33\u0e47\u0e39", "\u0e2a\u0e3a", "\u0e0f\u0e34\u0e48", "\u0e03\u0e31\u0e4c\u0e3a", "\u0e1d\u0e37\u0e4d\u0e39", "\u0e2a\u0e36\u0e48", "\u0e0c\u0e4e\u0e39", "\u0e1f\u0e35\u0e4e\u0e3a", "\u0e22\u0e38", "\u0e0a\u0e4c\u0e38", "\u0e1e\u0e33\u0e49\u0e3a", "\u0e2c\u0e31\u0e4b\u0e3a", "\u0e16\u0e31\u0e4c\u0e38", "\u0e03\u0e33\u0e49\u0e3a", "\u0e17\u0e37\u0e48\u0e39", "\u0e17\u0e31\u0e4b", "\u0e1e\u0e34\u0e4c\u0e38", "\u0e15\u0e36\u0e47\u0e39", "\u0e28\u0e35\u0e4e\u0e3a", "\u0e17\u0e31\u0e4d\u0e3a", "\u0e01\u0e34\u0e38", "\u0e2d\u0e31\u0e4a\u0e39", "\u0e0c\u0e33\u0e4c\u0e3a", "\u0e1d\u0e36\u0e4e\u0e3a", "\u0e0d\u0e33\u0e4c", "\u0e0c\u0e33\u0e4e\u0e39", "\u0e2e\u0e36\u0e4d", "\u0e07\u0e33\u0e4d\u0e38", "\u0e22\u0e35\u0e4a", "\u0e27\u0e39", "\u0e18", "\u0e19\u0e33\u0e4b\u0e39", "\u0e08\u0e4e", "\u0e14\u0e34\u0e48\u0e3a", "\u0e06\u0e4d\u0e39", "\u0e22\u0e33\u0e39", "\u0e04\u0e31\u0e4e\u0e38", "\u0e2d\u0e31\u0e4b\u0e38", "\u0e0a\u0e36\u0e4e\u0e38", "\u0e1d\u0e36\u0e49\u0e38", "\u0e08\u0e4a\u0e39", "\u0e06\u0e35\u0e48\u0e38", "\u0e21\u0e36\u0e39", "\u0e1b\u0e31\u0e4c", "\u0e0c\u0e33\u0e47", "\u0e17\u0e4c\u0e39", "\u0e06\u0e34\u0e4c", "\u0e0b\u0e33\u0e4b\u0e39", "\u0e19\u0e37\u0e4b\u0e39", "\u0e1b\u0e35\u0e4b\u0e38", "\u0e1b\u0e33\u0e48\u0e3a", "\u0e17\u0e35\u0e4a\u0e3a", "\u0e23\u0e36\u0e4e", "\u0e23\u0e31\u0e4d\u0e39", "\u0e12\u0e4c\u0e39", "\u0e23\u0e36\u0e4b\u0e3a", "\u0e18\u0e37\u0e4c\u0e3a", "\u0e1a\u0e36\u0e47\u0e38", "\u0e1c", "\u0e04\u0e33\u0e47", "\u0e02\u0e31\u0e4a\u0e38", "\u0e17\u0e37\u0e4d\u0e39", "\u0e1d\u0e34\u0e48\u0e39", "\u0e2c\u0e35\u0e4e", "\u0e21\u0e33\u0e4e", "\u0e18\u0e37\u0e4d\u0e39", "\u0e1a\u0e4e\u0e39", "\u0e0e\u0e37", "\u0e2d\u0e37\u0e4a\u0e39", "\u0e09\u0e37\u0e4b", "\u0e07\u0e31\u0e49\u0e3a", "\u0e02\u0e33\u0e3a", "\u0e2a\u0e4a\u0e3a", "\u0e29\u0e37\u0e4e\u0e39", "\u0e2e\u0e37\u0e4d\u0e39", "\u0e04\u0e48\u0e38", "\u0e01\u0e4d\u0e39", "\u0e1b\u0e37\u0e3a", "\u0e0f\u0e36\u0e4b", "\u0e0d\u0e31\u0e49\u0e3a", "\u0e2e\u0e31\u0e47", "\u0e1a\u0e31\u0e4c\u0e39", "\u0e18\u0e33\u0e48", "\u0e03\u0e34\u0e4b\u0e3a", "\u0e12\u0e37\u0e47\u0e39", "\u0e1b\u0e31\u0e47", "\u0e23\u0e34\u0e4e\u0e3a", "\u0e13\u0e31\u0e4b\u0e38", "\u0e2c\u0e37\u0e47", "\u0e10\u0e36\u0e48", "\u0e05\u0e4e", "\u0e1d\u0e34\u0e49\u0e39", "\u0e06\u0e37\u0e3a", "\u0e15\u0e33\u0e3a", "\u0e2b\u0e35\u0e4e\u0e3a", "\u0e21\u0e37\u0e4b\u0e39", "\u0e15\u0e37\u0e4e", "\u0e01\u0e37\u0e49", "\u0e18\u0e36\u0e4c\u0e3a", "\u0e18\u0e36\u0e49\u0e3a", "\u0e0d\u0e34\u0e49\u0e38", "\u0e25\u0e31\u0e4a", "\u0e2a\u0e31\u0e49", "\u0e0d\u0e31\u0e47", "\u0e10\u0e35\u0e48\u0e38", "\u0e22\u0e31\u0e4b\u0e3a", "\u0e2c\u0e33\u0e4e\u0e38", "\u0e1a\u0e34\u0e4e\u0e3a", "\u0e29\u0e33\u0e4a\u0e3a", "\u0e0a\u0e37\u0e47", "\u0e1e\u0e33\u0e4a\u0e3a", "\u0e2c\u0e36\u0e4c\u0e3a", "\u0e16\u0e37\u0e4e\u0e39", "\u0e0d\u0e31\u0e4c\u0e3a", "\u0e2a\u0e37\u0e4c\u0e39", "\u0e15\u0e35\u0e4d\u0e39", "\u0e0e\u0e34\u0e4a\u0e3a", "\u0e04\u0e31\u0e4e\u0e39", "\u0e2b\u0e33\u0e49\u0e38", "\u0e19\u0e4a\u0e3a", "\u0e04\u0e37\u0e4d\u0e38", "\u0e1f\u0e4a", "\u0e0d\u0e33", "\u0e1e\u0e31\u0e4e\u0e38", "\u0e10\u0e33\u0e39", "\u0e1d\u0e35\u0e48", "\u0e16\u0e36", "\u0e01\u0e31\u0e48\u0e38", "\u0e20\u0e34\u0e4c\u0e38", "\u0e04\u0e33\u0e47\u0e38", "\u0e18\u0e37\u0e4c\u0e39", "\u0e05\u0e33\u0e47\u0e38", "\u0e11\u0e31\u0e4a\u0e3a", "\u0e2c\u0e4a\u0e39", "\u0e1b\u0e36\u0e38", "\u0e20\u0e33\u0e3a", "\u0e2c\u0e37\u0e39", "\u0e2c\u0e47", "\u0e21\u0e37\u0e47", "\u0e0e\u0e31\u0e48\u0e3a", "\u0e1c\u0e36\u0e48", "\u0e0b\u0e35\u0e49\u0e38", "\u0e04\u0e34\u0e3a", "\u0e17\u0e33\u0e4c\u0e38", "\u0e20\u0e37\u0e4b", "\u0e19\u0e36\u0e47", "\u0e27\u0e38", "\u0e02\u0e35\u0e4b\u0e3a", "\u0e2a\u0e35\u0e4a\u0e39", "\u0e2b\u0e35\u0e4e\u0e39", "\u0e1f\u0e35\u0e4b\u0e38", "\u0e27\u0e31\u0e4c\u0e38", "\u0e18\u0e33\u0e4a\u0e39", "\u0e1e\u0e31\u0e4d\u0e39", "\u0e18\u0e35\u0e49", "\u0e25\u0e37\u0e4a", "\u0e17\u0e37\u0e48", "\u0e06\u0e34\u0e48\u0e38", "\u0e1e\u0e33\u0e4b\u0e39", "\u0e0e\u0e36\u0e4c\u0e39", "\u0e06\u0e34\u0e4d\u0e39", "\u0e2d\u0e37\u0e47", "\u0e21\u0e33\u0e4d\u0e3a", "\u0e1e\u0e35\u0e39", "\u0e23\u0e33\u0e49", "\u0e16\u0e34\u0e4c", "\u0e15\u0e37\u0e49\u0e38", "\u0e2d\u0e36\u0e4c\u0e38", "\u0e11\u0e31\u0e49\u0e38", "\u0e03\u0e34\u0e48\u0e3a", "\u0e1e\u0e36\u0e48\u0e38", "\u0e21\u0e31\u0e4e\u0e39", "\u0e0c\u0e35\u0e4d", "\u0e21\u0e34\u0e4e\u0e38", "\u0e22\u0e34\u0e49\u0e38", "\u0e13\u0e37\u0e4c\u0e3a", "\u0e2c\u0e4c\u0e39", "\u0e11\u0e36\u0e4b\u0e39", "\u0e2b\u0e33\u0e47", "\u0e20\u0e37\u0e4c\u0e39", "\u0e1c\u0e37\u0e47\u0e39", "\u0e15\u0e4d\u0e39", "\u0e03\u0e33\u0e49\u0e38", "\u0e1b\u0e34\u0e4c\u0e3a", "\u0e28\u0e35\u0e4c\u0e39", "\u0e22\u0e37\u0e47", "\u0e17\u0e36\u0e47\u0e3a", "\u0e1c\u0e31\u0e48\u0e3a", "\u0e2b\u0e34\u0e4d\u0e38", "\u0e0b\u0e31\u0e4d\u0e3a", "\u0e2b\u0e37\u0e49\u0e39", "\u0e07\u0e35\u0e49\u0e38", "\u0e0a\u0e49", "\u0e21\u0e33\u0e39", "\u0e21\u0e34\u0e4c", "\u0e16\u0e31\u0e4b\u0e38", "\u0e25\u0e34\u0e49\u0e38", "\u0e18\u0e34\u0e4e\u0e3a", "\u0e15\u0e33\u0e4a\u0e3a", "\u0e17\u0e33\u0e4d\u0e38", "\u0e04\u0e35\u0e48\u0e3a", "\u0e02\u0e47\u0e39", "\u0e1d\u0e37\u0e47", "\u0e03\u0e37\u0e49", "\u0e03\u0e35\u0e4b", "\u0e02\u0e31\u0e4d", "\u0e28\u0e37\u0e4c\u0e39", "\u0e2d\u0e31\u0e49\u0e39", "\u0e0e\u0e37\u0e4d\u0e3a", "\u0e1d\u0e49", "\u0e01\u0e33\u0e4e\u0e39", "\u0e09\u0e33\u0e4d\u0e3a", "\u0e22\u0e36\u0e4b\u0e3a", "\u0e0f\u0e37\u0e4c\u0e39", "\u0e16\u0e35\u0e48", "\u0e0c\u0e34\u0e4b\u0e3a", "\u0e29\u0e37\u0e4d\u0e3a", "\u0e23\u0e34\u0e49", "\u0e0e\u0e35\u0e4a\u0e3a", "\u0e0e\u0e34\u0e49\u0e38", "\u0e2c\u0e36\u0e4d", "\u0e1a\u0e35\u0e4e", "\u0e09\u0e31\u0e4c", "\u0e17\u0e33\u0e4e", "\u0e21\u0e31\u0e4a", "\u0e06\u0e31\u0e48\u0e38", "\u0e29\u0e31\u0e4b\u0e39", "\u0e01\u0e37\u0e4d\u0e39", "\u0e0f\u0e34\u0e47\u0e38", "\u0e05\u0e33\u0e49\u0e3a", "\u0e2d\u0e33\u0e39", "\u0e0c\u0e34\u0e47\u0e39", "\u0e11\u0e37", "\u0e1a\u0e33\u0e4e\u0e39", "\u0e06\u0e36\u0e47\u0e3a", "\u0e0e\u0e37\u0e4c\u0e38", "\u0e15\u0e34\u0e47\u0e3a", "\u0e27\u0e37\u0e4a\u0e38", "\u0e16\u0e36\u0e39", "\u0e0e\u0e31", "\u0e0d\u0e36\u0e39", "\u0e2a\u0e31\u0e49\u0e38", "\u0e0c\u0e4a\u0e38", "\u0e10\u0e31\u0e47\u0e39", "\u0e2e\u0e37\u0e4b\u0e38", "\u0e02\u0e36\u0e49\u0e3a", "\u0e08\u0e33\u0e4d\u0e39", "\u0e03\u0e34\u0e47\u0e39", "\u0e28\u0e31", "\u0e20\u0e47\u0e39", "\u0e2a\u0e33\u0e4c", "\u0e13\u0e35\u0e4b\u0e3a", "\u0e2b\u0e3a", "\u0e25\u0e4e\u0e38", "\u0e1e\u0e35\u0e47", "\u0e20\u0e4d\u0e39", "\u0e09\u0e34\u0e4b\u0e38", "\u0e1b\u0e35\u0e4e\u0e39", "\u0e11\u0e34\u0e4c", "\u0e27\u0e34\u0e48", "\u0e04\u0e33\u0e49", "\u0e20\u0e34\u0e48\u0e38", "\u0e0e\u0e31\u0e4d\u0e38", "\u0e0e\u0e47\u0e3a", "\u0e0c\u0e37\u0e4a", "\u0e0c\u0e36\u0e4e", "\u0e1a\u0e36\u0e4b\u0e39", "\u0e17\u0e31\u0e48", "\u0e01\u0e35\u0e47", "\u0e0e\u0e34\u0e4b", "\u0e0f\u0e31\u0e48\u0e39", "\u0e2a\u0e35\u0e4b\u0e3a", "\u0e25\u0e31\u0e4d\u0e3a", "\u0e07\u0e33\u0e4c", "\u0e1c\u0e4c\u0e3a", "\u0e01\u0e31\u0e4c\u0e39", "\u0e21\u0e35\u0e4d\u0e39", "\u0e1c\u0e36\u0e4b\u0e39", "\u0e22\u0e34\u0e4c\u0e38", "\u0e01\u0e35\u0e4d\u0e38", "\u0e05\u0e4e\u0e3a", "\u0e08\u0e34\u0e49\u0e39", "\u0e28\u0e37\u0e49\u0e38", "\u0e1c\u0e4e\u0e39", "\u0e17\u0e36\u0e4b\u0e3a", "\u0e09\u0e34\u0e4b\u0e39", "\u0e27\u0e31\u0e4e", "\u0e1b\u0e34\u0e4b\u0e39", "\u0e12\u0e35\u0e48\u0e38", "\u0e06\u0e36\u0e4d", "\u0e1d\u0e31\u0e4a\u0e38", "\u0e19\u0e34\u0e48\u0e38", "\u0e29\u0e35\u0e4b", "\u0e2e\u0e4c", "\u0e2e\u0e4c\u0e39", "\u0e01\u0e36\u0e4c\u0e39", "\u0e04\u0e33\u0e48\u0e38", "\u0e28\u0e34\u0e49", "\u0e15\u0e31\u0e4e\u0e39", "\u0e2a\u0e39", "\u0e0d\u0e33\u0e4b\u0e38", "\u0e14\u0e36\u0e48\u0e38", "\u0e2c\u0e4b\u0e39", "\u0e04\u0e36\u0e4e\u0e3a", "\u0e25\u0e34\u0e4e\u0e3a", "\u0e0a\u0e31\u0e4c\u0e3a", "\u0e1b\u0e36\u0e4b\u0e38", "\u0e1f\u0e34\u0e4e\u0e38", "\u0e1c\u0e37\u0e47\u0e38", "\u0e1c\u0e49\u0e3a", "\u0e17\u0e35\u0e49\u0e3a", "\u0e28\u0e36\u0e4d", "\u0e2a\u0e33\u0e4d\u0e38", "\u0e0c\u0e33\u0e48\u0e39", "\u0e2c\u0e31\u0e39", "\u0e04\u0e36\u0e49\u0e39", "\u0e20\u0e37\u0e4e\u0e38", "\u0e13\u0e34\u0e47\u0e3a", "\u0e1a\u0e33\u0e4e\u0e3a", "\u0e0e\u0e31\u0e48\u0e39", "\u0e16\u0e33\u0e4e\u0e3a", "\u0e2a\u0e31\u0e49\u0e3a", "\u0e01\u0e31\u0e49\u0e38", "\u0e02\u0e35\u0e4a\u0e38", "\u0e18\u0e36\u0e49\u0e39", "\u0e04\u0e47\u0e3a", "\u0e2b\u0e37\u0e4c\u0e38", "\u0e0f\u0e33\u0e4c\u0e3a", "\u0e1a\u0e34\u0e4d\u0e38", "\u0e08\u0e34\u0e4b\u0e38", "\u0e12\u0e35\u0e4c\u0e39", "\u0e0b\u0e34\u0e48\u0e3a", "\u0e0b\u0e34\u0e4b\u0e3a", "\u0e0c\u0e35\u0e4b", "\u0e15\u0e36\u0e48\u0e38", "\u0e02\u0e31\u0e47\u0e39", "\u0e0e\u0e35\u0e4c", "\u0e1f\u0e37\u0e4a\u0e3a", "\u0e2a\u0e33\u0e49\u0e39", "\u0e1e\u0e36\u0e4e\u0e39", "\u0e0b\u0e31\u0e4c\u0e3a", "\u0e19\u0e36\u0e4c\u0e3a", "\u0e1b\u0e35\u0e49\u0e3a", "\u0e21\u0e35\u0e4b", "\u0e1f\u0e37\u0e48\u0e3a", "\u0e29\u0e33\u0e47\u0e38", "\u0e0e\u0e31\u0e47\u0e39", "\u0e08", "\u0e1e\u0e33\u0e4c\u0e3a", "\u0e2c\u0e4b\u0e38", "\u0e07\u0e4d\u0e3a", "\u0e05\u0e35\u0e4a\u0e3a", "\u0e0b\u0e35\u0e4b", "\u0e2a\u0e36\u0e4b", "\u0e19\u0e4d\u0e3a", "\u0e04\u0e47\u0e39", "\u0e11\u0e36\u0e47\u0e3a", "\u0e15\u0e31\u0e4e", "\u0e22\u0e35\u0e4d\u0e39", "\u0e13\u0e34\u0e49", "\u0e01\u0e47\u0e38", "\u0e28\u0e35\u0e47\u0e3a", "\u0e18\u0e35\u0e48\u0e39", "\u0e19\u0e35\u0e4e\u0e39", "\u0e0a\u0e4d", "\u0e0f\u0e36\u0e47\u0e39", "\u0e09\u0e37\u0e4e\u0e38", "\u0e05\u0e33\u0e4d\u0e39", "\u0e0e\u0e36\u0e4e\u0e39", "\u0e02\u0e34\u0e3a", "\u0e2b\u0e4a\u0e38", "\u0e2e\u0e37\u0e4e\u0e38", "\u0e0c\u0e33\u0e4b\u0e39", "\u0e04\u0e37\u0e48\u0e38", "\u0e29\u0e34\u0e4d\u0e38", "\u0e2c\u0e34\u0e48\u0e39", "\u0e27\u0e31\u0e4c\u0e39", "\u0e29\u0e37\u0e49\u0e38", "\u0e1d\u0e33\u0e4c\u0e38", "\u0e05\u0e34\u0e4a\u0e38", "\u0e15\u0e34\u0e4b\u0e38", "\u0e1c\u0e31\u0e4d\u0e39", "\u0e04\u0e37\u0e47\u0e39", "\u0e1b\u0e34\u0e4d\u0e3a", "\u0e07\u0e48", "\u0e2e\u0e36\u0e4a\u0e38", "\u0e17\u0e4e", "\u0e22\u0e37\u0e49\u0e3a", "\u0e2a\u0e36\u0e4b\u0e39", "\u0e19\u0e31\u0e4e", "\u0e27\u0e33", "\u0e08\u0e31\u0e4b\u0e3a", "\u0e13\u0e35\u0e49\u0e39", "\u0e29\u0e33\u0e4e\u0e38", "\u0e13\u0e34\u0e38", "\u0e0b\u0e33\u0e48\u0e3a", "\u0e1c\u0e33\u0e47", "\u0e05\u0e37\u0e4d", "\u0e29\u0e33\u0e4e\u0e39", "\u0e0f\u0e35\u0e47", "\u0e05\u0e35\u0e3a", "\u0e09\u0e31\u0e48\u0e3a", "\u0e0a\u0e31\u0e4a\u0e39", "\u0e0c\u0e33\u0e38", "\u0e21\u0e47\u0e39", "\u0e06\u0e35\u0e4b\u0e39", "\u0e06\u0e34\u0e48\u0e3a", "\u0e10\u0e31\u0e4d\u0e39", "\u0e1d\u0e34\u0e48", "\u0e2b\u0e35\u0e48", "\u0e28\u0e36\u0e48\u0e39", "\u0e05\u0e33\u0e4e\u0e39", "\u0e01\u0e35\u0e4b\u0e39", "\u0e06\u0e31\u0e4a\u0e3a", "\u0e1e\u0e4c", "\u0e14\u0e37\u0e4c", "\u0e09\u0e34\u0e4a", "\u0e1c\u0e36\u0e3a", "\u0e22\u0e31\u0e4b\u0e38", "\u0e09\u0e31\u0e38", "\u0e25\u0e31\u0e4c\u0e38", "\u0e23\u0e39", "\u0e0b\u0e35\u0e47\u0e3a", "\u0e2b\u0e33\u0e48", "\u0e06\u0e37\u0e4d", "\u0e02\u0e34\u0e4e\u0e39", "\u0e12\u0e35\u0e4a\u0e3a", "\u0e2e\u0e31\u0e4b\u0e3a", "\u0e1d\u0e36\u0e47\u0e38", "\u0e2b\u0e34\u0e4a", "\u0e1a\u0e37\u0e4d", "\u0e28\u0e31\u0e47\u0e3a", "\u0e16\u0e31\u0e4a\u0e3a", "\u0e25\u0e34\u0e48\u0e3a", "\u0e19\u0e4e", "\u0e0d\u0e4e", "\u0e21\u0e37\u0e4c\u0e38", "\u0e12\u0e31\u0e4b\u0e3a", "\u0e01\u0e37\u0e47\u0e39", "\u0e04\u0e48\u0e3a", "\u0e20\u0e37\u0e49\u0e39", "\u0e16\u0e34\u0e48\u0e39", "\u0e0c\u0e4a\u0e3a", "\u0e12\u0e47\u0e39", "\u0e13\u0e31\u0e4d", "\u0e04\u0e49\u0e39", "\u0e15\u0e36\u0e4a", "\u0e0b\u0e4a\u0e38", "\u0e18\u0e31\u0e4e\u0e39", "\u0e13\u0e36\u0e4e", "\u0e18\u0e4a\u0e39", "\u0e16\u0e33\u0e48\u0e38", "\u0e18\u0e35\u0e49\u0e38", "\u0e2d\u0e33\u0e49\u0e39", "\u0e2c\u0e33\u0e4b\u0e3a", "\u0e0d\u0e33\u0e47", "\u0e01\u0e31\u0e4a\u0e38", "\u0e12\u0e37\u0e4c\u0e3a", "\u0e1c\u0e36\u0e4a\u0e38", "\u0e1c\u0e37\u0e39", "\u0e1c\u0e37\u0e4b\u0e39", "\u0e01\u0e31\u0e48\u0e3a", "\u0e11\u0e31\u0e4e\u0e39", "\u0e0c\u0e37\u0e4d\u0e38", "\u0e17\u0e35\u0e47\u0e3a", "\u0e05\u0e31\u0e4a\u0e3a", "\u0e11\u0e33\u0e38", "\u0e12\u0e34\u0e39", "\u0e03\u0e34\u0e4d", "\u0e27\u0e37\u0e4c\u0e39", "\u0e2a\u0e36\u0e48\u0e3a", "\u0e0f\u0e33\u0e47\u0e39", "\u0e1f\u0e35\u0e39", "\u0e07\u0e37\u0e4d", "\u0e0f\u0e33\u0e4b\u0e3a", "\u0e0b\u0e33\u0e49\u0e3a", "\u0e0f\u0e37\u0e49", "\u0e2d\u0e34\u0e48\u0e38", "\u0e22\u0e34\u0e4a\u0e39", "\u0e2c\u0e37\u0e4a\u0e39", "\u0e16\u0e4b\u0e3a", "\u0e17\u0e31\u0e4e\u0e3a", "\u0e20\u0e35\u0e3a", "\u0e03\u0e31\u0e49\u0e39", "\u0e0a\u0e35\u0e48\u0e39", "\u0e23\u0e31\u0e4d\u0e38", "\u0e11\u0e36\u0e49\u0e39", "\u0e05\u0e36", "\u0e1a\u0e4b\u0e3a", "\u0e21\u0e36\u0e49\u0e3a", "\u0e1d\u0e33\u0e4c\u0e3a", "\u0e0e\u0e33\u0e48\u0e38", "\u0e22\u0e33\u0e4a", "\u0e0a\u0e36\u0e49\u0e3a", "\u0e15\u0e34\u0e47\u0e38", "\u0e11\u0e33\u0e4c\u0e3a", "\u0e1d\u0e33\u0e4a", "\u0e22\u0e31\u0e38", "\u0e2e\u0e31\u0e4d\u0e38", "\u0e1b\u0e48\u0e3a", "\u0e16\u0e37\u0e4e", "\u0e2d\u0e33\u0e47\u0e39", "\u0e27\u0e34\u0e4d\u0e3a", "\u0e1f\u0e31\u0e39", "\u0e02\u0e35\u0e49\u0e3a", "\u0e0d\u0e4e\u0e38", "\u0e1a\u0e36\u0e47", "\u0e09\u0e37\u0e4a\u0e38", "\u0e1c\u0e34\u0e4d\u0e3a", "\u0e23\u0e35\u0e48\u0e3a", "\u0e06\u0e36\u0e4c\u0e3a", "\u0e01\u0e31\u0e4e\u0e3a", "\u0e25\u0e34\u0e4a\u0e38", "\u0e29\u0e31\u0e48\u0e38", "\u0e04\u0e34\u0e39", "\u0e0a\u0e33\u0e4a\u0e39", "\u0e02\u0e33\u0e4a", "\u0e17\u0e36\u0e47", "\u0e23\u0e36\u0e48\u0e3a", "\u0e28\u0e34\u0e4d\u0e38", "\u0e1a\u0e31\u0e4d\u0e38", "\u0e09\u0e36\u0e39", "\u0e28\u0e33\u0e4a\u0e39", "\u0e16\u0e31\u0e4c", "\u0e0a\u0e33\u0e48", "\u0e11\u0e33\u0e49\u0e39", "\u0e17\u0e35\u0e4d\u0e38", "\u0e0a\u0e31\u0e39", "\u0e12\u0e35\u0e47\u0e3a", "\u0e03\u0e35\u0e4c", "\u0e0f\u0e35\u0e4c\u0e39", "\u0e16\u0e35\u0e38", "\u0e20\u0e34\u0e4a\u0e39", "\u0e14\u0e33\u0e4d", "\u0e18\u0e36\u0e4d\u0e39", "\u0e1e\u0e31\u0e47\u0e3a", "\u0e2e\u0e31\u0e47\u0e3a", "\u0e1b\u0e36\u0e4b", "\u0e0b\u0e31\u0e3a", "\u0e1b\u0e35\u0e4e", "\u0e08\u0e36\u0e4a\u0e38", "\u0e23\u0e35", "\u0e09\u0e35\u0e49\u0e38", "\u0e19\u0e34\u0e4e", "\u0e1f\u0e4e\u0e38", "\u0e02\u0e35", "\u0e12\u0e36\u0e4c\u0e3a", "\u0e16\u0e33\u0e47", "\u0e1f\u0e33\u0e4e\u0e3a", "\u0e09\u0e49\u0e3a", "\u0e23\u0e4c\u0e3a", "\u0e06\u0e37\u0e48\u0e39", "\u0e27\u0e35\u0e49\u0e3a", "\u0e09\u0e33\u0e48\u0e38", "\u0e2e\u0e36\u0e4d\u0e38", "\u0e03\u0e31\u0e4e", "\u0e08\u0e36\u0e48\u0e39", "\u0e0e\u0e33\u0e4e\u0e38", "\u0e27\u0e31", "\u0e01\u0e34\u0e4a\u0e38", "\u0e21\u0e33\u0e4a\u0e38", "\u0e08\u0e35\u0e4c", "\u0e20\u0e31\u0e4b\u0e3a", "\u0e18\u0e4d\u0e39", "\u0e2e\u0e33\u0e49\u0e38", "\u0e19\u0e33\u0e49\u0e38", "\u0e17\u0e34\u0e48\u0e39", "\u0e05\u0e4c", "\u0e28\u0e35\u0e3a", "\u0e25\u0e33\u0e3a", "\u0e0d\u0e33\u0e4a\u0e39", "\u0e27\u0e37\u0e4d\u0e38", "\u0e0e\u0e35\u0e48\u0e39", "\u0e23\u0e33\u0e4c\u0e39", "\u0e01\u0e37\u0e47\u0e38", "\u0e08\u0e37\u0e4a\u0e3a", "\u0e21\u0e36\u0e4d\u0e38", "\u0e07\u0e31\u0e39", "\u0e25\u0e37\u0e49", "\u0e18\u0e35\u0e3a", "\u0e04\u0e31\u0e48\u0e39", "\u0e2c\u0e35", "\u0e0f\u0e31\u0e39", "\u0e14\u0e36\u0e47\u0e39", "\u0e2a\u0e34\u0e4e", "\u0e1b\u0e37\u0e4d\u0e3a", "\u0e02\u0e3a", "\u0e10\u0e31\u0e4c\u0e39", "\u0e10\u0e37\u0e48\u0e3a", "\u0e1e\u0e37\u0e49", "\u0e22\u0e35\u0e47\u0e39", "\u0e1f\u0e35\u0e49\u0e38", "\u0e2c\u0e34\u0e4e", "\u0e11\u0e33\u0e4b\u0e38", "\u0e2b\u0e35\u0e47\u0e38", "\u0e27\u0e34\u0e4b\u0e39", "\u0e17\u0e37\u0e4e", "\u0e04\u0e37", "\u0e27\u0e37\u0e47\u0e38", "\u0e1c\u0e34\u0e3a", "\u0e2b\u0e34\u0e4c\u0e39", "\u0e02\u0e37\u0e3a", "\u0e17\u0e36\u0e47\u0e38", "\u0e10\u0e35\u0e48\u0e3a", "\u0e0a\u0e31\u0e4b\u0e39", "\u0e15\u0e33\u0e4e", "\u0e1a\u0e35\u0e4d\u0e39", "\u0e04\u0e35\u0e4e\u0e38", "\u0e2c\u0e33\u0e47\u0e3a", "\u0e29\u0e37\u0e4b\u0e38", "\u0e17\u0e31\u0e4c\u0e38", "\u0e17\u0e35\u0e48", "\u0e1a\u0e37\u0e49", "\u0e1c\u0e31\u0e4d\u0e38", "\u0e06\u0e31\u0e4c", "\u0e1c\u0e37\u0e49\u0e39", "\u0e15\u0e33\u0e4a\u0e38", "\u0e0f\u0e36\u0e48", "\u0e02\u0e33\u0e48", "\u0e27\u0e34\u0e48\u0e38", "\u0e2c\u0e36\u0e47", "\u0e1b\u0e4b\u0e38", "\u0e11\u0e34\u0e47\u0e3a", "\u0e20\u0e36\u0e4d\u0e38", "\u0e2a\u0e35\u0e4d\u0e38", "\u0e18\u0e36\u0e38", "\u0e07\u0e36\u0e4e\u0e3a", "\u0e0b\u0e35", "\u0e14\u0e34\u0e4d\u0e38", "\u0e2e\u0e33\u0e47\u0e39", "\u0e2a", "\u0e22\u0e33\u0e4d", "\u0e08\u0e31\u0e4d", "\u0e11\u0e36\u0e48\u0e3a", "\u0e1e\u0e31\u0e48\u0e38", "\u0e1c\u0e34\u0e4e\u0e39", "\u0e02\u0e33\u0e4e", "\u0e2a\u0e37\u0e48\u0e3a", "\u0e05\u0e49\u0e3a", "\u0e1c\u0e37\u0e3a", "\u0e0b\u0e37\u0e4a", "\u0e1f\u0e34\u0e4a\u0e3a", "\u0e11\u0e47", "\u0e19\u0e33\u0e4c\u0e3a", "\u0e01\u0e36\u0e4e\u0e38", "\u0e10\u0e35\u0e4b", "\u0e2d\u0e39", "\u0e14\u0e4e\u0e3a", "\u0e09\u0e35\u0e49\u0e3a", "\u0e23\u0e34\u0e49\u0e39", "\u0e28\u0e34\u0e4c", "\u0e01\u0e35\u0e47\u0e38", "\u0e1a\u0e34\u0e48\u0e38", "\u0e21\u0e36\u0e47\u0e38", "\u0e17\u0e37\u0e4c\u0e3a", "\u0e28\u0e35\u0e4a\u0e38", "\u0e1b\u0e37\u0e4c", "\u0e27\u0e34\u0e4b", "\u0e02\u0e36\u0e4e\u0e3a", "\u0e03\u0e37\u0e4e", "\u0e1b\u0e33\u0e4c\u0e39", "\u0e13\u0e31\u0e4b\u0e39", "\u0e0b\u0e33\u0e4b", "\u0e27\u0e37\u0e4d\u0e39", "\u0e2e\u0e34\u0e48", "\u0e0a\u0e36\u0e4e\u0e3a", "\u0e22\u0e31\u0e4e", "\u0e12\u0e31\u0e47\u0e3a", "\u0e28\u0e4c", "\u0e28\u0e31\u0e4e\u0e3a", "\u0e29\u0e37\u0e4c\u0e39", "\u0e2b\u0e35\u0e4c", "\u0e2a\u0e37\u0e47", "\u0e1c\u0e37\u0e47\u0e3a", "\u0e0b\u0e33\u0e4b\u0e3a", "\u0e23\u0e35\u0e47", "\u0e05\u0e31\u0e48", "\u0e08\u0e31\u0e4c\u0e3a", "\u0e1f\u0e35\u0e3a", "\u0e19\u0e4e\u0e38", "\u0e27\u0e31\u0e4b\u0e3a", "\u0e2a\u0e37\u0e4d\u0e39", "\u0e2b\u0e35\u0e4a\u0e39", "\u0e03\u0e34\u0e4d\u0e39", "\u0e04\u0e33", "\u0e21\u0e35\u0e49", "\u0e18\u0e4b\u0e38", "\u0e09\u0e36\u0e48\u0e3a", "\u0e19\u0e35\u0e47\u0e38", "\u0e2d\u0e37\u0e49", "\u0e1f\u0e47", "\u0e12\u0e37\u0e4e", "\u0e18\u0e37\u0e49", "\u0e05\u0e33\u0e49", "\u0e1e\u0e34\u0e4a", "\u0e29\u0e37\u0e4d", "\u0e2e\u0e49", "\u0e13\u0e37\u0e4b", "\u0e1d\u0e47\u0e39", "\u0e04\u0e31\u0e49\u0e3a", "\u0e23\u0e4e", "\u0e01\u0e37\u0e4b\u0e39", "\u0e0f\u0e34\u0e4e\u0e3a", "\u0e0b\u0e31\u0e47\u0e39", "\u0e2d\u0e33", "\u0e29\u0e33\u0e48\u0e38", "\u0e0e\u0e48\u0e38", "\u0e07\u0e33\u0e47", "\u0e19\u0e36\u0e4e", "\u0e15\u0e34\u0e48", "\u0e2a\u0e36\u0e4e\u0e3a", "\u0e09\u0e4a\u0e3a", "\u0e2d\u0e37\u0e4b", "\u0e11\u0e35\u0e48", "\u0e19\u0e34", "\u0e1c\u0e35\u0e38", "\u0e25\u0e35\u0e4e\u0e38", "\u0e12\u0e36\u0e4a\u0e3a", "\u0e08\u0e36\u0e38", "\u0e0e\u0e4d\u0e38", "\u0e14\u0e33\u0e49\u0e3a", "\u0e07\u0e33\u0e4a\u0e38", "\u0e2e\u0e33\u0e4b\u0e38", "\u0e2d\u0e34\u0e49", "\u0e0e\u0e36\u0e4e", "\u0e06\u0e34\u0e4a\u0e39", "\u0e14\u0e33\u0e4b\u0e39", "\u0e15\u0e35\u0e4a\u0e3a", "\u0e2e\u0e33\u0e47\u0e3a", "\u0e18\u0e31\u0e49\u0e3a", "\u0e27\u0e31\u0e47\u0e3a", "\u0e11\u0e4a\u0e39", "\u0e12\u0e33\u0e4a\u0e38", "\u0e02\u0e33\u0e4b\u0e3a", "\u0e2d\u0e35\u0e4b\u0e38", "\u0e28\u0e31\u0e47\u0e39", "\u0e11\u0e37\u0e4e\u0e39", "\u0e19\u0e33\u0e4d\u0e39", "\u0e1f\u0e36\u0e4e\u0e3a", "\u0e13\u0e37\u0e4e\u0e38", "\u0e1e\u0e34\u0e4b\u0e38", "\u0e2a\u0e31\u0e4d\u0e38", "\u0e27\u0e31\u0e4b\u0e39", "\u0e1d\u0e37\u0e4b", "\u0e09\u0e36\u0e4d\u0e3a", "\u0e13\u0e31\u0e48\u0e39", "\u0e23\u0e37\u0e4b\u0e3a", "\u0e0e\u0e31\u0e4c\u0e39", "\u0e15\u0e35\u0e4e\u0e38", "\u0e2c\u0e33\u0e4d\u0e3a", "\u0e21\u0e37\u0e4b\u0e3a", "\u0e01\u0e37\u0e47\u0e3a", "\u0e2b\u0e31\u0e38", "\u0e29\u0e4d\u0e38", "\u0e05\u0e31\u0e4a", "\u0e04\u0e33\u0e47\u0e3a", "\u0e15\u0e37\u0e4e\u0e39", "\u0e07\u0e36\u0e4a", "\u0e20\u0e33\u0e4a\u0e38", "\u0e05\u0e35\u0e4d\u0e39", "\u0e07\u0e35\u0e4d", "\u0e06\u0e36\u0e47", "\u0e2e\u0e33\u0e4d\u0e3a", "\u0e2d\u0e47\u0e39", "\u0e0d\u0e35\u0e4e\u0e3a", "\u0e06\u0e36\u0e48\u0e39", "\u0e29\u0e35\u0e4b\u0e3a", "\u0e22\u0e36\u0e49", "\u0e14\u0e31\u0e47", "\u0e1e\u0e31\u0e4a", "\u0e25\u0e36\u0e4b\u0e38", "\u0e02\u0e37\u0e4b", "\u0e1f\u0e35\u0e47\u0e3a", "\u0e1f\u0e34\u0e4a", "\u0e16\u0e31\u0e4e\u0e3a", "\u0e04\u0e49", "\u0e05\u0e4a", "\u0e1c\u0e36\u0e4d\u0e39", "\u0e19\u0e37\u0e4c\u0e39", "\u0e10\u0e31\u0e47\u0e3a", "\u0e0f\u0e4e", "\u0e12\u0e36\u0e48\u0e39", "\u0e18\u0e47\u0e38", "\u0e18\u0e49", "\u0e0a\u0e39", "\u0e1e\u0e34\u0e49", "\u0e27\u0e31\u0e4d", "\u0e03", "\u0e2d\u0e37\u0e48", "\u0e0f\u0e37\u0e4b\u0e3a", "\u0e12\u0e47\u0e38", "\u0e18\u0e34\u0e3a", "\u0e14\u0e33\u0e47", "\u0e1a\u0e37\u0e4a\u0e39", "\u0e16\u0e37\u0e4d\u0e38", "\u0e21\u0e37\u0e48", "\u0e1a\u0e34\u0e4b\u0e39", "\u0e02\u0e4b", "\u0e25\u0e34\u0e4a", "\u0e15\u0e34\u0e38", "\u0e1c\u0e34\u0e48\u0e39", "\u0e17\u0e31\u0e4d\u0e38", "\u0e17\u0e33\u0e4b", "\u0e25\u0e33\u0e48\u0e38", "\u0e07\u0e36\u0e4e\u0e38", "\u0e18\u0e31\u0e4d\u0e3a", "\u0e02\u0e34\u0e4c\u0e39", "\u0e07\u0e31\u0e48\u0e38", "\u0e1e\u0e31\u0e49\u0e39", "\u0e17\u0e35\u0e4b", "\u0e15\u0e33\u0e4e\u0e39", "\u0e2b\u0e31", "\u0e1c\u0e34\u0e48", "\u0e28\u0e34\u0e4b\u0e3a", "\u0e1e\u0e34\u0e48\u0e39", "\u0e1c\u0e34\u0e39", "\u0e1b\u0e34\u0e48\u0e38", "\u0e0b\u0e39", "\u0e19\u0e48\u0e38", "\u0e1c\u0e36\u0e4c\u0e3a", "\u0e11\u0e37\u0e4e", "\u0e2e\u0e31\u0e49\u0e38", "\u0e27\u0e48\u0e39", "\u0e17\u0e33\u0e4e\u0e3a", "\u0e0b\u0e48", "\u0e29\u0e31\u0e4d\u0e3a", "\u0e15\u0e31\u0e4a", "\u0e14\u0e31\u0e4a\u0e3a", "\u0e16\u0e33\u0e4c\u0e39", "\u0e08\u0e4d\u0e3a", "\u0e04\u0e35\u0e47\u0e3a", "\u0e20\u0e35\u0e4b\u0e39", "\u0e0e\u0e33\u0e4b\u0e39", "\u0e0a\u0e33\u0e49", "\u0e02\u0e37\u0e4d", "\u0e2e\u0e35\u0e47\u0e3a", "\u0e17\u0e34\u0e39", "\u0e08\u0e35\u0e4e\u0e3a", "\u0e28\u0e34\u0e4d\u0e39", "\u0e07\u0e36\u0e49", "\u0e2b\u0e37\u0e4a", "\u0e2a\u0e35\u0e4e\u0e39", "\u0e2c\u0e37\u0e49\u0e38", "\u0e12\u0e4a\u0e3a", "\u0e2d\u0e31\u0e4e\u0e39", "\u0e0b\u0e48\u0e39", "\u0e13\u0e33\u0e47\u0e38", "\u0e29\u0e33\u0e4a\u0e38", "\u0e12\u0e36\u0e49", "\u0e1e\u0e31\u0e4d", "\u0e1b\u0e47\u0e39", "\u0e20\u0e34\u0e4b\u0e39", "\u0e15\u0e37\u0e48\u0e38", "\u0e1e\u0e34\u0e4a\u0e39", "\u0e05\u0e34\u0e38", "\u0e20\u0e34\u0e4d\u0e3a", "\u0e03\u0e4b\u0e39", "\u0e1f\u0e37\u0e4c\u0e39", "\u0e11\u0e4b\u0e38", "\u0e15\u0e31\u0e4c", "\u0e25\u0e34\u0e48", "\u0e1b\u0e36\u0e47", "\u0e1b\u0e47\u0e38", "\u0e0e\u0e31\u0e38", "\u0e20\u0e31\u0e4c\u0e39", "\u0e23\u0e31\u0e4e\u0e3a", "\u0e12\u0e31\u0e4b\u0e38", "\u0e2d\u0e34\u0e4b\u0e39", "\u0e0e\u0e35\u0e4e\u0e3a", "\u0e19\u0e47", "\u0e1a\u0e35\u0e4a", "\u0e06\u0e34\u0e4e\u0e38", "\u0e23\u0e31\u0e3a", "\u0e1c\u0e36\u0e4c\u0e38", "\u0e16\u0e31\u0e4c\u0e39", "\u0e23\u0e35\u0e47\u0e39", "\u0e1e\u0e37\u0e4d", "\u0e2e\u0e37\u0e4d\u0e3a", "\u0e16\u0e36\u0e47", "\u0e04\u0e33\u0e4d\u0e39", "\u0e25\u0e35\u0e4a", "\u0e2b\u0e31\u0e48\u0e3a", "\u0e1f\u0e33\u0e48\u0e3a", "\u0e15\u0e31\u0e39", "\u0e07\u0e33\u0e4d\u0e39", "\u0e1b\u0e37\u0e49\u0e38", "\u0e0d\u0e31", "\u0e19\u0e37\u0e4e\u0e39", "\u0e2d\u0e33\u0e4d", "\u0e23\u0e36\u0e4c\u0e3a", "\u0e1f\u0e33\u0e4a\u0e39", "\u0e21\u0e47\u0e38", "\u0e23\u0e34\u0e4e\u0e38", "\u0e0f\u0e31\u0e3a", "\u0e1d\u0e31\u0e47\u0e39", "\u0e19\u0e33\u0e4a\u0e38", "\u0e2d\u0e34\u0e38", "\u0e01\u0e36\u0e4a\u0e3a", "\u0e01\u0e37\u0e48", "\u0e09\u0e33\u0e47\u0e38", "\u0e23\u0e31\u0e48\u0e38", "\u0e19\u0e31\u0e4a\u0e3a", "\u0e2d\u0e4e", "\u0e1d\u0e37", "\u0e0e\u0e33\u0e4d\u0e3a", "\u0e14\u0e39", "\u0e02\u0e36\u0e47\u0e3a", "\u0e1b\u0e31\u0e4d\u0e39", "\u0e15\u0e31\u0e4c\u0e38", "\u0e16\u0e48\u0e39", "\u0e1a\u0e35\u0e48", "\u0e1c\u0e33\u0e47\u0e38", "\u0e2b\u0e48\u0e3a", "\u0e06\u0e49\u0e38", "\u0e2a\u0e33\u0e49", "\u0e23\u0e36\u0e4a\u0e38", "\u0e25\u0e36\u0e4c\u0e3a", "\u0e0c\u0e35\u0e4b\u0e39", "\u0e23\u0e34\u0e3a", "\u0e17\u0e49\u0e3a", "\u0e29\u0e34\u0e47", "\u0e23\u0e48\u0e3a", "\u0e11\u0e37\u0e4b\u0e3a", "\u0e2c\u0e33\u0e4a\u0e3a", "\u0e0b\u0e36\u0e48\u0e3a", "\u0e06\u0e31\u0e4d\u0e39", "\u0e2e\u0e31\u0e4e\u0e39", "\u0e0d\u0e37\u0e4a\u0e3a", "\u0e25\u0e33\u0e4c\u0e38", "\u0e2a\u0e33\u0e47\u0e38", "\u0e1d\u0e4e\u0e39", "\u0e25\u0e34\u0e47\u0e38", "\u0e19\u0e4a\u0e38", "\u0e0a\u0e31\u0e47\u0e38", "\u0e0c\u0e36\u0e4c", "\u0e23\u0e49\u0e38", "\u0e2c\u0e36\u0e47\u0e39", "\u0e11\u0e33\u0e49", "\u0e1a\u0e31\u0e47", "\u0e09\u0e34\u0e4a\u0e3a", "\u0e1a\u0e31\u0e3a", "\u0e0b\u0e48\u0e3a", "\u0e1f\u0e36\u0e4e", "\u0e0b\u0e37\u0e48", "\u0e29\u0e36\u0e4b\u0e39", "\u0e0d\u0e4d\u0e38", "\u0e05\u0e35\u0e4d", "\u0e1c\u0e34\u0e4c\u0e38", "\u0e08\u0e34\u0e49", "\u0e04\u0e31\u0e4c\u0e39", "\u0e08\u0e34\u0e4a\u0e39", "\u0e03\u0e35\u0e48\u0e3a", "\u0e19\u0e33\u0e49", "\u0e0d\u0e37\u0e4d\u0e38", "\u0e21\u0e33\u0e48\u0e38", "\u0e0d\u0e34\u0e4b\u0e3a", "\u0e22\u0e35\u0e4b", "\u0e0f\u0e4e\u0e38", "\u0e28\u0e36\u0e4a\u0e39", "\u0e13\u0e33\u0e49\u0e3a", "\u0e21\u0e33\u0e4d\u0e39", "\u0e28\u0e38", "\u0e2d\u0e36\u0e4e", "\u0e13\u0e31\u0e3a", "\u0e29\u0e33\u0e4d\u0e38", "\u0e03\u0e4d\u0e3a", "\u0e19\u0e31\u0e48", "\u0e2b\u0e35\u0e4a", "\u0e1c\u0e31\u0e4c\u0e39", "\u0e0a\u0e37\u0e4c", "\u0e2c\u0e33\u0e47", "\u0e18\u0e31\u0e38", "\u0e13\u0e36\u0e4a\u0e3a", "\u0e2e\u0e31\u0e4d", "\u0e05\u0e31\u0e4e\u0e38", "\u0e01\u0e35\u0e4e\u0e3a", "\u0e23\u0e36\u0e4e\u0e3a", "\u0e0b\u0e34\u0e4c", "\u0e28\u0e33\u0e39", "\u0e15\u0e37\u0e4c\u0e3a", "\u0e03\u0e36\u0e4b\u0e38", "\u0e13\u0e34\u0e4d\u0e39", "\u0e2e\u0e31\u0e4d\u0e39", "\u0e06\u0e37\u0e49\u0e39", "\u0e02\u0e31\u0e4c", "\u0e25\u0e37\u0e3a", "\u0e1c\u0e35\u0e3a", "\u0e0f\u0e31\u0e48", "\u0e09\u0e37\u0e4e\u0e3a", "\u0e21\u0e33\u0e4c\u0e38", "\u0e2d\u0e36\u0e4e\u0e38", "\u0e21\u0e31\u0e4b\u0e39", "\u0e08\u0e35\u0e4c\u0e39", "\u0e25\u0e34\u0e39", "\u0e0e\u0e4b\u0e3a", "\u0e12\u0e35\u0e48", "\u0e13\u0e35\u0e49\u0e38", "\u0e2d\u0e4e\u0e39", "\u0e02\u0e36\u0e4c", "\u0e1c\u0e33\u0e4e\u0e39", "\u0e19\u0e33\u0e38", "\u0e02\u0e37\u0e48\u0e39", "\u0e20\u0e36\u0e4c\u0e3a", "\u0e1f\u0e31\u0e48\u0e3a", "\u0e19\u0e31\u0e4a\u0e39", "\u0e11\u0e35\u0e4d", "\u0e2e\u0e33\u0e4d", "\u0e1c\u0e36\u0e48\u0e3a", "\u0e1f\u0e37\u0e48\u0e38", "\u0e1f\u0e33\u0e4c\u0e3a", "\u0e0a\u0e4c\u0e3a", "\u0e2b\u0e34\u0e4c\u0e38", "\u0e17\u0e33\u0e4c\u0e39", "\u0e1d\u0e36\u0e4d\u0e38", "\u0e01\u0e37\u0e4b\u0e3a", "\u0e2d\u0e37\u0e48\u0e38", "\u0e2c\u0e35\u0e48", "\u0e1a\u0e36\u0e4c", "\u0e09\u0e33\u0e4d\u0e38", "\u0e10\u0e36\u0e3a", "\u0e25\u0e35\u0e48", "\u0e23\u0e34", "\u0e14\u0e35\u0e4a\u0e38", "\u0e04\u0e4c\u0e39", "\u0e20\u0e33\u0e4b", "\u0e04\u0e35\u0e4e", "\u0e0e\u0e4d\u0e39", "\u0e13\u0e4b\u0e39", "\u0e1d\u0e34\u0e4e\u0e3a", "\u0e2a\u0e34\u0e4c", "\u0e04\u0e34\u0e4e\u0e39", "\u0e2d\u0e35\u0e4d\u0e39", "\u0e12\u0e37\u0e38", "\u0e2d\u0e33\u0e48\u0e3a", "\u0e23\u0e34\u0e4b", "\u0e23\u0e36\u0e4d\u0e3a", "\u0e28\u0e35\u0e38", "\u0e0f\u0e34\u0e4b\u0e3a", "\u0e1f\u0e35\u0e48", "\u0e04\u0e35\u0e49\u0e3a", "\u0e23\u0e36\u0e49\u0e38", "\u0e1e\u0e36\u0e49\u0e39", "\u0e2c\u0e34", "\u0e2e\u0e31\u0e39", "\u0e07\u0e35\u0e4b\u0e38", "\u0e28\u0e35\u0e4b\u0e3a", "\u0e20\u0e31\u0e47\u0e3a", "\u0e22\u0e31\u0e4c\u0e39", "\u0e14\u0e35\u0e49\u0e38", "\u0e2c\u0e37\u0e4d\u0e39", "\u0e1e\u0e37\u0e47\u0e3a", "\u0e2e\u0e33\u0e47\u0e38", "\u0e1c\u0e31\u0e4c\u0e38", "\u0e2d\u0e4d\u0e39", "\u0e20\u0e34\u0e48", "\u0e14\u0e34\u0e4d\u0e39", "\u0e02\u0e33\u0e38", "\u0e03\u0e31\u0e4c", "\u0e09\u0e34\u0e49", "\u0e2c", "\u0e21\u0e48\u0e39", "\u0e2b\u0e47\u0e3a", "\u0e1b\u0e37", "\u0e25\u0e33\u0e48\u0e39", "\u0e07\u0e36\u0e48\u0e39", "\u0e17\u0e34\u0e47\u0e3a", "\u0e05\u0e31\u0e48\u0e39", "\u0e1e\u0e35\u0e49\u0e39", "\u0e27", "\u0e2c\u0e35\u0e4c\u0e39", "\u0e03\u0e35\u0e4e\u0e39", "\u0e03\u0e36\u0e47\u0e39", "\u0e28\u0e37\u0e4e\u0e3a", "\u0e2a\u0e31\u0e4e\u0e38", "\u0e05\u0e37", "\u0e0c\u0e36\u0e48\u0e3a", "\u0e07\u0e37\u0e4b", "\u0e09\u0e35\u0e47", "\u0e27\u0e33\u0e47\u0e39", "\u0e18\u0e4d\u0e3a", "\u0e1b\u0e31\u0e4b\u0e38", "\u0e2a\u0e33\u0e4e\u0e3a", "\u0e0e\u0e36\u0e3a", "\u0e23\u0e37\u0e39", "\u0e17\u0e31\u0e49", "\u0e16\u0e4e\u0e39", "\u0e0b\u0e34\u0e4d\u0e3a", "\u0e2b\u0e4a", "\u0e1e\u0e4a\u0e39", "\u0e0b\u0e37\u0e4d\u0e3a", "\u0e20\u0e37\u0e4c", "\u0e01\u0e36\u0e49\u0e39", "\u0e0a\u0e37\u0e4d", "\u0e0d\u0e34\u0e3a", "\u0e25\u0e35\u0e4a\u0e38", "\u0e22\u0e33\u0e4c\u0e3a", "\u0e0d\u0e35\u0e4a\u0e3a", "\u0e2a\u0e33\u0e49\u0e38", "\u0e1e\u0e31\u0e4b", "\u0e09\u0e37\u0e4a\u0e39", "\u0e27\u0e36\u0e4b\u0e3a", "\u0e1c\u0e4e", "\u0e20\u0e36\u0e4c", "\u0e0c\u0e33\u0e4c", "\u0e1f\u0e36\u0e4a", "\u0e02\u0e35\u0e48\u0e39", "\u0e23\u0e34\u0e4d\u0e3a", "\u0e1b\u0e31\u0e48\u0e3a", "\u0e0a\u0e34\u0e49\u0e38", "\u0e11\u0e36\u0e48\u0e39", "\u0e1d\u0e4b\u0e39", "\u0e04\u0e34\u0e38", "\u0e2b\u0e36\u0e4c\u0e39", "\u0e16\u0e36\u0e47\u0e39", "\u0e19\u0e34\u0e49\u0e39", "\u0e1d\u0e36\u0e47\u0e3a", "\u0e2a\u0e35\u0e4c\u0e39", "\u0e27\u0e36\u0e4a\u0e3a", "\u0e0e\u0e33\u0e4d", "\u0e0d\u0e34\u0e47\u0e3a", "\u0e18\u0e35\u0e49\u0e3a", "\u0e04\u0e31\u0e39", "\u0e0f\u0e37\u0e4d\u0e39", "\u0e02\u0e4c\u0e38", "\u0e2e\u0e33\u0e4a\u0e39", "\u0e14\u0e36\u0e47\u0e3a", "\u0e10\u0e35\u0e4e\u0e39", "\u0e23\u0e37\u0e4d", "\u0e02\u0e37\u0e49", "\u0e01\u0e36\u0e4e", "\u0e03\u0e35\u0e4e\u0e38", "\u0e25\u0e4d\u0e38", "\u0e15\u0e33\u0e47\u0e3a", "\u0e02\u0e33\u0e47\u0e3a", "\u0e1e\u0e37\u0e49\u0e39", "\u0e10\u0e37\u0e49\u0e3a", "\u0e12\u0e33\u0e4c", "\u0e04\u0e31\u0e48\u0e38", "\u0e27\u0e35\u0e47", "\u0e2b\u0e33\u0e4e\u0e3a", "\u0e2e\u0e35\u0e49\u0e39", "\u0e20\u0e37\u0e4b\u0e3a", "\u0e10\u0e35\u0e4c", "\u0e15\u0e37\u0e4b\u0e38", "\u0e05\u0e33\u0e4d\u0e3a", "\u0e0e\u0e36\u0e38", "\u0e2b\u0e34\u0e47\u0e39", "\u0e1f\u0e34\u0e4d", "\u0e02\u0e35\u0e49\u0e38", "\u0e18\u0e36\u0e49\u0e38", "\u0e17\u0e37\u0e49\u0e38", "\u0e28\u0e36\u0e4b\u0e38", "\u0e1d\u0e34\u0e49\u0e3a", "\u0e02\u0e31\u0e4d\u0e3a", "\u0e10\u0e35\u0e47\u0e39", "\u0e13\u0e4e", "\u0e09\u0e34\u0e4b\u0e3a", "\u0e06\u0e31\u0e39", "\u0e18\u0e34\u0e4b", "\u0e0a\u0e31\u0e4a\u0e3a", "\u0e15\u0e36\u0e4a\u0e38", "\u0e27\u0e31\u0e49\u0e38", "\u0e1b\u0e37\u0e48\u0e3a", "\u0e20\u0e36\u0e4b\u0e3a", "\u0e12\u0e33\u0e4b\u0e38", "\u0e15\u0e4d", "\u0e14\u0e35\u0e4a\u0e39", "\u0e25\u0e37\u0e4d\u0e3a", "\u0e1a\u0e31\u0e4e\u0e39", "\u0e08\u0e4b\u0e39", "\u0e19\u0e34\u0e4d\u0e39", "\u0e04\u0e36\u0e48\u0e3a", "\u0e07\u0e4e\u0e3a", "\u0e2b\u0e31\u0e4e\u0e39", "\u0e22\u0e36\u0e4e\u0e3a", "\u0e16\u0e35\u0e48\u0e39", "\u0e18\u0e34\u0e4a\u0e38", "\u0e2d\u0e4d\u0e38", "\u0e1b\u0e38", "\u0e15\u0e33\u0e4c\u0e38", "\u0e29\u0e35\u0e4e\u0e39", "\u0e28\u0e31\u0e48\u0e3a", "\u0e1e\u0e33\u0e47\u0e39", "\u0e02\u0e35\u0e3a", "\u0e2c\u0e35\u0e49\u0e39", "\u0e1d\u0e48", "\u0e27\u0e35\u0e4c\u0e38", "\u0e16\u0e33\u0e4d\u0e38", "\u0e1e\u0e35\u0e4e\u0e38", "\u0e2e\u0e35\u0e4c\u0e39", "\u0e10\u0e35\u0e38", "\u0e1d\u0e4d\u0e38", "\u0e20\u0e36\u0e4b\u0e38", "\u0e0b\u0e35\u0e49\u0e39", "\u0e0d\u0e34\u0e47", "\u0e01\u0e4e\u0e39", "\u0e12\u0e33\u0e4c\u0e39", "\u0e13\u0e36\u0e49\u0e38", "\u0e2e\u0e31\u0e4c\u0e3a", "\u0e2e\u0e36\u0e48\u0e38", "\u0e01\u0e37\u0e4c\u0e39", "\u0e28\u0e35\u0e4d\u0e38", "\u0e1e\u0e37\u0e4d\u0e39", "\u0e03\u0e4d\u0e38", "\u0e04\u0e33\u0e49\u0e39", "\u0e14\u0e37\u0e4e\u0e3a", "\u0e18\u0e37\u0e47\u0e3a", "\u0e13\u0e4e\u0e39", "\u0e27\u0e31\u0e48\u0e39", "\u0e20\u0e36\u0e4c\u0e38", "\u0e10\u0e33\u0e47\u0e39", "\u0e0b\u0e36\u0e4b\u0e3a", "\u0e27\u0e31\u0e49\u0e39", "\u0e09\u0e33\u0e4c\u0e3a", "\u0e21\u0e37\u0e4d\u0e39", "\u0e1e\u0e34\u0e4e\u0e38", "\u0e0b\u0e34\u0e49\u0e39", "\u0e05\u0e31\u0e4c\u0e3a", "\u0e04\u0e33\u0e4b", "\u0e18\u0e34\u0e4a\u0e39", "\u0e07\u0e34\u0e4b\u0e39", "\u0e10\u0e47\u0e3a", "\u0e12\u0e34\u0e4c\u0e3a", "\u0e03\u0e34\u0e4e\u0e39", "\u0e12\u0e31\u0e4d\u0e38", "\u0e21\u0e36\u0e4e", "\u0e23\u0e31\u0e39", "\u0e1e\u0e37\u0e48\u0e3a", "\u0e11\u0e37\u0e4a", "\u0e2e\u0e34\u0e4d\u0e3a", "\u0e19\u0e31\u0e47\u0e3a", "\u0e21\u0e33\u0e4d\u0e38", "\u0e25\u0e33\u0e4e\u0e39", "\u0e0d\u0e35\u0e4a\u0e38", "\u0e1e\u0e35\u0e4c\u0e3a", "\u0e07\u0e49", "\u0e0f\u0e33\u0e4b\u0e38", "\u0e2e\u0e37\u0e4e\u0e3a", "\u0e0c\u0e31\u0e48\u0e39", "\u0e0f\u0e33\u0e4e\u0e3a", "\u0e2a\u0e37\u0e4a", "\u0e13\u0e33\u0e4c\u0e39", "\u0e12\u0e33\u0e47\u0e3a", "\u0e12\u0e31\u0e4c", "\u0e1b\u0e36\u0e4a\u0e38", "\u0e02\u0e36\u0e48\u0e3a", "\u0e06\u0e36\u0e48\u0e38", "\u0e29\u0e35\u0e4d", "\u0e19\u0e37\u0e49\u0e39", "\u0e1e\u0e33\u0e4e", "\u0e13\u0e34\u0e4a\u0e3a", "\u0e08\u0e37\u0e4d\u0e3a", "\u0e23\u0e38", "\u0e27\u0e34\u0e49", "\u0e10\u0e34\u0e48\u0e3a", "\u0e12\u0e33\u0e4b", "\u0e0e\u0e36\u0e4a\u0e38", "\u0e0e\u0e4a\u0e3a", "\u0e22\u0e35\u0e49", "\u0e08\u0e34\u0e4a\u0e38", "\u0e08\u0e33\u0e3a", "\u0e09\u0e33\u0e49", "\u0e03\u0e33\u0e48\u0e38", "\u0e2b\u0e35\u0e4a\u0e38", "\u0e1c\u0e34\u0e48\u0e38", "\u0e1f\u0e31\u0e47\u0e39", "\u0e20\u0e35\u0e4a\u0e39", "\u0e1b\u0e4d\u0e39", "\u0e27\u0e34\u0e4b\u0e3a", "\u0e1e\u0e37\u0e47\u0e38", "\u0e1e\u0e35\u0e4c\u0e39", "\u0e1f\u0e37\u0e4b\u0e38", "\u0e19\u0e33\u0e48\u0e38", "\u0e06\u0e37\u0e4a\u0e39", "\u0e2d\u0e34\u0e4a\u0e39", "\u0e13\u0e33\u0e4b", "\u0e0d\u0e36\u0e4b\u0e39", "\u0e14\u0e35\u0e4b", "\u0e2b\u0e33\u0e47\u0e39", "\u0e18\u0e36\u0e4d\u0e38", "\u0e02\u0e34\u0e4d\u0e39", "\u0e02\u0e37\u0e47", "\u0e11\u0e48\u0e38", "\u0e2a\u0e34\u0e4b", "\u0e17\u0e36\u0e49\u0e39", "\u0e2d\u0e35\u0e4a\u0e38", "\u0e14\u0e34\u0e38", "\u0e20\u0e33\u0e49\u0e39", "\u0e27\u0e49", "\u0e02\u0e33\u0e48\u0e3a", "\u0e2c\u0e36\u0e4a\u0e38", "\u0e18\u0e31\u0e4e\u0e38", "\u0e2d\u0e34\u0e49\u0e39", "\u0e17\u0e34\u0e38", "\u0e10\u0e36\u0e4a\u0e39", "\u0e28\u0e33\u0e47\u0e38", "\u0e2e\u0e37\u0e4b", "\u0e22\u0e36\u0e39", "\u0e01\u0e3a", "\u0e13\u0e35\u0e47", "\u0e11\u0e48\u0e3a", "\u0e1a\u0e31\u0e4b", "\u0e2b\u0e37\u0e4d\u0e39", "\u0e06\u0e36\u0e4b\u0e3a", "\u0e0c\u0e36\u0e4e\u0e39", "\u0e09\u0e36\u0e4b\u0e38", "\u0e01\u0e31\u0e47\u0e3a", "\u0e1b\u0e35\u0e4b", "\u0e0b\u0e37\u0e4d\u0e38", "\u0e29\u0e36\u0e4b\u0e38", "\u0e2a\u0e33\u0e4e", "\u0e0d\u0e34\u0e4a\u0e39", "\u0e17\u0e35\u0e4e\u0e39", "\u0e16\u0e37\u0e49\u0e38", "\u0e0e\u0e34", "\u0e0f\u0e31\u0e4d\u0e39", "\u0e2c\u0e48\u0e39", "\u0e12\u0e31\u0e4a", "\u0e03\u0e35\u0e4a\u0e3a", "\u0e15\u0e33\u0e39", "\u0e02\u0e35\u0e4d\u0e39", "\u0e07\u0e36\u0e4c\u0e3a", "\u0e10\u0e34\u0e4c", "\u0e09\u0e34\u0e49\u0e39", "\u0e2b\u0e34\u0e3a", "\u0e09\u0e36\u0e4c\u0e3a", "\u0e14\u0e31\u0e4d\u0e3a", "\u0e23\u0e33\u0e4b\u0e39", "\u0e27\u0e36\u0e4a\u0e39", "\u0e0e\u0e31\u0e4e\u0e38", "\u0e2b\u0e35", "\u0e13\u0e35\u0e4c\u0e3a", "\u0e0f\u0e31\u0e4a\u0e3a", "\u0e18\u0e34", "\u0e2c\u0e31\u0e47\u0e38", "\u0e28\u0e36\u0e48\u0e3a", "\u0e19\u0e33\u0e4c", "\u0e0e\u0e33\u0e4b\u0e3a", "\u0e0f\u0e37\u0e48\u0e38", "\u0e0f", "\u0e2a\u0e47", "\u0e18\u0e35\u0e4d\u0e39", "\u0e22\u0e4a\u0e3a", "\u0e11\u0e33\u0e4b", "\u0e1c\u0e37\u0e4e\u0e3a", "\u0e0c\u0e31", "\u0e1f\u0e48\u0e38", "\u0e25\u0e34\u0e48\u0e39", "\u0e05\u0e36\u0e49\u0e38", "\u0e12\u0e37\u0e49\u0e38", "\u0e1a\u0e4e", "\u0e1e\u0e31\u0e4e\u0e39", "\u0e29\u0e4d\u0e39", "\u0e0a\u0e37\u0e49", "\u0e13\u0e35\u0e4c\u0e39", "\u0e17\u0e34\u0e4e\u0e39", "\u0e0c\u0e4b\u0e39", "\u0e20", "\u0e29\u0e37\u0e4e\u0e38", "\u0e0c\u0e47\u0e39", "\u0e2c\u0e35\u0e48\u0e39", "\u0e0c\u0e31\u0e47\u0e38", "\u0e10\u0e33\u0e4d\u0e38", "\u0e1c\u0e37\u0e48", "\u0e27\u0e47\u0e3a", "\u0e09\u0e33\u0e4a\u0e38", "\u0e0d\u0e33\u0e3a", "\u0e1e\u0e31\u0e47\u0e38", "\u0e20\u0e34\u0e39", "\u0e2d\u0e48\u0e39", "\u0e2c\u0e36\u0e4e\u0e38", "\u0e1d\u0e31\u0e47", "\u0e06\u0e33\u0e4e\u0e39", "\u0e29\u0e31\u0e4b\u0e38", "\u0e20\u0e34\u0e47\u0e38", "\u0e21\u0e34\u0e47\u0e38", "\u0e0b\u0e36\u0e4a", "\u0e19\u0e37\u0e47", "\u0e1e\u0e34\u0e4c", "\u0e1d\u0e35\u0e4e\u0e38", "\u0e12\u0e31\u0e4d\u0e39", "\u0e25\u0e33\u0e4d\u0e38", "\u0e0f\u0e36\u0e4c\u0e3a", "\u0e04\u0e33\u0e4e\u0e39", "\u0e1c\u0e35\u0e4b\u0e38", "\u0e02\u0e34\u0e4d\u0e38", "\u0e02\u0e36\u0e48\u0e38", "\u0e10\u0e36\u0e4c", "\u0e14\u0e37\u0e49", "\u0e19\u0e34\u0e4a\u0e39", "\u0e0a\u0e35\u0e38", "\u0e06\u0e37\u0e4a\u0e3a", "\u0e15\u0e33\u0e4e\u0e38", "\u0e2b\u0e33\u0e4b\u0e38", "\u0e0a\u0e49\u0e38", "\u0e29\u0e34\u0e4a\u0e39", "\u0e09\u0e36\u0e47", "\u0e03\u0e4c\u0e39", "\u0e20\u0e34\u0e4d\u0e39", "\u0e0f\u0e31\u0e4e", "\u0e1f\u0e36\u0e4c", "\u0e15\u0e34\u0e4d\u0e38", "\u0e0f\u0e36", "\u0e01\u0e31\u0e4c\u0e38", "\u0e14\u0e34\u0e3a", "\u0e1f\u0e31\u0e47\u0e3a", "\u0e0d\u0e48\u0e39", "\u0e02\u0e33\u0e49", "\u0e1e\u0e31\u0e4c\u0e39", "\u0e19\u0e4c", "\u0e1c\u0e36\u0e47\u0e39", "\u0e03\u0e31\u0e49", "\u0e12\u0e34\u0e4b", "\u0e08\u0e34\u0e3a", "\u0e1b\u0e33\u0e47\u0e39", "\u0e16\u0e37\u0e4b\u0e39", "\u0e2e\u0e34\u0e4e\u0e39", "\u0e1d\u0e31\u0e4d\u0e38", "\u0e16\u0e4d\u0e38", "\u0e0a\u0e36\u0e47\u0e3a", "\u0e19\u0e36\u0e4d\u0e38", "\u0e2b\u0e37\u0e49", "\u0e2e\u0e39", "\u0e16\u0e34\u0e48", "\u0e08\u0e36\u0e4e\u0e38", "\u0e22\u0e31\u0e4c\u0e38", "\u0e01\u0e33\u0e47\u0e39", "\u0e28\u0e34\u0e48\u0e3a", "\u0e2a\u0e31\u0e38", "\u0e01\u0e37\u0e4b\u0e38", "\u0e03\u0e33\u0e4d", "\u0e29\u0e33\u0e48\u0e39", "\u0e10\u0e34\u0e48\u0e39", "\u0e2b\u0e31\u0e4a\u0e38", "\u0e03\u0e36\u0e4a", "\u0e02\u0e36\u0e4b", "\u0e29\u0e35\u0e48", "\u0e17\u0e34\u0e47", "\u0e19\u0e34\u0e47", "\u0e2e\u0e35\u0e4a\u0e38", "\u0e21\u0e4a\u0e3a", "\u0e08\u0e35\u0e47\u0e38", "\u0e08\u0e36\u0e4b\u0e39", "\u0e27\u0e33\u0e49\u0e38", "\u0e03\u0e34\u0e48\u0e39", "\u0e28\u0e4e", "\u0e1f\u0e36\u0e39", "\u0e1b\u0e34\u0e38", "\u0e06\u0e31\u0e4e", "\u0e28\u0e36\u0e47\u0e39", "\u0e2e\u0e33\u0e4c\u0e38", "\u0e22\u0e37\u0e48", "\u0e14\u0e33\u0e49\u0e38", "\u0e11\u0e36\u0e4b", "\u0e18\u0e33\u0e4d\u0e3a", "\u0e27\u0e34\u0e49\u0e39", "\u0e25\u0e36\u0e4e\u0e39", "\u0e10\u0e37\u0e4b\u0e39", "\u0e11\u0e34\u0e4b\u0e38", "\u0e0b\u0e31\u0e4a\u0e3a", "\u0e08\u0e37", "\u0e18\u0e37\u0e49\u0e39", "\u0e1c\u0e35\u0e47\u0e39", "\u0e17\u0e36\u0e4e\u0e39", "\u0e23\u0e37\u0e48\u0e3a", "\u0e16\u0e34\u0e38", "\u0e01\u0e31\u0e4b", "\u0e25\u0e36\u0e47\u0e39", "\u0e0b\u0e4e\u0e3a", "\u0e1f\u0e36\u0e47", "\u0e19\u0e33", "\u0e08\u0e48\u0e3a", "\u0e04\u0e4a\u0e39", "\u0e20\u0e36\u0e4e", "\u0e03\u0e36\u0e4a\u0e39", "\u0e0f\u0e35\u0e4e\u0e38", "\u0e10\u0e31\u0e4d\u0e38", "\u0e29\u0e34\u0e49\u0e38", "\u0e15\u0e31\u0e4c\u0e39", "\u0e29\u0e37\u0e47", "\u0e10\u0e34\u0e4a\u0e39", "\u0e0c\u0e36\u0e49\u0e38", "\u0e0a\u0e31\u0e48", "\u0e18\u0e31\u0e4d", "\u0e2d\u0e34\u0e4e\u0e3a", "\u0e1d\u0e36\u0e4b\u0e39", "\u0e0c\u0e4d\u0e3a", "\u0e23\u0e31\u0e4c", "\u0e2c\u0e35\u0e4c\u0e3a", "\u0e16\u0e33\u0e4d", "\u0e29\u0e34\u0e4c\u0e38", "\u0e07\u0e31\u0e48\u0e39", "\u0e0a\u0e31\u0e4b", "\u0e0e\u0e37\u0e4e\u0e39", "\u0e09\u0e33\u0e48\u0e3a", "\u0e29\u0e35\u0e4d\u0e39", "\u0e0c\u0e31\u0e4e\u0e38", "\u0e29\u0e36\u0e49\u0e3a", "\u0e2d\u0e37\u0e38", "\u0e21\u0e31\u0e4c\u0e3a", "\u0e11\u0e3a", "\u0e20\u0e35\u0e47", "\u0e03\u0e35\u0e4b\u0e39", "\u0e01\u0e37\u0e4e\u0e38", "\u0e2e\u0e4d\u0e38", "\u0e1f\u0e34\u0e39", "\u0e08\u0e34\u0e4d\u0e38", "\u0e1c\u0e36\u0e4e\u0e39", "\u0e17\u0e36\u0e4c\u0e3a", "\u0e1e\u0e31\u0e4d\u0e3a", "\u0e20\u0e36\u0e48\u0e39", "\u0e0d\u0e34", "\u0e20\u0e37\u0e4a\u0e39", "\u0e21\u0e37\u0e49\u0e38", "\u0e1b\u0e35", "\u0e1a\u0e37\u0e4d\u0e39", "\u0e11\u0e31\u0e49\u0e3a", "\u0e08\u0e37\u0e49\u0e3a", "\u0e15\u0e34\u0e48\u0e39", "\u0e0c\u0e34\u0e4e", "\u0e01\u0e31\u0e4c\u0e3a", "\u0e1e\u0e34\u0e4c\u0e39", "\u0e04\u0e37\u0e4c", "\u0e03\u0e36\u0e47\u0e38", "\u0e23\u0e37\u0e4a", "\u0e25\u0e37\u0e4e\u0e3a", "\u0e2b\u0e33\u0e4b", "\u0e1f\u0e34\u0e48\u0e3a", "\u0e06\u0e33\u0e4b\u0e38", "\u0e09\u0e35\u0e4a\u0e38", "\u0e1c\u0e35\u0e48\u0e39", "\u0e11\u0e37\u0e48\u0e38", "\u0e0b\u0e3a", "\u0e1a\u0e36\u0e48", "\u0e14\u0e37\u0e49\u0e3a", "\u0e27\u0e4b", "\u0e16\u0e37\u0e47", "\u0e03\u0e36\u0e4c\u0e38", "\u0e27\u0e33\u0e4c\u0e39", "\u0e0b\u0e36\u0e4c\u0e3a", "\u0e2a\u0e48\u0e39", "\u0e04\u0e36\u0e4a\u0e39", "\u0e16\u0e33\u0e4a\u0e3a", "\u0e1b\u0e36\u0e47\u0e38", "\u0e1f\u0e35\u0e4e\u0e39", "\u0e29\u0e33\u0e4c\u0e3a", "\u0e17\u0e37\u0e4d", "\u0e08\u0e48\u0e38", "\u0e2b\u0e34\u0e47\u0e3a", "\u0e20\u0e33", "\u0e1b\u0e37\u0e4b\u0e3a", "\u0e03\u0e37", "\u0e04\u0e33\u0e48", "\u0e13\u0e35\u0e48", "\u0e1a\u0e35\u0e49\u0e39", "\u0e21\u0e37\u0e4c\u0e3a", "\u0e10\u0e31\u0e4c", "\u0e11\u0e4c\u0e3a", "\u0e22\u0e37\u0e38", "\u0e1c\u0e31\u0e4d", "\u0e2c\u0e36\u0e4d\u0e39", "\u0e0b\u0e33\u0e49", "\u0e15\u0e36\u0e4a\u0e39", "\u0e15\u0e33\u0e4c\u0e39", "\u0e18\u0e35\u0e38", "\u0e0e\u0e37\u0e3a", "\u0e25\u0e31\u0e4e\u0e3a", "\u0e2d\u0e4e\u0e3a", "\u0e17\u0e36\u0e49\u0e38", "\u0e2a\u0e4e\u0e38", "\u0e18\u0e35\u0e4e\u0e38", "\u0e2e\u0e37\u0e49\u0e39", "\u0e13\u0e36\u0e48\u0e38", "\u0e1d\u0e37\u0e47\u0e38", "\u0e02\u0e37\u0e4a\u0e38", "\u0e10\u0e35\u0e48\u0e39", "\u0e12\u0e35\u0e49\u0e3a", "\u0e0a\u0e34\u0e48\u0e3a", "\u0e07\u0e31\u0e4d\u0e39", "\u0e05\u0e33\u0e4e", "\u0e2c\u0e36\u0e47\u0e38", "\u0e14\u0e35\u0e3a", "\u0e0d\u0e33\u0e48\u0e38", "\u0e1f\u0e36\u0e4a\u0e3a", "\u0e18\u0e35\u0e48\u0e38", "\u0e1d\u0e34\u0e4b\u0e3a", "\u0e03\u0e33\u0e4a\u0e39", "\u0e23\u0e37\u0e47", "\u0e21\u0e31\u0e3a", "\u0e0b\u0e36\u0e49\u0e38", "\u0e08\u0e36\u0e48\u0e3a", "\u0e0c\u0e36\u0e4c\u0e38", "\u0e0c\u0e47\u0e3a", "\u0e11\u0e33\u0e48\u0e3a", "\u0e11\u0e31\u0e4c", "\u0e18\u0e36\u0e48\u0e39", "\u0e1a\u0e48\u0e39", "\u0e11\u0e39", "\u0e01\u0e4d\u0e3a", "\u0e08\u0e36", "\u0e08\u0e31\u0e47\u0e39", "\u0e0a\u0e31\u0e4e\u0e39", "\u0e05\u0e35\u0e4c\u0e3a", "\u0e11\u0e36\u0e39", "\u0e04\u0e33\u0e4c\u0e38", "\u0e04\u0e31\u0e49", "\u0e10\u0e4b", "\u0e1c\u0e47\u0e3a", "\u0e17\u0e34\u0e49\u0e38", "\u0e25\u0e31\u0e38", "\u0e25\u0e34\u0e49\u0e39", "\u0e2e\u0e35\u0e4b\u0e3a", "\u0e14\u0e33\u0e49", "\u0e0f\u0e36\u0e4b\u0e39", "\u0e22\u0e31\u0e47", "\u0e04\u0e31\u0e3a", "\u0e19\u0e31\u0e49\u0e3a", "\u0e13\u0e37", "\u0e2a\u0e35\u0e47\u0e38", "\u0e2d\u0e4b\u0e38", "\u0e09", "\u0e15\u0e31", "\u0e29\u0e35\u0e49\u0e3a", "\u0e1d\u0e4c\u0e3a", "\u0e04\u0e36\u0e47\u0e39", "\u0e17\u0e33\u0e4e\u0e39", "\u0e0d\u0e37\u0e4d", "\u0e1c\u0e33\u0e47\u0e3a", "\u0e20\u0e34\u0e48\u0e3a", "\u0e15\u0e35\u0e48\u0e3a", "\u0e0c\u0e31\u0e3a", "\u0e2a\u0e37\u0e49\u0e38", "\u0e2b\u0e34\u0e4d", "\u0e01\u0e33\u0e48\u0e38", "\u0e13\u0e31\u0e47\u0e39", "\u0e0c\u0e37\u0e4e\u0e38", "\u0e1a\u0e4c\u0e38", "\u0e08\u0e33\u0e49\u0e39", "\u0e2b\u0e49\u0e3a", "\u0e22\u0e47", "\u0e11\u0e36\u0e4c\u0e38", "\u0e14\u0e33\u0e38", "\u0e03\u0e37\u0e47\u0e39", "\u0e23\u0e48\u0e38", "\u0e0f\u0e48\u0e3a", "\u0e25\u0e33\u0e4c", "\u0e10\u0e37\u0e4d\u0e38", "\u0e10\u0e31\u0e49\u0e39", "\u0e29\u0e35\u0e48\u0e38", "\u0e1f\u0e31", "\u0e2b\u0e37\u0e4b", "\u0e1e\u0e34\u0e38", "\u0e20\u0e4a\u0e39", "\u0e0e\u0e33\u0e49", "\u0e17\u0e34\u0e4c\u0e38", "\u0e22\u0e37\u0e4d\u0e39", "\u0e2b\u0e36\u0e4a", "\u0e20\u0e33\u0e4d\u0e38", "\u0e0f\u0e34\u0e4b\u0e38", "\u0e02\u0e36\u0e4c\u0e3a", "\u0e1b\u0e33\u0e3a", "\u0e28\u0e34\u0e4d\u0e3a", "\u0e0a\u0e35\u0e3a", "\u0e20\u0e36\u0e38", "\u0e13\u0e33\u0e4a\u0e3a", "\u0e1b\u0e35\u0e47\u0e3a", "\u0e0c\u0e36\u0e4c\u0e39", "\u0e05\u0e35\u0e4c", "\u0e01\u0e31\u0e4b\u0e3a", "\u0e18\u0e4b\u0e39", "\u0e29\u0e31\u0e4a\u0e38", "\u0e1f\u0e37\u0e4c", "\u0e1c\u0e37\u0e48\u0e3a", "\u0e1c\u0e37\u0e4d\u0e3a", "\u0e02\u0e35\u0e39", "\u0e0c\u0e34\u0e49\u0e3a", "\u0e1b\u0e33\u0e4d", "\u0e27\u0e4a\u0e3a", "\u0e0a\u0e33\u0e4e", "\u0e11\u0e33\u0e4d\u0e38", "\u0e0f\u0e33\u0e47\u0e3a", "\u0e0e\u0e33\u0e4e", "\u0e1b\u0e31\u0e4e\u0e38", "\u0e2c\u0e47\u0e38", "\u0e0e\u0e33\u0e4b\u0e38", "\u0e27\u0e31\u0e4e\u0e39", "\u0e09\u0e35\u0e4d\u0e38", "\u0e18\u0e4e\u0e38", "\u0e0c\u0e31\u0e4a\u0e39", "\u0e22\u0e36\u0e47\u0e38", "\u0e10\u0e36\u0e4b", "\u0e25\u0e47\u0e38", "\u0e08\u0e33\u0e39", "\u0e1c\u0e37\u0e4d\u0e39", "\u0e0b\u0e4d\u0e3a", "\u0e16\u0e37\u0e47\u0e38", "\u0e17\u0e37\u0e4b\u0e3a", "\u0e29\u0e31\u0e48\u0e3a", "\u0e1b\u0e49", "\u0e2a\u0e34\u0e4a\u0e3a", "\u0e19\u0e36\u0e39", "\u0e13\u0e31\u0e4e\u0e3a", "\u0e04\u0e35\u0e38", "\u0e12\u0e35\u0e48\u0e39", "\u0e1c\u0e4d", "\u0e2c\u0e34\u0e4c\u0e39", "\u0e05\u0e35\u0e47\u0e39", "\u0e15\u0e35\u0e38", "\u0e11\u0e4b\u0e3a", "\u0e22\u0e34\u0e4e\u0e38", "\u0e20\u0e33\u0e4e\u0e3a", "\u0e17\u0e33\u0e4c", "\u0e1b\u0e4e\u0e38", "\u0e0e\u0e35\u0e4b\u0e39", "\u0e14\u0e34\u0e47", "\u0e28\u0e35\u0e4b\u0e39", "\u0e11\u0e4d\u0e39", "\u0e2d\u0e34\u0e4c\u0e39", "\u0e12\u0e36\u0e47", "\u0e0d\u0e33\u0e4e\u0e3a", "\u0e0a\u0e35\u0e4d\u0e38", "\u0e2a\u0e33\u0e4e\u0e38", "\u0e0b\u0e35\u0e49", "\u0e17\u0e34\u0e4b", "\u0e2b\u0e34\u0e4a\u0e3a", "\u0e01\u0e37\u0e39", "\u0e1d\u0e33\u0e4b\u0e38", "\u0e28\u0e33\u0e3a", "\u0e1f\u0e34\u0e49\u0e39", "\u0e2b\u0e31\u0e47", "\u0e01\u0e33\u0e4b\u0e38", "\u0e06\u0e37\u0e4a\u0e38", "\u0e22\u0e34\u0e4e\u0e3a", "\u0e10\u0e34\u0e4d", "\u0e28\u0e36\u0e4b\u0e39", "\u0e06\u0e31\u0e4a\u0e39", "\u0e13\u0e33\u0e49\u0e39", "\u0e18\u0e34\u0e4e\u0e38", "\u0e09\u0e31\u0e3a", "\u0e0a\u0e31\u0e49\u0e39", "\u0e2a\u0e35\u0e47\u0e39", "\u0e27\u0e37\u0e47", "\u0e28\u0e36\u0e4c", "\u0e2b\u0e36\u0e39", "\u0e05\u0e31\u0e4a\u0e39", "\u0e1e\u0e3a", "\u0e25\u0e31\u0e48\u0e39", "\u0e0a\u0e4e\u0e39", "\u0e27\u0e35\u0e4b", "\u0e0b\u0e31\u0e48\u0e38", "\u0e05\u0e35\u0e4b\u0e38", "\u0e11\u0e35\u0e4b", "\u0e05\u0e31\u0e4e\u0e3a", "\u0e0d\u0e36\u0e4a\u0e3a", "\u0e21\u0e37\u0e49\u0e39", "\u0e07\u0e33\u0e4b", "\u0e16\u0e31\u0e47\u0e38", "\u0e0b\u0e33\u0e4a", "\u0e12\u0e36\u0e4d\u0e3a", "\u0e05\u0e35\u0e48\u0e3a", "\u0e11\u0e36\u0e48\u0e38", "\u0e1c\u0e31\u0e4c\u0e3a", "\u0e07\u0e31\u0e4b\u0e3a", "\u0e1d\u0e37\u0e4b\u0e38", "\u0e13\u0e34\u0e4e\u0e38", "\u0e18\u0e33\u0e4a\u0e38", "\u0e1b\u0e33\u0e4a", "\u0e1b\u0e37\u0e4d\u0e39", "\u0e14\u0e35\u0e4a", "\u0e08\u0e33\u0e48\u0e38", "\u0e2e\u0e34\u0e3a", "\u0e12\u0e36\u0e4c\u0e38", "\u0e25\u0e37\u0e47\u0e3a", "\u0e0e\u0e35\u0e4d\u0e39", "\u0e22\u0e31\u0e4c\u0e3a", "\u0e2e\u0e34\u0e47\u0e38", "\u0e2b\u0e37\u0e4d\u0e3a", "\u0e0f\u0e36\u0e4c\u0e39", "\u0e0a\u0e34\u0e4a\u0e3a", "\u0e10\u0e34\u0e49\u0e38", "\u0e14\u0e31\u0e4c", "\u0e27\u0e4d\u0e3a", "\u0e1a\u0e36\u0e4a", "\u0e04\u0e37\u0e4b", "\u0e13\u0e37\u0e48\u0e39", "\u0e0e\u0e36\u0e49", "\u0e25\u0e4d\u0e3a", "\u0e16\u0e37\u0e4e\u0e3a", "\u0e20\u0e35\u0e39", "\u0e2b\u0e36\u0e47\u0e38", "\u0e0c\u0e37\u0e4a\u0e38", "\u0e05\u0e47\u0e38", "\u0e08\u0e36\u0e4d\u0e3a", "\u0e1b\u0e39", "\u0e18\u0e4e\u0e3a", "\u0e18\u0e31\u0e3a", "\u0e0d\u0e4a\u0e38", "\u0e25\u0e37\u0e47\u0e39", "\u0e28\u0e37\u0e4a\u0e3a", "\u0e19\u0e35\u0e48\u0e3a", "\u0e05\u0e37\u0e48\u0e3a", "\u0e13\u0e31\u0e4a", "\u0e06\u0e35\u0e38", "\u0e16\u0e4c\u0e39", "\u0e22\u0e33\u0e4b\u0e38", "\u0e0d\u0e31\u0e48\u0e38", "\u0e03\u0e31\u0e39", "\u0e22\u0e49", "\u0e09\u0e36\u0e4a\u0e39", "\u0e0a\u0e33\u0e4d", "\u0e0c\u0e31\u0e4a\u0e38", "\u0e25\u0e36\u0e47\u0e3a", "\u0e03\u0e31\u0e48\u0e39", "\u0e08\u0e31\u0e47", "\u0e21\u0e4a", "\u0e1f\u0e36\u0e48\u0e39", "\u0e09\u0e33\u0e4e\u0e3a", "\u0e12\u0e37\u0e48\u0e39", "\u0e28\u0e31\u0e4b\u0e3a", "\u0e2c\u0e31\u0e4a\u0e39", "\u0e1e\u0e36\u0e4a\u0e39", "\u0e2c\u0e37\u0e4e\u0e3a", "\u0e1f\u0e33\u0e47", "\u0e1f\u0e33\u0e4d\u0e3a", "\u0e13\u0e33\u0e4b\u0e38", "\u0e09\u0e33\u0e4c", "\u0e22\u0e34\u0e39", "\u0e16\u0e31\u0e4d\u0e39", "\u0e13\u0e35\u0e38", "\u0e1a\u0e38", "\u0e18\u0e31\u0e48\u0e3a", "\u0e1f\u0e47\u0e38", "\u0e10\u0e37\u0e4a\u0e38", "\u0e27\u0e35\u0e4b\u0e39", "\u0e05\u0e36\u0e49", "\u0e2a\u0e4b\u0e38", "\u0e07\u0e33\u0e39", "\u0e05\u0e33\u0e4a\u0e39", "\u0e0e\u0e36\u0e4b\u0e3a", "\u0e0c\u0e35", "\u0e21\u0e33\u0e4a", "\u0e07\u0e31\u0e4e", "\u0e22\u0e37\u0e4a\u0e39", "\u0e08\u0e33\u0e4d\u0e38", "\u0e1f\u0e4d\u0e39", "\u0e05\u0e33\u0e4a", "\u0e0a\u0e4e\u0e38", "\u0e10\u0e4a\u0e3a", "\u0e1b\u0e36\u0e49\u0e3a", "\u0e0c\u0e31\u0e48\u0e3a", "\u0e2a\u0e31\u0e4b\u0e39", "\u0e09\u0e34\u0e49\u0e3a", "\u0e10\u0e33\u0e4e", "\u0e05\u0e37\u0e4a\u0e39", "\u0e0b\u0e31\u0e49\u0e3a", "\u0e20\u0e34\u0e4e\u0e38", "\u0e0e\u0e33\u0e3a", "\u0e20\u0e4c\u0e38", "\u0e0b\u0e37\u0e39", "\u0e12\u0e34\u0e4c\u0e39", "\u0e27\u0e37\u0e4b", "\u0e28\u0e35\u0e49\u0e3a", "\u0e03\u0e4d", "\u0e02\u0e31\u0e4a\u0e3a", "\u0e2a\u0e36\u0e38", "\u0e08\u0e35\u0e4a\u0e39", "\u0e2d\u0e33\u0e4e\u0e38", "\u0e0c\u0e34\u0e48\u0e3a", "\u0e17\u0e37\u0e48\u0e3a", "\u0e1a\u0e37\u0e4a", "\u0e2b\u0e36\u0e4d\u0e38", "\u0e0a\u0e34\u0e4c\u0e3a", "\u0e15\u0e48", "\u0e1c\u0e48\u0e38", "\u0e2b\u0e34\u0e4a\u0e38", "\u0e2c\u0e33\u0e3a", "\u0e29\u0e4b\u0e38", "\u0e16\u0e33\u0e47\u0e38", "\u0e29\u0e31\u0e4b\u0e3a", "\u0e0b\u0e35\u0e4b\u0e39", "\u0e29\u0e36\u0e4b\u0e3a", "\u0e11\u0e31\u0e4b\u0e38", "\u0e0b\u0e37", "\u0e2b\u0e33\u0e49", "\u0e19\u0e31\u0e3a", "\u0e04\u0e34\u0e49\u0e39", "\u0e10\u0e49\u0e3a", "\u0e28\u0e35\u0e49\u0e39", "\u0e16\u0e35\u0e4d\u0e39", "\u0e04\u0e35", "\u0e12\u0e4e\u0e39", "\u0e1f\u0e35\u0e4b\u0e3a", "\u0e19\u0e36\u0e4b\u0e3a", "\u0e1b\u0e37\u0e4e", "\u0e02\u0e36\u0e39", "\u0e14\u0e34\u0e47\u0e38", "\u0e04\u0e33\u0e4e", "\u0e02\u0e34", "\u0e23\u0e36\u0e4d", "\u0e01\u0e37\u0e4d", "\u0e02\u0e34\u0e48\u0e38", "\u0e02\u0e33\u0e4b\u0e38", "\u0e18\u0e37\u0e39", "\u0e14\u0e35\u0e4e\u0e3a", "\u0e07\u0e33\u0e3a", "\u0e0b\u0e4d\u0e38", "\u0e0f\u0e31\u0e4d\u0e38", "\u0e17\u0e36", "\u0e21\u0e35\u0e4e\u0e38", "\u0e2d\u0e31\u0e4c", "\u0e04\u0e37\u0e4c\u0e39", "\u0e1b\u0e36\u0e49", "\u0e28\u0e36\u0e4c\u0e38", "\u0e1e\u0e33", "\u0e09\u0e34\u0e4c\u0e3a", "\u0e1a\u0e35\u0e38", "\u0e10\u0e4d\u0e38", "\u0e29\u0e31\u0e4e\u0e38", "\u0e17\u0e34\u0e49\u0e3a", "\u0e2e\u0e36\u0e4b\u0e39", "\u0e2c\u0e37\u0e4a\u0e38", "\u0e25\u0e35\u0e49", "\u0e16\u0e36\u0e4b\u0e3a", "\u0e2e\u0e36\u0e49\u0e3a", "\u0e05\u0e31\u0e47\u0e3a", "\u0e16\u0e34\u0e3a", "\u0e27\u0e33\u0e4e\u0e39", "\u0e23\u0e37\u0e4a\u0e38", "\u0e15\u0e31\u0e4a\u0e38", "\u0e0f\u0e4b\u0e39", "\u0e02\u0e31\u0e48\u0e39", "\u0e2e\u0e37\u0e48", "\u0e11\u0e37\u0e49\u0e3a", "\u0e25\u0e37\u0e48\u0e38", "\u0e10\u0e35\u0e3a", "\u0e07\u0e37\u0e47\u0e38", "\u0e1c\u0e33\u0e49\u0e3a", "\u0e23\u0e31\u0e49", "\u0e17\u0e37\u0e4e\u0e38", "\u0e01\u0e4c\u0e3a", "\u0e1e\u0e33\u0e47", "\u0e18\u0e31\u0e4a", "\u0e12\u0e35\u0e4e", "\u0e29\u0e34\u0e4d\u0e39", "\u0e23\u0e34\u0e4c\u0e39", "\u0e02\u0e36\u0e4d\u0e3a", "\u0e0e\u0e34\u0e4d\u0e38", "\u0e11\u0e37\u0e39", "\u0e04\u0e31\u0e4d\u0e39", "\u0e05\u0e33\u0e48\u0e38", "\u0e23\u0e4a\u0e38", "\u0e25\u0e31\u0e47\u0e38", "\u0e1d\u0e37\u0e4a\u0e3a", "\u0e04\u0e37\u0e4a\u0e38", "\u0e0c\u0e31\u0e49\u0e39", "\u0e04\u0e33\u0e4c\u0e39", "\u0e08\u0e35\u0e4e\u0e38", "\u0e2a\u0e31\u0e4c", "\u0e27\u0e33\u0e4d", "\u0e0f\u0e4e\u0e39", "\u0e1f\u0e36\u0e4b\u0e3a", "\u0e1b\u0e35\u0e4a\u0e38", "\u0e20\u0e31\u0e4e\u0e39", "\u0e1b\u0e37\u0e4e\u0e38", "\u0e06\u0e31\u0e4c\u0e3a", "\u0e12\u0e35\u0e49\u0e39", "\u0e15\u0e35\u0e4c\u0e38", "\u0e19\u0e34\u0e39", "\u0e03\u0e34\u0e47\u0e3a", "\u0e05\u0e33\u0e4b", "\u0e19\u0e49\u0e38", "\u0e20\u0e31\u0e4e", "\u0e1c\u0e4a\u0e3a", "\u0e1e\u0e34\u0e48", "\u0e01\u0e36\u0e38", "\u0e0f\u0e33\u0e4a\u0e39", "\u0e02\u0e4a\u0e39", "\u0e18\u0e31\u0e4c\u0e38", "\u0e2b\u0e34\u0e4e\u0e3a", "\u0e14\u0e35\u0e4e", "\u0e0b\u0e35\u0e4c\u0e39", "\u0e09\u0e31\u0e47\u0e38", "\u0e1c\u0e4d\u0e38", "\u0e27\u0e4e", "\u0e04\u0e34\u0e4a", "\u0e17\u0e47\u0e39", "\u0e11\u0e35\u0e4c\u0e38", "\u0e2c\u0e33\u0e4e", "\u0e1a\u0e36\u0e4d\u0e38", "\u0e2d\u0e4b\u0e39", "\u0e23\u0e31\u0e4e", "\u0e0e\u0e31\u0e39", "\u0e06\u0e33\u0e4d\u0e38", "\u0e11\u0e34\u0e47", "\u0e16\u0e33\u0e4d\u0e3a", "\u0e20\u0e33\u0e47\u0e3a", "\u0e27\u0e35\u0e49\u0e38", "\u0e0e\u0e35\u0e49\u0e39", "\u0e25\u0e35\u0e4d\u0e38", "\u0e11\u0e34\u0e4a\u0e39", "\u0e0b\u0e31\u0e4b\u0e38", "\u0e14\u0e31\u0e47\u0e3a", "\u0e0b\u0e36\u0e4c", "\u0e2a\u0e35\u0e4e", "\u0e2e\u0e37\u0e49", "\u0e03\u0e34\u0e4a", "\u0e08\u0e4b\u0e3a", "\u0e21\u0e47\u0e3a", "\u0e16\u0e36\u0e49", "\u0e04\u0e36\u0e4b\u0e38", "\u0e1d\u0e35\u0e4a", "\u0e29\u0e48", "\u0e2a\u0e35\u0e48\u0e39", "\u0e2d\u0e35\u0e38", "\u0e10\u0e31\u0e4a\u0e38", "\u0e1b\u0e35\u0e4a\u0e39", "\u0e0f\u0e31", "\u0e2c\u0e37\u0e4b\u0e38", "\u0e2e\u0e36\u0e47\u0e39", "\u0e2a\u0e48\u0e38", "\u0e13\u0e33\u0e4e\u0e39", "\u0e1d\u0e33\u0e47\u0e3a", "\u0e29\u0e31\u0e4a", "\u0e16\u0e36\u0e4a\u0e38", "\u0e14\u0e31\u0e39", "\u0e06\u0e33\u0e3a", "\u0e0b\u0e37\u0e47", "\u0e2d\u0e35\u0e4c", "\u0e1f\u0e4c\u0e38", "\u0e10\u0e36\u0e4e\u0e3a", "\u0e1e\u0e47\u0e38", "\u0e11\u0e36", "\u0e06\u0e37\u0e47\u0e39", "\u0e1b\u0e37\u0e4c\u0e39", "\u0e2e\u0e4b\u0e39", "\u0e0b\u0e33\u0e4d\u0e38", "\u0e1e\u0e35\u0e47\u0e39", "\u0e05\u0e34\u0e39", "\u0e2c\u0e35\u0e49\u0e38", "\u0e0a\u0e34\u0e4e", "\u0e05\u0e4d", "\u0e22\u0e35", "\u0e20\u0e36\u0e47", "\u0e08\u0e33\u0e4c\u0e38", "\u0e04\u0e31\u0e47", "\u0e2d\u0e31\u0e47\u0e39", "\u0e19\u0e4e\u0e39", "\u0e15\u0e35\u0e49\u0e39", "\u0e0f\u0e31\u0e49", "\u0e2a\u0e33\u0e4c\u0e3a", "\u0e2b\u0e35\u0e48\u0e39", "\u0e1d\u0e37\u0e38", "\u0e0f\u0e4c", "\u0e19\u0e36\u0e47\u0e3a", "\u0e2d\u0e36\u0e4c\u0e3a", "\u0e13\u0e34\u0e4a\u0e39", "\u0e08\u0e36\u0e4e\u0e3a", "\u0e2c\u0e4c", "\u0e19\u0e33\u0e49\u0e3a", "\u0e1b\u0e37\u0e48\u0e38", "\u0e01\u0e36\u0e4b\u0e39", "\u0e13\u0e36\u0e4c", "\u0e1e\u0e34\u0e4a\u0e38", "\u0e28\u0e36\u0e39", "\u0e2d\u0e35\u0e4b\u0e39", "\u0e22\u0e4b", "\u0e08\u0e31\u0e4c\u0e39", "\u0e2b\u0e34\u0e4e\u0e39", "\u0e06\u0e47\u0e38", "\u0e07\u0e37\u0e49\u0e3a", "\u0e04\u0e34\u0e48", "\u0e02\u0e34\u0e49\u0e39", "\u0e05\u0e33\u0e4e\u0e38", "\u0e2e\u0e31\u0e49", "\u0e2c\u0e47\u0e3a", "\u0e28\u0e35\u0e47", "\u0e06\u0e37\u0e49\u0e38", "\u0e08\u0e36\u0e4d", "\u0e08\u0e35\u0e4a\u0e3a", "\u0e0c\u0e33\u0e47\u0e39", "\u0e2a\u0e31\u0e48\u0e3a", "\u0e17\u0e34\u0e4c\u0e39", "\u0e0e\u0e36\u0e4b\u0e38", "\u0e2e\u0e36\u0e48\u0e39", "\u0e03\u0e31", "\u0e08\u0e34\u0e4e\u0e39", "\u0e1f\u0e33\u0e4c\u0e38", "\u0e19\u0e36\u0e49\u0e39", "\u0e0a\u0e33\u0e4e\u0e39", "\u0e2d\u0e47\u0e38", "\u0e0a\u0e35\u0e4a\u0e3a", "\u0e15\u0e4a\u0e39", "\u0e12\u0e33\u0e49", "\u0e13\u0e4d", "\u0e22\u0e34\u0e4b\u0e39", "\u0e18\u0e36\u0e47\u0e39", "\u0e0a\u0e36\u0e4e", "\u0e08\u0e39", "\u0e25\u0e35", "\u0e1a\u0e34\u0e3a", "\u0e12\u0e33\u0e48\u0e3a", "\u0e04\u0e49\u0e3a", "\u0e02\u0e37\u0e48\u0e38", "\u0e25\u0e36\u0e48\u0e3a", "\u0e09\u0e33\u0e4d", "\u0e22\u0e49\u0e38", "\u0e25\u0e34", "\u0e06\u0e35\u0e47\u0e39", "\u0e29\u0e49\u0e39", "\u0e25\u0e37\u0e4d\u0e38", "\u0e13\u0e33\u0e4d\u0e38", "\u0e21\u0e36\u0e47\u0e39", "\u0e2b\u0e31\u0e4b\u0e3a", "\u0e02\u0e34\u0e4e", "\u0e16\u0e33\u0e4e\u0e38", "\u0e20\u0e37\u0e3a", "\u0e15\u0e34\u0e49\u0e39", "\u0e22\u0e34\u0e4d", "\u0e0b\u0e34\u0e47\u0e38", "\u0e18\u0e34\u0e4c\u0e3a", "\u0e08\u0e31\u0e4e\u0e3a", "\u0e16\u0e31\u0e4b\u0e3a", "\u0e16\u0e4b\u0e38", "\u0e0f\u0e4d\u0e3a", "\u0e14\u0e33\u0e4e\u0e39", "\u0e04\u0e36\u0e4d\u0e38", "\u0e2d\u0e31\u0e49\u0e38", "\u0e01\u0e35", "\u0e1e\u0e33\u0e39", "\u0e05\u0e34\u0e49\u0e38", "\u0e01\u0e49\u0e39", "\u0e21\u0e4c\u0e38", "\u0e2b\u0e37\u0e4e\u0e3a", "\u0e2b\u0e36\u0e4c\u0e38", "\u0e2b\u0e34\u0e4c\u0e3a", "\u0e0d\u0e4b\u0e39", "\u0e2d\u0e31\u0e38", "\u0e19\u0e33\u0e4b\u0e3a", "\u0e08\u0e34\u0e4e", "\u0e18\u0e37\u0e4e\u0e39", "\u0e2e\u0e34", "\u0e2a\u0e36\u0e3a", "\u0e1b\u0e4d", "\u0e22\u0e35\u0e47", "\u0e25\u0e37\u0e4c", "\u0e1a\u0e31\u0e4d\u0e39", "\u0e14\u0e37\u0e4c\u0e39", "\u0e1c\u0e33\u0e3a", "\u0e16\u0e31\u0e4d\u0e38", "\u0e0b\u0e35\u0e47\u0e39", "\u0e09\u0e31\u0e4d\u0e39", "\u0e29\u0e35\u0e4c\u0e39", "\u0e2a\u0e37\u0e48\u0e39", "\u0e02\u0e33\u0e4d\u0e38", "\u0e0c\u0e34\u0e39", "\u0e0d\u0e35\u0e4d", "\u0e0d\u0e34\u0e4e\u0e3a", "\u0e0b\u0e33\u0e4e\u0e39", "\u0e15\u0e35\u0e48", "\u0e02\u0e35\u0e4e", "\u0e2e\u0e4d\u0e3a", "\u0e08\u0e35\u0e4a\u0e38", "\u0e0a\u0e33\u0e47\u0e38", "\u0e08\u0e35\u0e49\u0e38", "\u0e22\u0e33\u0e49\u0e3a", "\u0e1d\u0e31\u0e4a\u0e3a", "\u0e2c\u0e36\u0e49\u0e3a", "\u0e2b\u0e4e", "\u0e08\u0e31\u0e49\u0e38", "\u0e06\u0e33\u0e4a", "\u0e23\u0e37\u0e4a\u0e39", "\u0e17\u0e4b\u0e39", "\u0e18\u0e4b", "\u0e1b\u0e4a\u0e38", "\u0e0b\u0e36\u0e4a\u0e3a", "\u0e02\u0e31\u0e38", "\u0e06\u0e31\u0e4c\u0e38", "\u0e14\u0e36\u0e4d\u0e38", "\u0e07\u0e39", "\u0e07\u0e34\u0e49", "\u0e14\u0e37\u0e47\u0e3a", "\u0e23\u0e4b\u0e3a", "\u0e01\u0e4a\u0e39", "\u0e21\u0e31\u0e4b\u0e38", "\u0e01\u0e34\u0e4a\u0e39", "\u0e18\u0e33\u0e47\u0e39", "\u0e04\u0e4d\u0e38", "\u0e14\u0e4b\u0e39", "\u0e01\u0e34\u0e48\u0e38", "\u0e02\u0e34\u0e4b\u0e3a", "\u0e14\u0e35\u0e4b\u0e38", "\u0e16\u0e34\u0e4e\u0e3a", "\u0e15\u0e4c\u0e3a", "\u0e27\u0e33\u0e4b\u0e38", "\u0e22\u0e33\u0e4c", "\u0e17\u0e35\u0e48\u0e39", "\u0e15\u0e35\u0e4a\u0e38", "\u0e21\u0e31\u0e4c\u0e39", "\u0e2d\u0e31\u0e4c\u0e39", "\u0e11\u0e33\u0e48", "\u0e0b\u0e33\u0e4e\u0e38", "\u0e22\u0e33\u0e48\u0e39", "\u0e15\u0e49", "\u0e29\u0e37\u0e49\u0e39", "\u0e1e\u0e34\u0e49\u0e38", "\u0e10\u0e34\u0e4c\u0e3a", "\u0e28\u0e31\u0e49\u0e3a", "\u0e25\u0e35\u0e4c\u0e38", "\u0e2d\u0e37\u0e4b\u0e38", "\u0e13\u0e37\u0e48\u0e38", "\u0e0a\u0e33\u0e4c", "\u0e28\u0e34\u0e4c\u0e38", "\u0e1e\u0e4d\u0e3a", "\u0e12\u0e34", "\u0e2a\u0e35\u0e47", "\u0e1f\u0e35\u0e48\u0e3a", "\u0e29\u0e31\u0e4e\u0e3a", "\u0e18\u0e34\u0e4b\u0e3a", "\u0e0a\u0e34\u0e4e\u0e39", "\u0e1f\u0e37\u0e4e\u0e3a", "\u0e2c\u0e33\u0e4e\u0e39", "\u0e16\u0e37\u0e4a\u0e3a", "\u0e0e\u0e31\u0e4a\u0e38", "\u0e2c\u0e34\u0e4c\u0e3a", "\u0e12\u0e33\u0e48\u0e39", "\u0e02\u0e33\u0e49\u0e39", "\u0e23\u0e31", "\u0e1d\u0e37\u0e4c", "\u0e25\u0e37\u0e47\u0e38", "\u0e28\u0e36\u0e48", "\u0e11\u0e31\u0e48\u0e3a", "\u0e11\u0e35\u0e48\u0e38", "\u0e1a\u0e36\u0e49\u0e3a", "\u0e2a\u0e36\u0e4a\u0e3a", "\u0e03\u0e35\u0e4d\u0e3a", "\u0e1f\u0e34\u0e4e\u0e3a", "\u0e1f\u0e36\u0e38", "\u0e13\u0e37\u0e38", "\u0e2e\u0e37\u0e48\u0e3a", "\u0e2b\u0e35\u0e39", "\u0e0d\u0e36\u0e4c\u0e3a", "\u0e27\u0e33\u0e38", "\u0e07\u0e48\u0e39", "\u0e12\u0e35\u0e39", "\u0e1a\u0e37\u0e49\u0e3a", "\u0e1a\u0e33\u0e4d\u0e3a", "\u0e23\u0e33\u0e4a\u0e38", "\u0e02\u0e33\u0e4a\u0e39", "\u0e07\u0e34\u0e38", "\u0e20\u0e31\u0e48\u0e38", "\u0e27\u0e37\u0e39", "\u0e08\u0e34\u0e48\u0e38", "\u0e12\u0e49\u0e39", "\u0e2c\u0e31\u0e4e\u0e38", "\u0e1c\u0e36\u0e49\u0e39", "\u0e0b\u0e33", "\u0e09\u0e47\u0e3a", "\u0e21\u0e33\u0e48\u0e39", "\u0e1c\u0e36\u0e4c\u0e39", "\u0e16\u0e34\u0e49", "\u0e19\u0e33\u0e4a\u0e39", "\u0e13\u0e33\u0e48\u0e38", "\u0e0e\u0e33\u0e4c", "\u0e22\u0e34\u0e4d\u0e3a", "\u0e13\u0e34\u0e39", "\u0e1c\u0e4b", "\u0e0a\u0e36\u0e4d\u0e3a", "\u0e0d\u0e36\u0e4e\u0e38", "\u0e1a\u0e34\u0e39", "\u0e2b\u0e49\u0e38", "\u0e15\u0e37\u0e47\u0e3a", "\u0e10\u0e31\u0e48", "\u0e0f\u0e36\u0e48\u0e39", "\u0e23\u0e35\u0e49", "\u0e2b\u0e33", "\u0e0e\u0e33\u0e4d\u0e38", "\u0e17\u0e33\u0e49\u0e3a", "\u0e13\u0e48\u0e3a", "\u0e1c\u0e34\u0e4e\u0e3a", "\u0e2a\u0e34\u0e48", "\u0e20\u0e33\u0e4c", "\u0e23\u0e34\u0e4c\u0e3a", "\u0e23\u0e37\u0e4a\u0e3a", "\u0e15\u0e4d\u0e3a", "\u0e2a\u0e36\u0e4e\u0e38", "\u0e13\u0e4a\u0e39", "\u0e1d\u0e35\u0e49\u0e39", "\u0e2c\u0e34\u0e48", "\u0e06\u0e36\u0e4d\u0e39", "\u0e22\u0e35\u0e4b\u0e38", "\u0e2a\u0e31\u0e4b\u0e38", "\u0e1e\u0e34\u0e48\u0e3a", "\u0e15\u0e31\u0e4a\u0e39", "\u0e25\u0e34\u0e4a\u0e3a", "\u0e2a\u0e35\u0e4a", "\u0e15\u0e37\u0e38", "\u0e0c\u0e36\u0e39", "\u0e21\u0e33\u0e48", "\u0e0f\u0e37\u0e49\u0e38", "\u0e23\u0e31\u0e49\u0e3a", "\u0e13\u0e36\u0e4a\u0e38", "\u0e12\u0e34\u0e47\u0e39", "\u0e11\u0e33\u0e4d", "\u0e13\u0e37\u0e4c\u0e39", "\u0e29\u0e36\u0e4d", "\u0e1c\u0e34\u0e4e\u0e38", "\u0e0a\u0e33\u0e4d\u0e39", "\u0e10\u0e37\u0e4b", "\u0e08\u0e33\u0e48\u0e3a", "\u0e1f\u0e37\u0e4e\u0e39", "\u0e1e\u0e36\u0e47\u0e39", "\u0e2d\u0e31\u0e47", "\u0e01\u0e33\u0e4c\u0e3a", "\u0e0e\u0e34\u0e38", "\u0e1c\u0e33\u0e4d\u0e39", "\u0e22\u0e48\u0e38", "\u0e0e\u0e36\u0e4e\u0e38", "\u0e17\u0e36\u0e4e\u0e3a", "\u0e0e\u0e33\u0e48", "\u0e22\u0e36\u0e4c", "\u0e11\u0e37\u0e47\u0e3a", "\u0e09\u0e33\u0e48\u0e39", "\u0e11\u0e33\u0e49\u0e3a", "\u0e25\u0e35\u0e4c\u0e39", "\u0e13\u0e48\u0e39", "\u0e29\u0e36\u0e4a\u0e39", "\u0e0f\u0e31\u0e4a\u0e38", "\u0e0d\u0e4b\u0e3a", "\u0e20\u0e36\u0e49\u0e39", "\u0e01\u0e34\u0e39", "\u0e25\u0e33\u0e49", "\u0e29\u0e33\u0e4c\u0e38", "\u0e27\u0e3a", "\u0e1f\u0e31\u0e4d\u0e38", "\u0e1a\u0e49\u0e39", "\u0e05\u0e31\u0e49\u0e39", "\u0e2c\u0e31\u0e48\u0e3a", "\u0e17\u0e4d\u0e38", "\u0e1e\u0e37\u0e48\u0e39", "\u0e0a\u0e33\u0e47\u0e3a", "\u0e02\u0e33\u0e39", "\u0e22\u0e36\u0e4d\u0e3a", "\u0e0a\u0e31\u0e49", "\u0e21\u0e37\u0e47\u0e39", "\u0e2c\u0e34\u0e4a\u0e39", "\u0e22\u0e31\u0e39", "\u0e20\u0e33\u0e39", "\u0e0f\u0e36\u0e49\u0e3a", "\u0e1a\u0e34\u0e48\u0e3a", "\u0e28\u0e31\u0e4a", "\u0e12\u0e31\u0e47\u0e38", "\u0e2e\u0e33\u0e49", "\u0e04\u0e37\u0e4d\u0e39", "\u0e2d\u0e36\u0e49\u0e39", "\u0e29\u0e48\u0e38", "\u0e0c\u0e35\u0e4d\u0e3a", "\u0e0d\u0e33\u0e4e\u0e38", "\u0e2d\u0e34\u0e39", "\u0e12\u0e37\u0e4b", "\u0e10\u0e35", "\u0e02\u0e31\u0e4b\u0e38", "\u0e0e\u0e33\u0e4d\u0e39", "\u0e2d\u0e4d", "\u0e0b\u0e31\u0e4b", "\u0e11\u0e37\u0e48\u0e39", "\u0e23\u0e35\u0e38", "\u0e16\u0e36\u0e48\u0e38", "\u0e0d\u0e33\u0e4d\u0e3a", "\u0e1f\u0e31\u0e48\u0e38", "\u0e19\u0e31\u0e47", "\u0e01\u0e31\u0e47\u0e39", "\u0e27\u0e48", "\u0e13\u0e35\u0e4a\u0e39", "\u0e1f\u0e34", "\u0e27\u0e34\u0e49\u0e3a", "\u0e22\u0e48", "\u0e27\u0e35\u0e48\u0e38", "\u0e19\u0e36\u0e4e\u0e39", "\u0e29\u0e36\u0e4e\u0e39", "\u0e0d\u0e34\u0e49\u0e3a", "\u0e09\u0e33\u0e49\u0e38", "\u0e2d\u0e4b\u0e3a", "\u0e09\u0e33\u0e49\u0e3a", "\u0e0a\u0e37\u0e4d\u0e39", "\u0e04\u0e47", "\u0e0b\u0e33\u0e4e", "\u0e0c\u0e37\u0e3a", "\u0e16\u0e34\u0e4e\u0e39", "\u0e08\u0e4a\u0e38", "\u0e1c\u0e36\u0e4a\u0e3a", "\u0e18\u0e31\u0e49\u0e38", "\u0e04\u0e34\u0e4d\u0e39", "\u0e27\u0e37\u0e49\u0e39", "\u0e05\u0e31", "\u0e0f\u0e33\u0e47", "\u0e0c\u0e35\u0e4a", "\u0e09\u0e33\u0e4a\u0e3a", "\u0e04\u0e4b\u0e38", "\u0e0f\u0e31\u0e4d", "\u0e23\u0e36\u0e47\u0e3a", "\u0e2a\u0e34\u0e4b\u0e38", "\u0e16\u0e37\u0e49", "\u0e14\u0e35\u0e4e\u0e38", "\u0e0a\u0e36\u0e49", "\u0e01\u0e36\u0e4d", "\u0e11\u0e34\u0e4a", "\u0e0f\u0e37\u0e4e", "\u0e03\u0e4a\u0e3a", "\u0e1a\u0e34\u0e4b\u0e38", "\u0e13\u0e34\u0e48\u0e38", "\u0e0f\u0e35\u0e4d", "\u0e10\u0e35\u0e4d\u0e39", "\u0e2b\u0e35\u0e47\u0e3a", "\u0e09\u0e31\u0e4a\u0e3a", "\u0e2d\u0e33\u0e49", "\u0e22\u0e35\u0e39", "\u0e07\u0e48\u0e38", "\u0e2c\u0e37\u0e4e", "\u0e25\u0e4a\u0e38", "\u0e22\u0e37\u0e49\u0e39", "\u0e12\u0e36\u0e4b\u0e3a", "\u0e09\u0e35\u0e4e", "\u0e0c\u0e37\u0e4c\u0e39", "\u0e0e\u0e36\u0e48\u0e39", "\u0e06\u0e33\u0e48\u0e3a", "\u0e13\u0e37\u0e4e\u0e3a", "\u0e13\u0e4c\u0e38", "\u0e15\u0e35\u0e4e", "\u0e18\u0e36\u0e4a\u0e3a", "\u0e13\u0e35\u0e4b\u0e39", "\u0e1c\u0e36\u0e47\u0e3a", "\u0e0e\u0e34\u0e48\u0e39", "\u0e21\u0e34\u0e4c\u0e3a", "\u0e16\u0e35\u0e49", "\u0e0d\u0e35\u0e47", "\u0e20\u0e33\u0e4e\u0e39", "\u0e1f\u0e34\u0e3a", "\u0e1d\u0e4a\u0e39", "\u0e1f\u0e34\u0e49", "\u0e2e\u0e33\u0e48\u0e3a", "\u0e22\u0e36", "\u0e1a\u0e4c", "\u0e2e\u0e35\u0e3a", "\u0e03\u0e31\u0e48", "\u0e04\u0e35\u0e3a", "\u0e2d\u0e4c\u0e39", "\u0e18\u0e35\u0e4b\u0e38", "\u0e01\u0e34\u0e4d\u0e3a", "\u0e14", "\u0e0f\u0e31\u0e4b\u0e38", "\u0e12\u0e37\u0e48\u0e38", "\u0e07\u0e31\u0e4a\u0e38", "\u0e29\u0e35\u0e4e", "\u0e18\u0e35\u0e4c\u0e38", "\u0e01\u0e31\u0e48", "\u0e0e\u0e49\u0e38", "\u0e10\u0e31\u0e47\u0e38", "\u0e0f\u0e34\u0e3a", "\u0e28\u0e36\u0e47", "\u0e2e\u0e37\u0e39", "\u0e21\u0e37\u0e47\u0e38", "\u0e09\u0e35\u0e48\u0e39", "\u0e29\u0e31\u0e3a", "\u0e16\u0e31\u0e4a", "\u0e07\u0e36\u0e4c\u0e38", "\u0e1f\u0e33\u0e47\u0e38", "\u0e25\u0e37\u0e4c\u0e39", "\u0e01\u0e49\u0e38", "\u0e0e\u0e34\u0e4c\u0e38", "\u0e1d\u0e35\u0e4d\u0e39", "\u0e1e\u0e34\u0e4e", "\u0e15\u0e31\u0e49\u0e38", "\u0e2e\u0e37\u0e47\u0e38", "\u0e14\u0e4d\u0e39", "\u0e0d\u0e35\u0e4e", "\u0e0a\u0e33\u0e4e\u0e38", "\u0e10\u0e3a", "\u0e1d\u0e35\u0e4c", "\u0e13\u0e4b\u0e38", "\u0e16\u0e37\u0e4c\u0e3a", "\u0e25\u0e37\u0e4e", "\u0e13\u0e34\u0e47\u0e39", "\u0e1c\u0e36\u0e4d\u0e38", "\u0e2a\u0e33\u0e47", "\u0e1c\u0e36\u0e4b\u0e3a", "\u0e17\u0e36\u0e4e", "\u0e29\u0e4a\u0e3a", "\u0e2e\u0e33\u0e4d\u0e38", "\u0e1d\u0e37\u0e49\u0e39", "\u0e16\u0e34\u0e48\u0e38", "\u0e0d\u0e34\u0e38", "\u0e10\u0e33\u0e4c\u0e3a", "\u0e2c\u0e34\u0e49\u0e3a", "\u0e21\u0e35\u0e4a\u0e38", "\u0e15\u0e34\u0e4a\u0e38", "\u0e0c\u0e31\u0e4c\u0e39", "\u0e07\u0e31\u0e4a", "\u0e2a\u0e34\u0e4b\u0e3a", "\u0e1a\u0e35\u0e49", "\u0e27\u0e31\u0e48\u0e3a", "\u0e2d\u0e37\u0e4c\u0e3a", "\u0e03\u0e37\u0e4c\u0e38", "\u0e14\u0e31\u0e4e\u0e39", "\u0e04\u0e4e\u0e3a", "\u0e25\u0e36\u0e4e\u0e3a", "\u0e03\u0e35\u0e3a", "\u0e2e\u0e36\u0e4a\u0e39", "\u0e07\u0e34\u0e4a\u0e38", "\u0e1f\u0e35\u0e4d\u0e38", "\u0e15\u0e35\u0e49\u0e3a", "\u0e28\u0e31\u0e4d\u0e3a", "\u0e07\u0e4b\u0e39", "\u0e14\u0e37\u0e4b\u0e38", "\u0e0b\u0e37\u0e49\u0e38", "\u0e18\u0e48\u0e3a", "\u0e09\u0e35\u0e4a", "\u0e14\u0e35\u0e38", "\u0e16\u0e48\u0e3a", "\u0e13\u0e35\u0e48\u0e3a", "\u0e25\u0e33\u0e4a\u0e38", "\u0e03\u0e36\u0e4b\u0e3a", "\u0e03\u0e35\u0e4a\u0e39", "\u0e08\u0e36\u0e4d\u0e39", "\u0e2a\u0e36\u0e49\u0e3a", "\u0e0f\u0e31\u0e48\u0e38", "\u0e1b\u0e33\u0e4c\u0e3a", "\u0e05\u0e31\u0e47\u0e38", "\u0e1a\u0e4b", "\u0e28\u0e34\u0e4a", "\u0e13\u0e33\u0e49\u0e38", "\u0e22\u0e36\u0e4b", "\u0e06\u0e33\u0e49\u0e38", "\u0e23\u0e33\u0e47\u0e3a", "\u0e21\u0e37\u0e3a", "\u0e09\u0e48\u0e3a", "\u0e0c\u0e4c\u0e38", "\u0e17\u0e49\u0e39", "\u0e04\u0e34\u0e4d\u0e3a", "\u0e27\u0e31\u0e4c", "\u0e1e\u0e37\u0e4b\u0e39", "\u0e23\u0e31\u0e4b", "\u0e2c\u0e33", "\u0e25\u0e33\u0e4a", "\u0e09\u0e31\u0e47\u0e3a", "\u0e0c\u0e37\u0e47", "\u0e05\u0e31\u0e4b\u0e3a", "\u0e0d\u0e33\u0e47\u0e39", "\u0e25\u0e36\u0e4d\u0e39", "\u0e06\u0e37\u0e4c\u0e3a", "\u0e22\u0e37\u0e4e", "\u0e01\u0e37\u0e4e\u0e3a", "\u0e14\u0e37\u0e4c\u0e38", "\u0e11\u0e31\u0e4d\u0e3a", "\u0e1f\u0e36\u0e48", "\u0e16\u0e36\u0e4d\u0e39", "\u0e0f\u0e33\u0e4a\u0e38", "\u0e0c\u0e33\u0e3a", "\u0e16\u0e34\u0e4d\u0e3a", "\u0e17\u0e34\u0e4e\u0e38", "\u0e16\u0e31\u0e47\u0e3a", "\u0e21\u0e36\u0e4c", "\u0e12\u0e33\u0e4a", "\u0e15\u0e37\u0e48\u0e3a", "\u0e1d\u0e34\u0e4c\u0e3a", "\u0e2d\u0e34\u0e4c\u0e38", "\u0e28\u0e36\u0e4a\u0e38", "\u0e15\u0e36\u0e4c\u0e3a", "\u0e10\u0e36", "\u0e2d\u0e31\u0e4d\u0e3a", "\u0e0f\u0e37\u0e4c", "\u0e0a\u0e4d\u0e39", "\u0e08\u0e37\u0e4e\u0e38", "\u0e18\u0e31\u0e4b", "\u0e18\u0e39", "\u0e10\u0e37\u0e4c", "\u0e19\u0e36\u0e48", "\u0e08\u0e48", "\u0e29\u0e37\u0e47\u0e3a", "\u0e1a\u0e35\u0e4c\u0e38", "\u0e28\u0e4d\u0e3a", "\u0e21\u0e34\u0e48\u0e3a", "\u0e03\u0e35\u0e47\u0e39", "\u0e0b\u0e33\u0e4c", "\u0e01\u0e35\u0e49", "\u0e0a\u0e35\u0e4c\u0e3a", "\u0e1c\u0e35\u0e4c\u0e3a", "\u0e28\u0e36\u0e4b", "\u0e04\u0e34\u0e4e", "\u0e28\u0e37\u0e4c", "\u0e17\u0e31\u0e49\u0e38", "\u0e2d\u0e31\u0e49", "\u0e0e\u0e31\u0e49\u0e39", "\u0e06\u0e34\u0e38", "\u0e0b\u0e35\u0e48\u0e39", "\u0e22\u0e37\u0e4b\u0e39", "\u0e20\u0e36\u0e49\u0e38", "\u0e20\u0e35\u0e4d\u0e3a", "\u0e19\u0e31\u0e49\u0e38", "\u0e1e\u0e4d", "\u0e06\u0e37\u0e39", "\u0e04\u0e34\u0e4a\u0e3a", "\u0e06\u0e4e\u0e3a", "\u0e12\u0e47", "\u0e2a\u0e49\u0e39", "\u0e1e\u0e4e\u0e3a", "\u0e10\u0e4b\u0e39", "\u0e19\u0e33\u0e49\u0e39", "\u0e18\u0e37\u0e4e", "\u0e25\u0e37\u0e49\u0e39", "\u0e20\u0e37\u0e48\u0e39", "\u0e12\u0e34\u0e4a\u0e38", "\u0e03\u0e34\u0e49", "\u0e1c\u0e4b\u0e39", "\u0e20\u0e35\u0e4b", "\u0e0d\u0e36\u0e3a", "\u0e0a\u0e31\u0e49\u0e3a", "\u0e17\u0e31\u0e47\u0e38", "\u0e02\u0e4c\u0e39", "\u0e1a\u0e31\u0e4c", "\u0e1c\u0e37\u0e4d", "\u0e07\u0e36\u0e4b\u0e39", "\u0e1c\u0e34\u0e49\u0e38", "\u0e19\u0e34\u0e4e\u0e3a", "\u0e0f\u0e36\u0e4e", "\u0e01\u0e37\u0e4d\u0e38", "\u0e2b\u0e34\u0e4c", "\u0e0c\u0e33\u0e4e\u0e38", "\u0e0f\u0e35\u0e49\u0e38", "\u0e1e\u0e31\u0e38", "\u0e2b\u0e33\u0e4a\u0e38", "\u0e1b\u0e37\u0e4a\u0e38", "\u0e07\u0e47\u0e38", "\u0e21\u0e36\u0e49\u0e39", "\u0e14\u0e37\u0e48\u0e38", "\u0e02\u0e34\u0e4a\u0e39", "\u0e2e\u0e4a\u0e38", "\u0e1a\u0e33\u0e48\u0e38", "\u0e18\u0e37", "\u0e13\u0e47", "\u0e2e\u0e34\u0e4b", "\u0e28\u0e37", "\u0e06\u0e34\u0e4c\u0e38", "\u0e08\u0e4e\u0e3a", "\u0e06\u0e48\u0e3a", "\u0e0a\u0e37\u0e4c\u0e3a", "\u0e05\u0e33\u0e4c", "\u0e2c\u0e33\u0e4b\u0e39", "\u0e1a\u0e4c\u0e3a", "\u0e1d\u0e31\u0e48\u0e39", "\u0e0a\u0e4c\u0e39", "\u0e03\u0e49", "\u0e08\u0e37\u0e48\u0e3a", "\u0e29\u0e33\u0e4e\u0e3a", "\u0e0b\u0e34\u0e4a\u0e38", "\u0e17\u0e36\u0e4c", "\u0e09\u0e35\u0e49\u0e39", "\u0e0b\u0e34\u0e39", "\u0e0b\u0e36\u0e4b\u0e39", "\u0e05\u0e4c\u0e38", "\u0e14\u0e3a", "\u0e1b\u0e35\u0e49\u0e38", "\u0e20\u0e35\u0e4a", "\u0e01\u0e37\u0e4e", "\u0e0a\u0e31\u0e49\u0e38", "\u0e2c\u0e31\u0e47\u0e3a", "\u0e16\u0e37\u0e48", "\u0e1d\u0e34\u0e4d\u0e38", "\u0e2d\u0e37\u0e4d\u0e3a", "\u0e0d\u0e48\u0e3a", "\u0e1e\u0e34\u0e49\u0e39", "\u0e0d\u0e37\u0e3a", "\u0e1b\u0e33\u0e48\u0e39", "\u0e0a\u0e31\u0e4a\u0e38", "\u0e0f\u0e33\u0e39", "\u0e0d\u0e37\u0e4b\u0e3a", "\u0e2c\u0e35\u0e4c", "\u0e08\u0e34\u0e49\u0e3a", "\u0e25\u0e36\u0e49", "\u0e0d\u0e36\u0e47", "\u0e18\u0e4a", "\u0e18\u0e37\u0e4e\u0e3a", "\u0e08\u0e37\u0e4b\u0e38", "\u0e01\u0e31", "\u0e1b\u0e35\u0e4d", "\u0e12\u0e37\u0e4e\u0e39", "\u0e20\u0e36\u0e47\u0e39", "\u0e01\u0e31\u0e4d\u0e3a", "\u0e16\u0e35\u0e4d\u0e38", "\u0e0b\u0e34\u0e47", "\u0e2e\u0e35\u0e49\u0e38", "\u0e12\u0e35\u0e49", "\u0e1f\u0e31\u0e4c\u0e38", "\u0e21\u0e35\u0e4c\u0e38", "\u0e16\u0e37\u0e4c\u0e38", "\u0e07\u0e36\u0e4d\u0e3a", "\u0e15\u0e49\u0e3a", "\u0e13\u0e33\u0e4e", "\u0e09\u0e34\u0e4a\u0e39", "\u0e14\u0e34\u0e4a", "\u0e16\u0e4a\u0e38", "\u0e2c\u0e36\u0e4c\u0e38", "\u0e01\u0e33\u0e48\u0e3a", "\u0e01\u0e37\u0e49\u0e38", "\u0e1c\u0e36\u0e49", "\u0e1d\u0e37\u0e4c\u0e38", "\u0e08\u0e36\u0e4a", "\u0e0f\u0e34\u0e4d\u0e3a", "\u0e28\u0e31\u0e4e\u0e39", "\u0e0b\u0e36\u0e38", "\u0e04\u0e37\u0e4b\u0e3a", "\u0e07\u0e36\u0e47", "\u0e0c\u0e35\u0e47\u0e3a", "\u0e22\u0e37\u0e47\u0e38", "\u0e2c\u0e35\u0e48\u0e3a", "\u0e1c\u0e35\u0e4a", "\u0e2b\u0e34\u0e4a\u0e39", "\u0e0a\u0e31\u0e4e\u0e3a", "\u0e18\u0e31\u0e4a\u0e3a", "\u0e23\u0e33\u0e38", "\u0e11\u0e33\u0e48\u0e39", "\u0e13\u0e31\u0e39", "\u0e1c\u0e35\u0e48", "\u0e0a\u0e35\u0e4c\u0e39", "\u0e13\u0e35\u0e39", "\u0e0c\u0e35\u0e4e\u0e3a", "\u0e2d\u0e31\u0e48\u0e38", "\u0e1c\u0e48\u0e3a", "\u0e1c\u0e37\u0e4b", "\u0e2b\u0e36\u0e4c", "\u0e20\u0e31\u0e4d\u0e38", "\u0e11\u0e37\u0e47\u0e39", "\u0e2b\u0e36\u0e4e\u0e3a", "\u0e0d\u0e33\u0e4e\u0e39", "\u0e06\u0e35\u0e4c\u0e3a", "\u0e0b\u0e35\u0e38", "\u0e09\u0e36\u0e4e\u0e39", "\u0e25\u0e36\u0e3a", "\u0e25\u0e36\u0e49\u0e38", "\u0e0b\u0e34\u0e4b\u0e38", "\u0e15\u0e34", "\u0e2d\u0e36\u0e47\u0e39", "\u0e28\u0e37\u0e4d", "\u0e28\u0e34\u0e47\u0e38", "\u0e01\u0e31\u0e49\u0e39", "\u0e19\u0e36\u0e4d", "\u0e09\u0e37\u0e47", "\u0e2a\u0e31\u0e4c\u0e39", "\u0e08\u0e31\u0e3a", "\u0e06\u0e37\u0e4b\u0e3a", "\u0e23\u0e47\u0e3a", "\u0e29\u0e31\u0e4d\u0e39", "\u0e15\u0e33\u0e47\u0e39", "\u0e0a\u0e34\u0e4d\u0e3a", "\u0e08\u0e37\u0e39", "\u0e17\u0e31\u0e4a\u0e3a", "\u0e0c\u0e37\u0e4c\u0e3a", "\u0e14\u0e31\u0e49\u0e38", "\u0e2c\u0e37\u0e49\u0e39", "\u0e2d\u0e35\u0e39", "\u0e06\u0e36\u0e4d\u0e38", "\u0e08\u0e33", "\u0e27\u0e31\u0e4d\u0e38", "\u0e11\u0e35\u0e48\u0e39", "\u0e06\u0e4b", "\u0e0f\u0e49\u0e38", "\u0e0e\u0e34\u0e4e", "\u0e10\u0e34\u0e4d\u0e39", "\u0e12\u0e33\u0e4e\u0e38", "\u0e2a\u0e36\u0e47", "\u0e0e\u0e35\u0e38", "\u0e25\u0e36\u0e4b", "\u0e1c\u0e47", "\u0e1c\u0e35\u0e4c", "\u0e06\u0e34\u0e39", "\u0e1a\u0e35\u0e3a", "\u0e16\u0e4d", "\u0e10\u0e31\u0e4b", "\u0e07\u0e33\u0e4d\u0e3a", "\u0e03\u0e35\u0e4d", "\u0e2b\u0e35\u0e49\u0e3a", "\u0e0d\u0e34\u0e39", "\u0e2d\u0e36\u0e4c\u0e39", "\u0e06\u0e33\u0e49\u0e3a", "\u0e07\u0e33\u0e38", "\u0e04\u0e34\u0e4e\u0e38", "\u0e20\u0e34\u0e49\u0e39", "\u0e16\u0e34\u0e47", "\u0e07\u0e36\u0e47\u0e38", "\u0e1e\u0e35\u0e48\u0e38", "\u0e23\u0e34\u0e47\u0e3a", "\u0e03\u0e34\u0e48", "\u0e0a\u0e35\u0e4e\u0e3a", "\u0e1b\u0e34\u0e4e\u0e38", "\u0e1d\u0e35\u0e47\u0e39", "\u0e11\u0e31\u0e4a\u0e39", "\u0e0a\u0e36", "\u0e15\u0e37\u0e4a", "\u0e13\u0e31\u0e4a\u0e3a", "\u0e10\u0e31\u0e49\u0e38", "\u0e1f\u0e4c\u0e39", "\u0e0d\u0e35\u0e3a", "\u0e2b\u0e31\u0e4b", "\u0e0c\u0e47\u0e38", "\u0e22\u0e36\u0e4a", "\u0e1e\u0e35\u0e4c\u0e38", "\u0e11\u0e31\u0e39", "\u0e01\u0e35\u0e3a", "\u0e1a\u0e37\u0e4c\u0e3a", "\u0e2c\u0e35\u0e39", "\u0e1e\u0e36\u0e4c", "\u0e25\u0e4d\u0e39", "\u0e12\u0e33\u0e4b\u0e39", "\u0e2e\u0e47", "\u0e0a\u0e4b\u0e38", "\u0e1c\u0e37\u0e49", "\u0e04\u0e33\u0e4d", "\u0e03\u0e36\u0e4b\u0e39", "\u0e29\u0e49", "\u0e0d\u0e33\u0e4b\u0e3a", "\u0e06\u0e36\u0e4c\u0e39", "\u0e06\u0e35\u0e4a\u0e38", "\u0e0e\u0e33\u0e4e\u0e3a", "\u0e16\u0e35", "\u0e22\u0e34\u0e38", "\u0e02\u0e33\u0e4c\u0e39", "\u0e28\u0e33\u0e4b", "\u0e06\u0e35\u0e3a", "\u0e22\u0e35\u0e38", "\u0e2d\u0e31\u0e4e", "\u0e04\u0e33\u0e4d\u0e38", "\u0e20\u0e35\u0e38", "\u0e06\u0e36\u0e47\u0e39", "\u0e0b\u0e34\u0e38", "\u0e0f\u0e36\u0e4b\u0e3a", "\u0e0a\u0e34", "\u0e1b\u0e33\u0e49\u0e39", "\u0e14\u0e35\u0e4c\u0e38", "\u0e2c\u0e47\u0e39", "\u0e05\u0e33\u0e49\u0e38", "\u0e1d\u0e36\u0e48", "\u0e27\u0e4b\u0e39", "\u0e11\u0e31\u0e4b", "\u0e22\u0e4b\u0e3a", "\u0e22\u0e4d\u0e3a", "\u0e25\u0e31\u0e4e", "\u0e1e\u0e35\u0e4d\u0e38", "\u0e06\u0e37\u0e4c\u0e39", "\u0e19\u0e37\u0e4d", "\u0e16\u0e37", "\u0e0b\u0e33\u0e47", "\u0e1b\u0e37\u0e47\u0e3a", "\u0e19\u0e36\u0e47\u0e38", "\u0e28\u0e31\u0e4e\u0e38", "\u0e02\u0e36\u0e4a\u0e3a", "\u0e0f\u0e31\u0e49\u0e38", "\u0e25\u0e34\u0e4c", "\u0e11\u0e33\u0e47\u0e3a", "\u0e1a\u0e33\u0e49\u0e3a", "\u0e12\u0e36\u0e4e\u0e39", "\u0e0e\u0e31\u0e4c\u0e38", "\u0e22\u0e35\u0e4d\u0e38", "\u0e0a\u0e36\u0e4c\u0e3a", "\u0e0a\u0e4b", "\u0e0e\u0e36\u0e39", "\u0e1d\u0e36\u0e47", "\u0e22\u0e4d\u0e38", "\u0e14\u0e33\u0e4a\u0e39", "\u0e29\u0e34\u0e38", "\u0e18\u0e36\u0e48\u0e38", "\u0e17\u0e31\u0e49\u0e3a", "\u0e0c\u0e34\u0e4d\u0e39", "\u0e19\u0e35\u0e49\u0e38", "\u0e17\u0e37\u0e4b", "\u0e22\u0e34\u0e4e", "\u0e0e\u0e35\u0e49", "\u0e02\u0e4c", "\u0e1d\u0e49\u0e38", "\u0e14\u0e33\u0e4a\u0e3a", "\u0e1f\u0e37\u0e4d\u0e38", "\u0e11\u0e37\u0e4d\u0e3a", "\u0e13\u0e31\u0e4e\u0e39", "\u0e01", "\u0e25\u0e37\u0e4a\u0e38", "\u0e1d\u0e36\u0e47\u0e39", "\u0e06\u0e36\u0e4b\u0e39", "\u0e22\u0e37\u0e47\u0e3a", "\u0e1a\u0e36\u0e49\u0e38", "\u0e12\u0e34\u0e4e\u0e3a", "\u0e1f\u0e37\u0e49\u0e3a", "\u0e22\u0e36\u0e48\u0e39", "\u0e08\u0e36\u0e49\u0e38", "\u0e05\u0e36\u0e4e", "\u0e09\u0e49", "\u0e1b\u0e37\u0e47\u0e38", "\u0e29\u0e34\u0e47\u0e38", "\u0e20\u0e31\u0e4b", "\u0e03\u0e36\u0e47", "\u0e1f\u0e37\u0e4b\u0e39", "\u0e0d\u0e31\u0e4d\u0e3a", "\u0e0e\u0e33\u0e4c\u0e39", "\u0e17\u0e35\u0e47\u0e38", "\u0e28\u0e37\u0e4c\u0e3a", "\u0e01\u0e35\u0e4d\u0e39", "\u0e27\u0e33\u0e4d\u0e38", "\u0e14\u0e36\u0e48", "\u0e11\u0e34\u0e49\u0e39", "\u0e27\u0e31\u0e39", "\u0e1a\u0e4b\u0e39", "\u0e25\u0e36\u0e48\u0e39", "\u0e02\u0e37\u0e38", "\u0e03\u0e35\u0e49\u0e38", "\u0e0e\u0e36\u0e47\u0e38", "\u0e17\u0e31\u0e47\u0e3a", "\u0e2c\u0e37\u0e47\u0e39", "\u0e12\u0e36\u0e47\u0e38", "\u0e05\u0e31\u0e4b", "\u0e2b\u0e36\u0e4a\u0e3a", "\u0e15\u0e35\u0e4a", "\u0e09\u0e48\u0e39", "\u0e2b\u0e31\u0e48\u0e39", "\u0e13\u0e47\u0e39", "\u0e1a\u0e33\u0e49\u0e39", "\u0e1a\u0e37\u0e47\u0e38", "\u0e10\u0e33\u0e47\u0e38", "\u0e13\u0e34\u0e4d\u0e3a", "\u0e1d\u0e4e", "\u0e19\u0e35\u0e4e\u0e38", "\u0e29\u0e31\u0e38", "\u0e20\u0e4d\u0e38", "\u0e2c\u0e39", "\u0e25\u0e39", "\u0e2d\u0e47\u0e3a", "\u0e0b\u0e31\u0e38", "\u0e0e\u0e31\u0e4a\u0e3a", "\u0e2d\u0e31\u0e4d\u0e38", "\u0e2d\u0e33\u0e4c\u0e3a", "\u0e21\u0e37\u0e4d\u0e3a", "\u0e2a\u0e35\u0e4b\u0e38", "\u0e28\u0e34\u0e4a\u0e38", "\u0e15\u0e37\u0e4c\u0e38", "\u0e14\u0e34\u0e4a\u0e39", "\u0e1a\u0e33\u0e47\u0e39", "\u0e19\u0e34\u0e48", "\u0e2e\u0e36\u0e4c\u0e39", "\u0e17\u0e37\u0e47\u0e3a", "\u0e2c\u0e37\u0e49\u0e3a", "\u0e2e\u0e3a", "\u0e02\u0e4c\u0e3a", "\u0e02\u0e34\u0e4a\u0e38", "\u0e2d\u0e4a\u0e38", "\u0e22\u0e34\u0e48\u0e39", "\u0e2b\u0e31\u0e4b\u0e39", "\u0e06\u0e36\u0e49\u0e39", "\u0e17\u0e33\u0e49", "\u0e1c\u0e33\u0e4c\u0e39", "\u0e16\u0e37\u0e4c\u0e39", "\u0e25\u0e35\u0e4a\u0e3a", "\u0e22\u0e34\u0e4b", "\u0e0e\u0e36\u0e4b", "\u0e0b\u0e4b\u0e3a", "\u0e11\u0e31\u0e47\u0e3a", "\u0e1b\u0e37\u0e47", "\u0e10\u0e37\u0e4a\u0e39", "\u0e17\u0e4b\u0e3a", "\u0e0d\u0e34\u0e4c", "\u0e0a\u0e33\u0e49\u0e3a", "\u0e19\u0e39", "\u0e05\u0e33\u0e4b\u0e38", "\u0e1e\u0e35\u0e4e", "\u0e19\u0e34\u0e4b\u0e3a", "\u0e10\u0e36\u0e48\u0e38", "\u0e1d\u0e48\u0e3a", "\u0e21\u0e39", "\u0e15\u0e37\u0e48", "\u0e19\u0e33\u0e47\u0e3a", "\u0e16\u0e31\u0e49\u0e3a", "\u0e14\u0e36\u0e4a\u0e38", "\u0e22\u0e4c\u0e39", "\u0e19\u0e35\u0e49\u0e39", "\u0e1b\u0e31\u0e4e\u0e3a", "\u0e0f\u0e36\u0e47\u0e38", "\u0e13\u0e37\u0e4a\u0e3a", "\u0e21\u0e34\u0e38", "\u0e23\u0e36\u0e4e\u0e38", "\u0e1e\u0e34\u0e4d", "\u0e17\u0e33\u0e3a", "\u0e2b\u0e37\u0e4e\u0e39", "\u0e09\u0e4e\u0e3a", "\u0e1a\u0e31\u0e39", "\u0e28\u0e34\u0e4a\u0e3a", "\u0e2c\u0e4d\u0e38", "\u0e02\u0e37\u0e4a", "\u0e17\u0e37\u0e4b\u0e38", "\u0e1a\u0e33\u0e49\u0e38", "\u0e27\u0e4b\u0e3a", "\u0e23\u0e34\u0e39", "\u0e21\u0e37\u0e4b\u0e38", "\u0e28\u0e35\u0e4c", "\u0e0a\u0e48\u0e3a", "\u0e03\u0e31\u0e4e\u0e3a", "\u0e03\u0e33\u0e39", "\u0e0c\u0e33\u0e4d", "\u0e19\u0e33\u0e48\u0e3a", "\u0e06\u0e37\u0e4e\u0e3a", "\u0e13\u0e3a", "\u0e0b\u0e31\u0e4e\u0e38", "\u0e0a\u0e35\u0e4b\u0e3a", "\u0e12\u0e36\u0e4d\u0e39", "\u0e11\u0e34\u0e48\u0e38", "\u0e11\u0e4d\u0e3a", "\u0e03\u0e33\u0e4d\u0e3a", "\u0e0a\u0e36\u0e47", "\u0e20\u0e34\u0e4a\u0e38", "\u0e18\u0e34\u0e4b\u0e38", "\u0e0d\u0e35\u0e4a\u0e39", "\u0e15\u0e48\u0e3a", "\u0e2a\u0e33\u0e48\u0e3a", "\u0e2c\u0e36\u0e48\u0e39", "\u0e02\u0e36\u0e48\u0e39", "\u0e27\u0e31\u0e38", "\u0e0c\u0e33", "\u0e15\u0e4b\u0e38", "\u0e02\u0e33\u0e4d", "\u0e0a\u0e37", "\u0e22\u0e37\u0e4b", "\u0e1a\u0e4a\u0e38", "\u0e14\u0e31\u0e4b", "\u0e02\u0e36\u0e4a\u0e38", "\u0e0c\u0e34\u0e4c", "\u0e07\u0e37\u0e39", "\u0e08\u0e37\u0e4b\u0e39", "\u0e14\u0e35\u0e4e\u0e39", "\u0e0b\u0e34\u0e47\u0e39", "\u0e17\u0e31\u0e47", "\u0e1f\u0e33\u0e4c", "\u0e05\u0e4e\u0e39", "\u0e10\u0e4c\u0e39", "\u0e05\u0e4d\u0e3a", "\u0e1a\u0e34\u0e47\u0e38", "\u0e20\u0e49\u0e39", "\u0e07\u0e33\u0e4b\u0e39", "\u0e08\u0e33\u0e4e", "\u0e05\u0e36\u0e39", "\u0e0a\u0e37\u0e4a\u0e3a", "\u0e01\u0e36\u0e48\u0e3a", "\u0e17\u0e33\u0e47\u0e38", "\u0e25\u0e36\u0e4a\u0e39", "\u0e1f\u0e33\u0e4a", "\u0e2a\u0e4c\u0e39", "\u0e21\u0e36\u0e4d\u0e39", "\u0e0f\u0e34\u0e38", "\u0e1e\u0e34\u0e4b\u0e39", "\u0e06\u0e31\u0e4a\u0e38", "\u0e2b\u0e31\u0e4d\u0e38", "\u0e22\u0e36\u0e48\u0e38", "\u0e04\u0e35\u0e4c\u0e38", "\u0e09\u0e34\u0e48\u0e38", "\u0e2b\u0e37", "\u0e04\u0e37\u0e4c\u0e3a", "\u0e04\u0e4e", "\u0e2d\u0e47", "\u0e21\u0e33", "\u0e14\u0e31\u0e49\u0e3a", "\u0e04\u0e34\u0e47\u0e39", "\u0e1d\u0e48\u0e39", "\u0e03\u0e34\u0e3a", "\u0e1d\u0e34", "\u0e22\u0e31\u0e4b", "\u0e20\u0e35\u0e49\u0e38", "\u0e0b\u0e35\u0e4c\u0e38", "\u0e28\u0e37\u0e38", "\u0e04\u0e35\u0e4b\u0e39", "\u0e02\u0e37", "\u0e0e\u0e33", "\u0e07\u0e4a\u0e39", "\u0e12\u0e34\u0e4c", "\u0e19\u0e34\u0e4a\u0e3a", "\u0e2e\u0e31\u0e3a", "\u0e08\u0e4e\u0e39", "\u0e18\u0e37\u0e4c", "\u0e25\u0e37\u0e38", "\u0e0b\u0e34\u0e49\u0e38", "\u0e11\u0e31\u0e3a", "\u0e28\u0e4b\u0e39", "\u0e02\u0e34\u0e47\u0e39", "\u0e0d\u0e33\u0e39", "\u0e04\u0e34\u0e4c", "\u0e0e\u0e37\u0e4b", "\u0e1e\u0e37\u0e3a", "\u0e18\u0e33\u0e4e\u0e39", "\u0e13\u0e36\u0e47\u0e3a", "\u0e01\u0e35\u0e38", "\u0e20\u0e35\u0e4d", "\u0e2e\u0e35\u0e48\u0e39", "\u0e0b\u0e33\u0e49\u0e38", "\u0e0e\u0e37\u0e49\u0e3a", "\u0e03\u0e31\u0e47\u0e3a", "\u0e02\u0e37\u0e4c\u0e3a", "\u0e22\u0e33", "\u0e18\u0e33\u0e4c", "\u0e1f\u0e4d", "\u0e0d", "\u0e2d\u0e33\u0e49\u0e3a", "\u0e1f\u0e36\u0e48\u0e3a", "\u0e2b\u0e31\u0e49\u0e3a", "\u0e0c\u0e34\u0e49\u0e38", "\u0e21\u0e36\u0e4c\u0e38", "\u0e16\u0e31\u0e4e\u0e39", "\u0e27\u0e31\u0e48\u0e38", "\u0e2d\u0e31\u0e4c\u0e3a", "\u0e2d\u0e35\u0e49", "\u0e1e\u0e36\u0e39", "\u0e0a\u0e47\u0e39", "\u0e01\u0e31\u0e4d", "\u0e1c\u0e34\u0e47\u0e38", "\u0e29\u0e49\u0e38", "\u0e12\u0e36\u0e48\u0e3a", "\u0e17\u0e35\u0e4a\u0e38", "\u0e2b\u0e33\u0e47\u0e3a", "\u0e0e\u0e33\u0e4c\u0e38", "\u0e0c\u0e36\u0e4e\u0e3a", "\u0e25\u0e36", "\u0e1e\u0e31\u0e4d\u0e38", "\u0e0e\u0e34\u0e4c\u0e39", "\u0e19\u0e35\u0e4e\u0e3a", "\u0e0d\u0e37\u0e48\u0e38", "\u0e2d\u0e37\u0e4b\u0e39", "\u0e0c\u0e36\u0e49\u0e39", "\u0e19\u0e36\u0e48\u0e3a", "\u0e13\u0e31\u0e4c\u0e3a", "\u0e13\u0e4c", "\u0e0d\u0e36\u0e4b\u0e38", "\u0e2b\u0e35\u0e3a", "\u0e19\u0e35\u0e4c", "\u0e1a\u0e33\u0e4c\u0e38", "\u0e1a\u0e34\u0e4a\u0e39", "\u0e10\u0e36\u0e4c\u0e39", "\u0e1d\u0e31\u0e48", "\u0e22\u0e37\u0e3a", "\u0e2c\u0e34\u0e48\u0e38", "\u0e0c\u0e35\u0e48\u0e39", "\u0e09\u0e31\u0e48\u0e38", "\u0e2c\u0e4d\u0e39", "\u0e1c\u0e34\u0e48\u0e3a", "\u0e18\u0e36\u0e48\u0e3a", "\u0e03\u0e47", "\u0e21\u0e36\u0e4e\u0e3a", "\u0e23\u0e49", "\u0e07\u0e33\u0e4e\u0e38", "\u0e15\u0e34\u0e4a\u0e3a", "\u0e10\u0e36\u0e48\u0e3a", "\u0e03\u0e36\u0e48\u0e39", "\u0e03\u0e34\u0e4e", "\u0e28\u0e33\u0e4a", "\u0e1f\u0e34\u0e4b\u0e3a", "\u0e22\u0e34\u0e4c\u0e39", "\u0e23\u0e34\u0e49\u0e38", "\u0e0a\u0e36\u0e39", "\u0e2c\u0e36\u0e49\u0e39", "\u0e21\u0e31\u0e4c", "\u0e09\u0e35\u0e3a", "\u0e0e\u0e47\u0e38", "\u0e1b\u0e35\u0e4d\u0e39", "\u0e12\u0e35\u0e4b\u0e38", "\u0e04\u0e34\u0e4a\u0e39", "\u0e0f\u0e35\u0e47\u0e38", "\u0e2c\u0e31\u0e4d\u0e38", "\u0e12\u0e37\u0e4a\u0e3a", "\u0e0c\u0e34\u0e4c\u0e39", "\u0e1a\u0e33\u0e48\u0e3a", "\u0e22\u0e34\u0e47\u0e39", "\u0e01\u0e33\u0e4c\u0e38", "\u0e2b\u0e31\u0e49\u0e39", "\u0e2d\u0e34\u0e4b\u0e3a", "\u0e1a\u0e33\u0e49", "\u0e07\u0e37\u0e48\u0e38", "\u0e23\u0e35\u0e47\u0e3a", "\u0e12\u0e36\u0e4e", "\u0e0e\u0e33\u0e47\u0e39", "\u0e11\u0e35\u0e4a\u0e38", "\u0e19\u0e35\u0e38", "\u0e16\u0e33\u0e39", "\u0e03\u0e35\u0e4d\u0e39", "\u0e2c\u0e33\u0e48", "\u0e20\u0e34\u0e4c\u0e39", "\u0e2c\u0e31\u0e48\u0e38", "\u0e03\u0e33\u0e4c\u0e3a", "\u0e28\u0e31\u0e48\u0e39", "\u0e16\u0e4a", "\u0e03\u0e47\u0e38", "\u0e27\u0e37\u0e48\u0e3a", "\u0e20\u0e33\u0e49\u0e38", "\u0e23\u0e34\u0e4d\u0e39", "\u0e25\u0e31\u0e4d", "\u0e0c\u0e35\u0e4e\u0e39", "\u0e10\u0e4e", "\u0e2e\u0e31\u0e47\u0e39", "\u0e27\u0e33\u0e4b", "\u0e25\u0e31\u0e4a\u0e39", "\u0e08\u0e3a", "\u0e0a\u0e34\u0e4b\u0e3a", "\u0e13\u0e35\u0e4e\u0e38", "\u0e2d\u0e31\u0e3a", "\u0e23\u0e36\u0e4b", "\u0e02\u0e35\u0e4d\u0e3a", "\u0e2c\u0e36\u0e4e\u0e39", "\u0e1e\u0e35\u0e4b\u0e39", "\u0e0b\u0e49", "\u0e2d\u0e35\u0e4e\u0e3a", "\u0e0d\u0e35\u0e4b\u0e3a", "\u0e23\u0e37\u0e4d\u0e3a", "\u0e2c\u0e36\u0e4d\u0e3a", "\u0e11\u0e31\u0e4b\u0e39", "\u0e14\u0e33\u0e4c\u0e3a", "\u0e28\u0e37\u0e48\u0e3a", "\u0e23\u0e33\u0e3a", "\u0e13\u0e35\u0e4c", "\u0e22\u0e37\u0e49", "\u0e2e\u0e31\u0e4a\u0e3a", "\u0e1c\u0e36\u0e4b", "\u0e0e\u0e4b", "\u0e1e\u0e33\u0e4e\u0e39", "\u0e1c\u0e37", "\u0e25\u0e33\u0e47\u0e3a", "\u0e09\u0e35\u0e48\u0e38", "\u0e29\u0e34\u0e4c\u0e39", "\u0e01\u0e4a", "\u0e1d\u0e36\u0e3a", "\u0e22\u0e37\u0e48\u0e38", "\u0e1f\u0e35\u0e4d\u0e39", "\u0e28\u0e33\u0e4c\u0e39", "\u0e17\u0e31\u0e4c\u0e39", "\u0e23\u0e33\u0e49\u0e3a", "\u0e2e\u0e48\u0e3a", "\u0e12\u0e4e\u0e38", "\u0e2e\u0e36\u0e48", "\u0e2b\u0e35\u0e4d\u0e39", "\u0e06\u0e34\u0e4a\u0e3a", "\u0e12\u0e33\u0e49\u0e3a", "\u0e02\u0e35\u0e49", "\u0e1e\u0e34\u0e4a\u0e3a", "\u0e19\u0e31\u0e4e\u0e3a", "\u0e27\u0e36\u0e38", "\u0e0f\u0e35\u0e4b\u0e38", "\u0e1e\u0e4a", "\u0e27\u0e33\u0e49\u0e3a", "\u0e0b\u0e33\u0e4a\u0e39", "\u0e04\u0e37\u0e4e\u0e3a", "\u0e1b\u0e33\u0e4a\u0e3a", "\u0e13\u0e37\u0e4e", "\u0e19\u0e35\u0e48\u0e38", "\u0e2d\u0e31\u0e4b", "\u0e1b\u0e35\u0e49", "\u0e2d\u0e34\u0e49\u0e38", "\u0e13\u0e36\u0e4a\u0e39", "\u0e27\u0e33\u0e3a", "\u0e03\u0e35\u0e49", "\u0e10\u0e34\u0e4c\u0e38", "\u0e06\u0e37\u0e4b", "\u0e29\u0e31", "\u0e0a\u0e33\u0e47", "\u0e0c\u0e35\u0e4d\u0e39", "\u0e0f\u0e33", "\u0e25\u0e4c\u0e38", "\u0e06\u0e33\u0e4d", "\u0e2d\u0e4a\u0e39", "\u0e2a\u0e49\u0e3a", "\u0e0d\u0e37\u0e4e\u0e3a", "\u0e28\u0e37\u0e4e", "\u0e1c\u0e35\u0e4d", "\u0e0c\u0e34\u0e47", "\u0e2e\u0e36\u0e39", "\u0e0b\u0e47\u0e3a", "\u0e25\u0e34\u0e49", "\u0e1b\u0e37\u0e38", "\u0e14\u0e35\u0e4b\u0e39", "\u0e1c\u0e36\u0e47", "\u0e19\u0e4d", "\u0e19\u0e49", "\u0e1e\u0e4c\u0e38", "\u0e04\u0e36\u0e4b\u0e39", "\u0e01\u0e33\u0e4d\u0e39", "\u0e1a\u0e34\u0e4a", "\u0e23\u0e33\u0e48\u0e38", "\u0e0a\u0e4d\u0e3a", "\u0e28\u0e37\u0e39", "\u0e19\u0e35\u0e4b", "\u0e1c\u0e48", "\u0e1f\u0e37\u0e47\u0e39", "\u0e27\u0e33\u0e4a\u0e39", "\u0e10\u0e37\u0e4e\u0e38", "\u0e25\u0e31\u0e48", "\u0e21\u0e35\u0e4a\u0e39", "\u0e29\u0e34\u0e48\u0e3a", "\u0e20\u0e4b\u0e38", "\u0e1a\u0e31\u0e4d", "\u0e06\u0e37\u0e48\u0e38", "\u0e01\u0e35\u0e4a\u0e38", "\u0e29\u0e34\u0e48\u0e39", "\u0e1b\u0e34\u0e3a", "\u0e22\u0e37\u0e4c\u0e38", "\u0e17\u0e35", "\u0e16\u0e33", "\u0e0e\u0e31\u0e4b\u0e38", "\u0e23\u0e33", "\u0e21\u0e37\u0e4e\u0e38", "\u0e2a\u0e36\u0e4a\u0e38", "\u0e04", "\u0e0d\u0e37\u0e38", "\u0e18\u0e37\u0e47\u0e38", "\u0e01\u0e34\u0e4c", "\u0e2a\u0e4a\u0e38", "\u0e03\u0e37\u0e4a\u0e38", "\u0e1c\u0e33\u0e4c\u0e3a", "\u0e04\u0e31\u0e4a\u0e38", "\u0e15\u0e37\u0e4d\u0e3a", "\u0e1f\u0e34\u0e4c", "\u0e04\u0e4b\u0e3a", "\u0e01\u0e33\u0e49\u0e3a", "\u0e01\u0e33\u0e4b\u0e39", "\u0e17\u0e34\u0e4e", "\u0e1c\u0e36\u0e4c", "\u0e22\u0e34\u0e4e\u0e39", "\u0e28\u0e49\u0e39", "\u0e0d\u0e35\u0e4b\u0e39", "\u0e05\u0e37\u0e4d\u0e38", "\u0e0c\u0e36\u0e4b", "\u0e21\u0e31\u0e4a\u0e38", "\u0e14\u0e4a", "\u0e2c\u0e37\u0e4e\u0e38", "\u0e20\u0e36\u0e48", "\u0e1a\u0e34\u0e4c\u0e3a", "\u0e1c\u0e35\u0e49", "\u0e27\u0e37\u0e4c\u0e38", "\u0e07\u0e37", "\u0e16\u0e34\u0e39", "\u0e0f\u0e31\u0e4b\u0e39", "\u0e11\u0e36\u0e49\u0e38", "\u0e2e\u0e4a", "\u0e22\u0e36\u0e4e", "\u0e29\u0e34\u0e4e", "\u0e19\u0e37\u0e48", "\u0e13\u0e37\u0e49", "\u0e23\u0e35\u0e4e\u0e3a", "\u0e11\u0e35\u0e39", "\u0e2c\u0e49\u0e39", "\u0e0a\u0e33\u0e49\u0e39", "\u0e01\u0e36\u0e49", "\u0e2d\u0e48\u0e38", "\u0e29\u0e31\u0e4d\u0e38", "\u0e27\u0e35\u0e49\u0e39", "\u0e18\u0e31", "\u0e16\u0e34", "\u0e2c\u0e4a\u0e38", "\u0e18\u0e48", "\u0e11\u0e37\u0e38", "\u0e07\u0e37\u0e49\u0e38", "\u0e1e\u0e31\u0e4b\u0e3a", "\u0e10\u0e36\u0e4a", "\u0e13\u0e31\u0e47\u0e3a", "\u0e09\u0e31\u0e49", "\u0e1b\u0e36\u0e4a", "\u0e2c\u0e31\u0e4c\u0e3a", "\u0e0e\u0e31\u0e3a", "\u0e13\u0e37\u0e48", "\u0e2d\u0e31\u0e49\u0e3a", "\u0e25\u0e31\u0e39", "\u0e10\u0e34\u0e4e\u0e38", "\u0e02\u0e37\u0e49\u0e39", "\u0e13\u0e31\u0e4d\u0e3a", "\u0e05\u0e36\u0e4a", "\u0e1b\u0e35\u0e4a", "\u0e1c\u0e37\u0e4e\u0e39", "\u0e19\u0e37\u0e49\u0e38", "\u0e0b\u0e4c\u0e38", "\u0e04\u0e33\u0e4d\u0e3a", "\u0e18\u0e36\u0e4b\u0e39", "\u0e19\u0e47\u0e39", "\u0e07\u0e34\u0e4a", "\u0e25\u0e49\u0e39", "\u0e18\u0e35\u0e4a\u0e39", "\u0e2d\u0e35\u0e4d\u0e3a", "\u0e1c\u0e33\u0e4c\u0e38", "\u0e11\u0e34\u0e4c\u0e3a", "\u0e2e\u0e35\u0e4c\u0e3a", "\u0e11\u0e37\u0e4e\u0e38", "\u0e2e\u0e37\u0e4d", "\u0e14\u0e33\u0e3a", "\u0e0c\u0e37\u0e4c\u0e38", "\u0e2c\u0e4b", "\u0e12\u0e35\u0e4a\u0e39", "\u0e14\u0e31\u0e49", "\u0e2a\u0e34\u0e49\u0e39", "\u0e20\u0e4a\u0e3a", "\u0e13\u0e31", "\u0e1b\u0e37\u0e4c\u0e38", "\u0e25\u0e37\u0e48", "\u0e27\u0e34\u0e4d\u0e38", "\u0e25\u0e37\u0e49\u0e38", "\u0e2b\u0e36\u0e48", "\u0e2c\u0e31\u0e4a", "\u0e11\u0e37\u0e48", "\u0e0c\u0e31\u0e48", "\u0e0a\u0e37\u0e48\u0e3a", "\u0e05\u0e31\u0e48\u0e38", "\u0e2e\u0e33\u0e49\u0e3a", "\u0e2e\u0e34\u0e48\u0e3a", "\u0e0f\u0e4c\u0e38", "\u0e13\u0e31\u0e4d\u0e38", "\u0e0b\u0e37\u0e4e\u0e38", "\u0e1d\u0e35\u0e4d\u0e3a", "\u0e04\u0e35\u0e4d\u0e39", "\u0e29\u0e33\u0e4b\u0e3a", "\u0e14\u0e35\u0e47\u0e39", "\u0e28\u0e31\u0e49\u0e39", "\u0e08\u0e4c", "\u0e0e\u0e36", "\u0e0a\u0e31\u0e4c", "\u0e1c\u0e34\u0e47\u0e39", "\u0e01\u0e33\u0e4a\u0e38", "\u0e07\u0e35\u0e4e\u0e39", "\u0e23\u0e34\u0e48\u0e3a", "\u0e23\u0e34\u0e4a\u0e38", "\u0e01\u0e47", "\u0e2d\u0e36\u0e4e\u0e39", "\u0e1c\u0e33\u0e4a\u0e39", "\u0e15\u0e31\u0e38", "\u0e05\u0e48\u0e38", "\u0e18\u0e34\u0e4a", "\u0e19\u0e37\u0e4a\u0e3a", "\u0e0d\u0e36", "\u0e1c\u0e33", "\u0e06\u0e4a\u0e38", "\u0e2a\u0e35\u0e4d\u0e39", "\u0e0b\u0e38", "\u0e06\u0e36\u0e4e\u0e3a", "\u0e07\u0e48\u0e3a", "\u0e12\u0e37\u0e4d\u0e39", "\u0e0c\u0e33\u0e4e", "\u0e10\u0e35\u0e4b\u0e38", "\u0e28\u0e35\u0e39", "\u0e14\u0e34\u0e48\u0e39", "\u0e14\u0e31\u0e47\u0e39", "\u0e2e\u0e33\u0e4c", "\u0e08\u0e31\u0e4d\u0e39", "\u0e0a\u0e48\u0e39", "\u0e1f\u0e49\u0e38", "\u0e04\u0e36\u0e38", "\u0e0b\u0e37\u0e3a", "\u0e17\u0e35\u0e4a", "\u0e0b\u0e4b", "\u0e10\u0e33\u0e4b\u0e38", "\u0e25\u0e33\u0e4b", "\u0e1b\u0e34\u0e39", "\u0e06\u0e35\u0e4d\u0e39", "\u0e27\u0e35\u0e47\u0e39", "\u0e15\u0e37\u0e4b\u0e3a", "\u0e09\u0e4a\u0e38", "\u0e0a\u0e34\u0e4b", "\u0e2c\u0e35\u0e4d\u0e39", "\u0e18\u0e4d", "\u0e0c\u0e31\u0e4c", "\u0e05\u0e4a\u0e3a", "\u0e16\u0e33\u0e48", "\u0e03\u0e33\u0e4b", "\u0e10\u0e34\u0e3a", "\u0e20\u0e4c\u0e39", "\u0e2e\u0e35\u0e47\u0e38", "\u0e07\u0e37\u0e4b\u0e3a", "\u0e28\u0e49\u0e38", "\u0e20\u0e48\u0e39", "\u0e2a\u0e35\u0e49\u0e3a", "\u0e29\u0e31\u0e4b", "\u0e11\u0e33\u0e4c\u0e39", "\u0e2a\u0e37\u0e49\u0e3a", "\u0e0f\u0e37\u0e4b\u0e39", "\u0e0e\u0e33\u0e49\u0e38", "\u0e0d\u0e36\u0e4c\u0e39", "\u0e27\u0e48\u0e3a", "\u0e0d\u0e36\u0e4d\u0e38", "\u0e10\u0e34\u0e39", "\u0e1a\u0e36\u0e4b", "\u0e27\u0e36\u0e4b\u0e39", "\u0e11\u0e36\u0e49\u0e3a", "\u0e2b\u0e34\u0e4b\u0e3a", "\u0e13\u0e33\u0e48\u0e3a", "\u0e13\u0e33\u0e4a\u0e39", "\u0e2e\u0e33\u0e48\u0e39", "\u0e0a\u0e33\u0e4d\u0e38", "\u0e11\u0e35\u0e3a", "\u0e2a\u0e4e\u0e3a", "\u0e2c\u0e31\u0e4b\u0e38", "\u0e23\u0e31\u0e4d", "\u0e2c\u0e35\u0e4a\u0e3a", "\u0e1d\u0e31\u0e4e\u0e38", "\u0e1b\u0e33\u0e4d\u0e3a", "\u0e04\u0e34\u0e4d", "\u0e23\u0e31\u0e47\u0e3a", "\u0e12\u0e31\u0e48\u0e3a", "\u0e15\u0e34\u0e4e\u0e39", "\u0e10\u0e31\u0e4b\u0e3a", "\u0e19\u0e34\u0e4c", "\u0e0b\u0e37\u0e4b", "\u0e29\u0e35\u0e4b\u0e38", "\u0e08\u0e36\u0e47\u0e39", "\u0e0a\u0e34\u0e38", "\u0e23\u0e36\u0e47\u0e39", "\u0e0b\u0e4a", "\u0e10\u0e33\u0e49\u0e3a", "\u0e0f\u0e35\u0e47\u0e39", "\u0e12\u0e34\u0e49\u0e3a", "\u0e2b\u0e4d\u0e3a", "\u0e04\u0e31\u0e4d\u0e3a", "\u0e19\u0e36\u0e4b\u0e39", "\u0e06\u0e34\u0e4e\u0e39", "\u0e2b\u0e36", "\u0e14\u0e31\u0e38", "\u0e0a\u0e34\u0e47\u0e3a", "\u0e15\u0e34\u0e4e\u0e3a", "\u0e20\u0e35\u0e4a\u0e3a", "\u0e19\u0e34\u0e47\u0e39", "\u0e2b\u0e34\u0e47", "\u0e14\u0e47\u0e39", "\u0e07\u0e35\u0e4e", "\u0e11\u0e35\u0e4c\u0e39", "\u0e11\u0e37\u0e49", "\u0e04\u0e36\u0e4c\u0e38", "\u0e09\u0e37\u0e4e\u0e39", "\u0e2b\u0e36\u0e47\u0e3a", "\u0e06\u0e35\u0e4e\u0e39", "\u0e10\u0e37\u0e3a", "\u0e18\u0e37\u0e47", "\u0e05\u0e35\u0e48\u0e38", "\u0e2c\u0e33\u0e4b\u0e38", "\u0e19\u0e33\u0e48", "\u0e1e\u0e37\u0e4b\u0e38", "\u0e10\u0e34\u0e4b\u0e39", "\u0e08\u0e31\u0e47\u0e3a", "\u0e06\u0e33\u0e38", "\u0e1d\u0e33\u0e4d\u0e38", "\u0e28\u0e33\u0e47\u0e39", "\u0e1f\u0e4d\u0e38", "\u0e20\u0e37\u0e4a", "\u0e11\u0e35\u0e4a\u0e3a", "\u0e01\u0e34", "\u0e12\u0e31\u0e39", "\u0e06\u0e31\u0e49\u0e39", "\u0e27\u0e35\u0e4b\u0e3a", "\u0e15\u0e34\u0e4a", "\u0e0b\u0e36\u0e47\u0e38", "\u0e18\u0e4a\u0e3a", "\u0e05\u0e34\u0e4b", "\u0e1e\u0e37\u0e4c\u0e39", "\u0e0d\u0e31\u0e4e\u0e3a", "\u0e01\u0e33\u0e47\u0e3a", "\u0e20\u0e31\u0e49\u0e39", "\u0e21\u0e49\u0e3a", "\u0e25\u0e31\u0e47", "\u0e2a\u0e33\u0e48\u0e39", "\u0e2c\u0e37\u0e4e\u0e39", "\u0e2e\u0e37\u0e4c", "\u0e19\u0e36\u0e49\u0e38", "\u0e14\u0e34\u0e4e\u0e3a", "\u0e2a\u0e33\u0e4a", "\u0e17\u0e36\u0e4b", "\u0e18\u0e34\u0e49", "\u0e2b\u0e35\u0e4c\u0e38", "\u0e1a\u0e35\u0e4d", "\u0e20\u0e4d\u0e3a", "\u0e25\u0e36\u0e49\u0e39", "\u0e1e\u0e36", "\u0e17\u0e34\u0e4a\u0e39", "\u0e09\u0e36\u0e4d\u0e39", "\u0e1b\u0e35\u0e48\u0e39", "\u0e04\u0e4d\u0e39", "\u0e06\u0e49\u0e39", "\u0e1d\u0e31\u0e4a\u0e39", "\u0e0a\u0e4a", "\u0e0a\u0e34\u0e4a", "\u0e0e\u0e33\u0e47\u0e3a", "\u0e2d\u0e36\u0e4b\u0e39", "\u0e0b\u0e33\u0e49\u0e39", "\u0e21\u0e36\u0e47\u0e3a", "\u0e0f\u0e36\u0e48\u0e3a", "\u0e0c\u0e37", "\u0e16\u0e38", "\u0e06\u0e33\u0e4b\u0e3a", "\u0e1e\u0e37\u0e4d\u0e38", "\u0e2c\u0e34\u0e47\u0e39", "\u0e20\u0e37\u0e4c\u0e38", "\u0e2a\u0e36\u0e48\u0e39", "\u0e2b\u0e37\u0e48\u0e3a", "\u0e20\u0e36\u0e4a\u0e3a", "\u0e03\u0e47\u0e3a", "\u0e08\u0e33\u0e4b", "\u0e2b\u0e35\u0e49\u0e39", "\u0e06\u0e4b\u0e39", "\u0e17\u0e37", "\u0e1b\u0e34\u0e4d\u0e38", "\u0e1e\u0e35\u0e4b", "\u0e25\u0e33\u0e4b\u0e39", "\u0e12\u0e37\u0e49\u0e39", "\u0e0b\u0e37\u0e48\u0e3a", "\u0e28\u0e36", "\u0e25\u0e34\u0e4b", "\u0e0b\u0e31\u0e39", "\u0e0e\u0e31\u0e4e", "\u0e01\u0e35\u0e4a\u0e3a", "\u0e22\u0e37\u0e47\u0e39", "\u0e15\u0e36\u0e4c\u0e39", "\u0e1b\u0e34\u0e4e", "\u0e04\u0e36\u0e48\u0e38", "\u0e1b\u0e34\u0e47\u0e38", "\u0e14\u0e33\u0e48\u0e38", "\u0e15\u0e31\u0e47\u0e3a", "\u0e1e\u0e36\u0e4a\u0e38", "\u0e19\u0e36\u0e4b", "\u0e0c\u0e35\u0e4e", "\u0e02\u0e36\u0e4d\u0e39", "\u0e22\u0e4e", "\u0e16\u0e4d\u0e3a", "\u0e01\u0e47\u0e3a", "\u0e23\u0e37\u0e4d\u0e39", "\u0e09\u0e34\u0e4d", "\u0e23\u0e35\u0e4b\u0e39", "\u0e1f\u0e35\u0e4a", "\u0e27\u0e35\u0e48\u0e39", "\u0e2b\u0e37\u0e4b\u0e38", "\u0e01\u0e33\u0e4d\u0e38", "\u0e29\u0e33\u0e3a", "\u0e1d\u0e34\u0e4e", "\u0e14\u0e31\u0e4b\u0e3a", "\u0e21\u0e34\u0e4e\u0e39", "\u0e02\u0e4e\u0e38", "\u0e07\u0e37\u0e4d\u0e3a", "\u0e28\u0e36\u0e48\u0e38", "\u0e21\u0e35\u0e4a", "\u0e27\u0e4d\u0e39", "\u0e1c\u0e34\u0e4a\u0e38", "\u0e0e\u0e31\u0e48\u0e38", "\u0e10\u0e33\u0e48\u0e3a", "\u0e17\u0e33\u0e4a", "\u0e23\u0e4d", "\u0e0e\u0e36\u0e4d\u0e38", "\u0e10\u0e31\u0e4e\u0e39", "\u0e1b\u0e31\u0e48\u0e38", "\u0e0e\u0e35\u0e4a", "\u0e0e\u0e34\u0e4a\u0e38", "\u0e23\u0e35\u0e4c\u0e3a", "\u0e16\u0e33\u0e4b\u0e39", "\u0e2d\u0e49", "\u0e28\u0e34\u0e48", "\u0e1a\u0e36\u0e47\u0e39", "\u0e1f\u0e33\u0e4b\u0e3a", "\u0e0e", "\u0e2e\u0e4d\u0e39", "\u0e21\u0e33\u0e49\u0e38", "\u0e0c\u0e34\u0e4a", "\u0e06\u0e35\u0e4c\u0e39", "\u0e1e\u0e36\u0e4b\u0e3a", "\u0e03\u0e31\u0e4c\u0e38", "\u0e29\u0e34\u0e49", "\u0e23\u0e36\u0e4c\u0e39", "\u0e04\u0e35\u0e48\u0e39", "\u0e07\u0e3a", "\u0e2c\u0e34\u0e4b\u0e38", "\u0e22\u0e35\u0e3a", "\u0e06\u0e34\u0e4a\u0e38", "\u0e2d\u0e34\u0e4e\u0e39", "\u0e0d\u0e34\u0e48\u0e3a", "\u0e1c\u0e36\u0e4e\u0e38", "\u0e2c\u0e35\u0e4e\u0e38", "\u0e10\u0e36\u0e49", "\u0e1f\u0e37\u0e4c\u0e38", "\u0e02\u0e36\u0e4e\u0e38", "\u0e05\u0e33\u0e48\u0e39", "\u0e2d\u0e36\u0e4d", "\u0e05\u0e49", "\u0e17\u0e33\u0e4b\u0e3a", "\u0e2d\u0e49\u0e3a", "\u0e19\u0e4d\u0e38", "\u0e03\u0e36\u0e47\u0e3a", "\u0e1d\u0e37\u0e48\u0e38", "\u0e1c\u0e34\u0e49\u0e39", "\u0e09\u0e35\u0e48", "\u0e0c\u0e35\u0e4a\u0e3a", "\u0e25\u0e33\u0e39", "\u0e25\u0e31\u0e4c\u0e3a", "\u0e09\u0e33\u0e4e", "\u0e2d\u0e33\u0e4b\u0e39", "\u0e16\u0e31\u0e49", "\u0e16\u0e36\u0e4c\u0e3a", "\u0e07\u0e37\u0e4a\u0e38", "\u0e0d\u0e34\u0e4e\u0e38", "\u0e19\u0e34\u0e48\u0e39", "\u0e1a\u0e35\u0e4d\u0e3a", "\u0e1e\u0e37\u0e4b\u0e3a", "\u0e2a\u0e4c\u0e38", "\u0e1f\u0e34\u0e4c\u0e3a", "\u0e27\u0e31\u0e4d\u0e3a", "\u0e21\u0e4c\u0e3a", "\u0e1c\u0e33\u0e48", "\u0e0f\u0e48\u0e39", "\u0e1c\u0e35\u0e4a\u0e38", "\u0e03\u0e35", "\u0e1f\u0e34\u0e48", "\u0e11\u0e37\u0e4a\u0e3a", "\u0e0b\u0e36\u0e48\u0e39", "\u0e2e\u0e34\u0e4d\u0e38", "\u0e25\u0e33", "\u0e19\u0e34\u0e4d\u0e38", "\u0e1a\u0e31\u0e4c\u0e38", "\u0e2e\u0e4e\u0e39", "\u0e0f\u0e36\u0e3a", "\u0e1c\u0e34\u0e4b", "\u0e13\u0e36", "\u0e25\u0e33\u0e4e\u0e3a", "\u0e01\u0e33\u0e4e", "\u0e06\u0e33\u0e39", "\u0e2b\u0e4e\u0e3a", "\u0e07\u0e34\u0e4a\u0e39", "\u0e1e\u0e31\u0e4a\u0e3a", "\u0e18\u0e33\u0e4b\u0e39", "\u0e1f\u0e4e\u0e3a", "\u0e09\u0e34\u0e4d\u0e38", "\u0e10\u0e34\u0e4d\u0e3a", "\u0e09\u0e37\u0e48\u0e39", "\u0e11\u0e34\u0e48\u0e3a", "\u0e13\u0e37\u0e4a\u0e39", "\u0e11\u0e34\u0e4c\u0e38", "\u0e09\u0e31\u0e4e\u0e39", "\u0e28\u0e37\u0e49", "\u0e23\u0e37\u0e48", "\u0e2d\u0e37\u0e49\u0e38", "\u0e06\u0e31\u0e4b\u0e39", "\u0e07\u0e36\u0e4e", "\u0e1b\u0e31\u0e49\u0e38", "\u0e0e\u0e33\u0e49\u0e39", "\u0e05\u0e34\u0e4c\u0e38", "\u0e09\u0e33\u0e4c\u0e38", "\u0e10\u0e48", "\u0e03\u0e33", "\u0e23\u0e36", "\u0e28\u0e4a\u0e38", "\u0e0c\u0e36\u0e48", "\u0e04\u0e33\u0e4c\u0e3a", "\u0e1a\u0e33\u0e4a\u0e39", "\u0e2d\u0e34\u0e4d\u0e3a", "\u0e2e\u0e37\u0e47\u0e39", "\u0e02\u0e33\u0e47", "\u0e01\u0e35\u0e49\u0e39", "\u0e04\u0e4a\u0e38", "\u0e2b\u0e4b\u0e39", "\u0e1c\u0e35\u0e39", "\u0e0a\u0e37\u0e4a\u0e38", "\u0e05\u0e35\u0e4d\u0e38", "\u0e25\u0e34\u0e47", "\u0e0d\u0e33\u0e4e", "\u0e1e\u0e33\u0e4c\u0e38", "\u0e0c\u0e33\u0e49", "\u0e1e\u0e34\u0e39", "\u0e2a\u0e36\u0e39", "\u0e0e\u0e34\u0e49\u0e39", "\u0e17\u0e34\u0e48\u0e3a", "\u0e19\u0e34\u0e4d", "\u0e1b\u0e35\u0e48\u0e38", "\u0e2e\u0e35\u0e4a\u0e39", "\u0e1c\u0e34\u0e4a\u0e3a", "\u0e17\u0e33\u0e48", "\u0e22\u0e36\u0e4d\u0e39", "\u0e14\u0e4a\u0e3a", "\u0e27\u0e36\u0e4b", "\u0e0f\u0e35\u0e47\u0e3a", "\u0e14\u0e37\u0e4b\u0e39", "\u0e14\u0e36\u0e4c\u0e38", "\u0e2b\u0e34\u0e4d\u0e39", "\u0e12\u0e37\u0e4b\u0e39", "\u0e1f\u0e34\u0e4a\u0e38", "\u0e1a\u0e48\u0e38", "\u0e29\u0e31\u0e47\u0e3a", "\u0e0e\u0e33\u0e49\u0e3a", "\u0e0b\u0e36\u0e48", "\u0e2e\u0e31\u0e47\u0e38", "\u0e25\u0e31\u0e4e\u0e39", "\u0e22\u0e31\u0e48\u0e3a", "\u0e20\u0e31\u0e4e\u0e38", "\u0e2e\u0e33\u0e4e\u0e38", "\u0e01\u0e36\u0e47\u0e3a", "\u0e1c\u0e35\u0e49\u0e38", "\u0e1b\u0e4e\u0e39", "\u0e04\u0e33\u0e4a\u0e39", "\u0e19\u0e37", "\u0e0a\u0e35\u0e49", "\u0e2e\u0e36\u0e4c", "\u0e16\u0e33\u0e4a", "\u0e06\u0e35\u0e4e", "\u0e27\u0e35\u0e38", "\u0e12\u0e37", "\u0e20\u0e31\u0e4a\u0e38", "\u0e10\u0e35\u0e49\u0e39", "\u0e09\u0e37\u0e4d\u0e39", "\u0e18\u0e35", "\u0e11\u0e33\u0e49\u0e38", "\u0e10\u0e33\u0e4a\u0e39", "\u0e29\u0e35\u0e49\u0e39", "\u0e18\u0e37\u0e4b", "\u0e0f\u0e35\u0e4b\u0e39", "\u0e23\u0e37\u0e4e\u0e3a", "\u0e20\u0e35\u0e4c", "\u0e01\u0e34\u0e47\u0e3a", "\u0e01\u0e37", "\u0e2e\u0e34\u0e48\u0e39", "\u0e08\u0e35\u0e48\u0e38", "\u0e20\u0e33\u0e48\u0e3a", "\u0e0a\u0e47\u0e38", "\u0e2c\u0e37\u0e48\u0e38", "\u0e0f\u0e49\u0e3a", "\u0e2a\u0e33\u0e4b\u0e38", "\u0e16\u0e31\u0e48\u0e39", "\u0e1e\u0e4d\u0e38", "\u0e0b\u0e35\u0e48\u0e3a", "\u0e0c\u0e37\u0e4e", "\u0e10\u0e33\u0e4b\u0e3a", "\u0e04\u0e35\u0e4d\u0e38", "\u0e14\u0e34\u0e49", "\u0e16\u0e37\u0e3a", "\u0e2c\u0e33\u0e4d\u0e38", "\u0e07\u0e37\u0e48\u0e39", "\u0e22\u0e31\u0e47\u0e39", "\u0e1c\u0e49\u0e38", "\u0e0a\u0e36\u0e4c\u0e38", "\u0e25\u0e31\u0e4b\u0e38", "\u0e2c\u0e31", "\u0e23\u0e4a\u0e3a", "\u0e22\u0e31\u0e49", "\u0e13\u0e34\u0e48\u0e3a", "\u0e17\u0e35\u0e4e\u0e3a", "\u0e11\u0e34\u0e47\u0e38", "\u0e2d\u0e34\u0e4e\u0e38", "\u0e12\u0e33\u0e4e\u0e39", "\u0e0c\u0e31\u0e4e", "\u0e0b\u0e4e\u0e38", "\u0e03\u0e34\u0e4e\u0e3a", "\u0e05\u0e34\u0e4d\u0e39", "\u0e12\u0e48\u0e38", "\u0e18\u0e36\u0e3a", "\u0e07\u0e33\u0e4a\u0e39", "\u0e2b\u0e36\u0e4e\u0e38", "\u0e09\u0e37\u0e39", "\u0e12\u0e4a\u0e38", "\u0e11\u0e36\u0e4b\u0e3a", "\u0e23\u0e47\u0e38", "\u0e2d\u0e35\u0e4a", "\u0e14\u0e49\u0e39", "\u0e08\u0e35\u0e38", "\u0e02\u0e4a\u0e3a", "\u0e18\u0e37\u0e49\u0e3a", "\u0e13\u0e4d\u0e39", "\u0e0d\u0e37\u0e4e", "\u0e1b\u0e35\u0e48", "\u0e2e\u0e4a\u0e3a", "\u0e05\u0e34\u0e49\u0e3a", "\u0e2d\u0e33\u0e4d\u0e3a", "\u0e27\u0e35\u0e4a\u0e39", "\u0e02\u0e31\u0e47\u0e38", "\u0e1b\u0e36\u0e39", "\u0e1d\u0e34\u0e39", "\u0e06\u0e35\u0e4e\u0e38", "\u0e16\u0e35\u0e4d", "\u0e07\u0e33\u0e48\u0e3a", "\u0e07\u0e34\u0e4e\u0e3a", "\u0e04\u0e35\u0e4a\u0e39", "\u0e05\u0e36\u0e4c\u0e38", "\u0e2e\u0e31", "\u0e0d\u0e31\u0e3a", "\u0e21\u0e34\u0e4d\u0e38", "\u0e11\u0e37\u0e4b\u0e39", "\u0e16\u0e34\u0e4c\u0e38", "\u0e2d\u0e4d\u0e3a", "\u0e0e\u0e34\u0e47\u0e39", "\u0e02\u0e4b\u0e39", "\u0e27\u0e33\u0e49\u0e39", "\u0e2d\u0e31\u0e4e\u0e38", "\u0e12\u0e31\u0e4c\u0e3a", "\u0e22\u0e34\u0e47", "\u0e06\u0e36\u0e4c", "\u0e03\u0e37\u0e49\u0e3a", "\u0e05\u0e36\u0e48\u0e38", "\u0e1d\u0e35\u0e49", "\u0e0e\u0e37\u0e4e\u0e38", "\u0e12\u0e35\u0e4d\u0e3a", "\u0e21\u0e37\u0e4a\u0e3a", "\u0e25\u0e33\u0e4a\u0e3a", "\u0e15\u0e35\u0e49\u0e38", "\u0e0b\u0e36\u0e4d\u0e38", "\u0e14\u0e31\u0e4d\u0e39", "\u0e18\u0e36\u0e4c\u0e39", "\u0e2d\u0e34\u0e4c\u0e3a", "\u0e1e\u0e35\u0e4d\u0e3a", "\u0e08\u0e34\u0e4a", "\u0e0d\u0e47\u0e38", "\u0e0f\u0e37\u0e47\u0e3a", "\u0e29\u0e35\u0e4e\u0e38", "\u0e12\u0e31\u0e49\u0e39", "\u0e05\u0e33\u0e3a", "\u0e0d\u0e4a", "\u0e27\u0e49\u0e38", "\u0e11\u0e4e\u0e3a", "\u0e16\u0e36\u0e4d\u0e3a", "\u0e13\u0e33\u0e4c\u0e3a", "\u0e04\u0e37\u0e4d", "\u0e21\u0e36\u0e4e\u0e39", "\u0e1f\u0e4a\u0e39", "\u0e28\u0e4b\u0e3a", "\u0e15\u0e37\u0e4e\u0e38", "\u0e17\u0e36\u0e4a\u0e3a", "\u0e01\u0e35\u0e47\u0e39", "\u0e16\u0e33\u0e48\u0e3a", "\u0e15\u0e31\u0e49", "\u0e2d\u0e4b", "\u0e22\u0e36\u0e47\u0e3a", "\u0e29\u0e31\u0e49", "\u0e10\u0e36\u0e4d\u0e3a", "\u0e1f\u0e33\u0e47\u0e3a", "\u0e23\u0e4e\u0e39", "\u0e28\u0e33\u0e4c", "\u0e16\u0e49\u0e3a", "\u0e28\u0e31\u0e48\u0e38", "\u0e12\u0e31\u0e47", "\u0e03\u0e37\u0e4b\u0e3a", "\u0e04\u0e31\u0e47\u0e39", "\u0e19\u0e37\u0e4d\u0e38", "\u0e1c\u0e35\u0e4d\u0e38", "\u0e01\u0e34\u0e48", "\u0e16\u0e33\u0e4b\u0e3a", "\u0e16\u0e31\u0e4c\u0e3a", "\u0e1c\u0e33\u0e4c", "\u0e17\u0e37\u0e4a", "\u0e0b\u0e31\u0e48", "\u0e2b\u0e34\u0e39", "\u0e16\u0e31\u0e3a", "\u0e1b\u0e33\u0e47\u0e3a", "\u0e02\u0e36\u0e4d", "\u0e07\u0e35\u0e47", "\u0e06\u0e31\u0e4d\u0e38", "\u0e02\u0e35\u0e4a", "\u0e0b\u0e37\u0e4b\u0e39", "\u0e18\u0e31\u0e4c\u0e3a", "\u0e10\u0e37\u0e4d", "\u0e0c\u0e37\u0e48\u0e3a", "\u0e2e\u0e47\u0e3a", "\u0e0c\u0e3a", "\u0e02\u0e37\u0e48", "\u0e0b\u0e33\u0e4d", "\u0e2e\u0e37\u0e4b\u0e3a", "\u0e11\u0e37\u0e4a\u0e38", "\u0e14\u0e34\u0e4c\u0e3a", "\u0e0d\u0e35\u0e4d\u0e38", "\u0e27\u0e33\u0e49", "\u0e02\u0e48\u0e38", "\u0e16\u0e35\u0e47\u0e38", "\u0e08\u0e49\u0e38", "\u0e25\u0e37\u0e4e\u0e38", "\u0e13\u0e36\u0e4c\u0e39", "\u0e21\u0e33\u0e4b", "\u0e02\u0e34\u0e48", "\u0e2c\u0e36\u0e48\u0e38", "\u0e25\u0e38", "\u0e0d\u0e35\u0e49\u0e39", "\u0e01\u0e31\u0e49\u0e3a", "\u0e09\u0e35\u0e4c\u0e38", "\u0e16\u0e35\u0e47\u0e39", "\u0e20\u0e34", "\u0e25\u0e37\u0e48\u0e39", "\u0e25\u0e36\u0e39", "\u0e07\u0e34\u0e3a", "\u0e02\u0e38", "\u0e18\u0e31\u0e47\u0e39", "\u0e12\u0e4c\u0e3a", "\u0e05\u0e34\u0e4e\u0e38", "\u0e13\u0e35\u0e47\u0e3a", "\u0e0d\u0e31\u0e4c\u0e39", "\u0e2e\u0e33\u0e39", "\u0e20\u0e35\u0e48\u0e3a", "\u0e20\u0e34\u0e4c", "\u0e29\u0e36\u0e49", "\u0e03\u0e31\u0e38", "\u0e2b\u0e36\u0e49", "\u0e25\u0e31\u0e4b", "\u0e27\u0e31\u0e49\u0e3a", "\u0e1a\u0e36\u0e4e\u0e38", "\u0e0b\u0e36\u0e4e\u0e3a", "\u0e0d\u0e49\u0e3a", "\u0e1c\u0e34", "\u0e22\u0e4d", "\u0e0d\u0e34\u0e49", "\u0e03\u0e4b", "\u0e0a\u0e31\u0e38", "\u0e27\u0e36\u0e49\u0e3a", "\u0e1e\u0e34\u0e47\u0e3a", "\u0e14\u0e34\u0e4e\u0e38", "\u0e12\u0e36\u0e4d\u0e38", "\u0e1f\u0e36\u0e4d\u0e38", "\u0e17\u0e36\u0e49", "\u0e21\u0e34\u0e4b\u0e38", "\u0e0e\u0e35\u0e49\u0e3a", "\u0e1a\u0e35\u0e4a\u0e3a", "\u0e12\u0e31\u0e48\u0e39", "\u0e03\u0e35\u0e47\u0e3a", "\u0e1a\u0e37\u0e48\u0e39", "\u0e1f\u0e31\u0e4c", "\u0e0b\u0e35\u0e4c\u0e3a", "\u0e05\u0e36\u0e3a", "\u0e2c\u0e35\u0e4b", "\u0e1d\u0e34\u0e47\u0e3a", "\u0e0c\u0e36\u0e4a\u0e3a", "\u0e02\u0e36\u0e47\u0e38", "\u0e1f\u0e37\u0e47\u0e3a", "\u0e16\u0e47\u0e39", "\u0e2e\u0e31\u0e4d\u0e3a", "\u0e07\u0e37\u0e49\u0e39", "\u0e22\u0e33\u0e47\u0e38", "\u0e22\u0e49\u0e39", "\u0e13\u0e37\u0e4c\u0e38", "\u0e23\u0e34\u0e49\u0e3a", "\u0e0c\u0e34\u0e47\u0e38", "\u0e1d\u0e4a\u0e38", "\u0e02\u0e37\u0e4c", "\u0e07\u0e34\u0e4d\u0e38", "\u0e06\u0e34\u0e47\u0e39", "\u0e06\u0e49\u0e3a", "\u0e16\u0e33\u0e3a", "\u0e11\u0e33\u0e4e", "\u0e04\u0e33\u0e48\u0e3a", "\u0e05\u0e35\u0e39", "\u0e29\u0e36\u0e48\u0e3a", "\u0e03\u0e33\u0e4b\u0e3a", "\u0e2c\u0e34\u0e47\u0e3a", "\u0e2b\u0e36\u0e4a\u0e38", "\u0e0f\u0e34\u0e4a\u0e39", "\u0e03\u0e33\u0e4b\u0e38", "\u0e1f\u0e36\u0e49\u0e38", "\u0e1c\u0e48\u0e39", "\u0e27\u0e34\u0e4c", "\u0e04\u0e33\u0e49\u0e3a", "\u0e1d\u0e4d", "\u0e2a\u0e4a", "\u0e0f\u0e31\u0e4c", "\u0e09\u0e33\u0e39", "\u0e12\u0e36\u0e4e\u0e38", "\u0e18\u0e36\u0e4c", "\u0e28\u0e35\u0e4e\u0e39", "\u0e03\u0e37\u0e4c\u0e39", "\u0e1c\u0e33\u0e4d", "\u0e11\u0e36\u0e4e\u0e3a", "\u0e1a\u0e33\u0e38", "\u0e18\u0e36\u0e4e\u0e38", "\u0e1e\u0e36\u0e38", "\u0e11\u0e33\u0e47", "\u0e2a\u0e34\u0e4e\u0e38", "\u0e18\u0e35\u0e4e", "\u0e27\u0e31\u0e4e\u0e38", "\u0e0c\u0e49\u0e3a", "\u0e1f\u0e34\u0e47\u0e38", "\u0e16\u0e35\u0e39", "\u0e23\u0e36\u0e4b\u0e39", "\u0e04\u0e35\u0e4c\u0e3a", "\u0e2c\u0e4c\u0e3a", "\u0e19\u0e34\u0e4d\u0e3a", "\u0e29\u0e34\u0e4b\u0e39", "\u0e04\u0e34\u0e4b\u0e3a", "\u0e12\u0e37\u0e4b\u0e38", "\u0e0e\u0e31\u0e4c\u0e3a", "\u0e0b\u0e35\u0e4a\u0e39", "\u0e20\u0e36\u0e4e\u0e38", "\u0e0f\u0e48\u0e38", "\u0e16\u0e37\u0e4d\u0e39", "\u0e0c\u0e31\u0e4d\u0e3a", "\u0e0b\u0e34\u0e4a\u0e3a", "\u0e01\u0e33\u0e48\u0e39", "\u0e22\u0e33\u0e4e\u0e3a", "\u0e15\u0e35\u0e4b", "\u0e0e\u0e31\u0e49\u0e3a", "\u0e12\u0e37\u0e48", "\u0e13\u0e37\u0e4e\u0e39", "\u0e2b\u0e48", "\u0e10\u0e31\u0e4e\u0e3a", "\u0e15\u0e31\u0e47", "\u0e14\u0e33\u0e49\u0e39", "\u0e0c\u0e34\u0e49", "\u0e20\u0e31\u0e4c", "\u0e12\u0e33\u0e49\u0e39", "\u0e11\u0e31\u0e48\u0e39", "\u0e0b\u0e37\u0e4d\u0e39", "\u0e0c\u0e35\u0e4e\u0e38", "\u0e1c\u0e31\u0e48\u0e39", "\u0e27\u0e34\u0e48\u0e39", "\u0e2c\u0e35\u0e4a\u0e39", "\u0e2c\u0e34\u0e4a\u0e38", "\u0e11\u0e47\u0e39", "\u0e14\u0e48\u0e38", "\u0e2e\u0e36\u0e4c\u0e38", "\u0e14\u0e4c\u0e38", "\u0e13\u0e31\u0e4c", "\u0e03\u0e36\u0e3a", "\u0e1d\u0e4c\u0e38", "\u0e14\u0e34\u0e49\u0e39", "\u0e1b\u0e34\u0e4b\u0e3a", "\u0e07\u0e31\u0e4d\u0e38", "\u0e1a\u0e33\u0e4a", "\u0e2d\u0e35\u0e4b", "\u0e01\u0e31\u0e47\u0e38", "\u0e2c\u0e31\u0e4c\u0e38", "\u0e29\u0e38", "\u0e17\u0e33\u0e49\u0e39", "\u0e04\u0e36\u0e4a", "\u0e05\u0e36\u0e4a\u0e38", "\u0e0b\u0e4b\u0e38", "\u0e28\u0e33\u0e47\u0e3a", "\u0e0d\u0e48", "\u0e17\u0e35\u0e4d\u0e39", "\u0e2c\u0e35\u0e4b\u0e38", "\u0e02\u0e34\u0e47\u0e38", "\u0e2e\u0e34\u0e47\u0e39", "\u0e09\u0e4d\u0e3a", "\u0e18\u0e35\u0e4d\u0e38", "\u0e19\u0e49\u0e3a", "\u0e0b\u0e37\u0e4e", "\u0e01\u0e31\u0e4a\u0e39", "\u0e08\u0e37\u0e4d\u0e39", "\u0e14\u0e34\u0e49\u0e38", "\u0e23\u0e37\u0e49\u0e39", "\u0e0c\u0e37\u0e49\u0e3a", "\u0e18\u0e36\u0e4e\u0e3a", "\u0e1c\u0e31\u0e4e\u0e3a", "\u0e2a\u0e35\u0e4c\u0e38", "\u0e18\u0e34\u0e47\u0e38", "\u0e2a\u0e36\u0e4d\u0e3a", "\u0e27\u0e34\u0e38", "\u0e0c\u0e34\u0e4b\u0e39", "\u0e22\u0e33\u0e4a\u0e3a", "\u0e2d\u0e34\u0e3a", "\u0e25\u0e36\u0e49\u0e3a", "\u0e18\u0e34\u0e4e", "\u0e23\u0e35\u0e4c", "\u0e1f\u0e31\u0e4d\u0e3a", "\u0e0f\u0e34\u0e4a\u0e3a", "\u0e11\u0e37\u0e4c\u0e3a", "\u0e0e\u0e35\u0e4b\u0e38", "\u0e1b\u0e36\u0e48", "\u0e11\u0e36\u0e47\u0e38", "\u0e15\u0e35\u0e4b\u0e3a", "\u0e2e\u0e31\u0e48\u0e39", "\u0e09\u0e31\u0e49\u0e38", "\u0e1f\u0e34\u0e4b\u0e38", "\u0e2e\u0e36\u0e4a", "\u0e03\u0e33\u0e47", "\u0e20\u0e31\u0e4c\u0e3a", "\u0e17\u0e31\u0e47\u0e39", "\u0e0f\u0e36\u0e39", "\u0e10\u0e34\u0e47\u0e39", "\u0e09\u0e33\u0e4c\u0e39", "\u0e25\u0e35\u0e4e\u0e39", "\u0e23\u0e47\u0e39", "\u0e25\u0e36\u0e4d\u0e3a", "\u0e20\u0e34\u0e49", "\u0e03\u0e39", "\u0e02\u0e31\u0e48", "\u0e0c\u0e37\u0e49", "\u0e1e\u0e36\u0e4e\u0e38", "\u0e13\u0e4a", "\u0e09\u0e36\u0e49\u0e39", "\u0e04\u0e34\u0e4e\u0e3a", "\u0e1a\u0e35\u0e49\u0e3a", "\u0e1b\u0e31\u0e4e\u0e39", "\u0e1f\u0e36\u0e4b\u0e38", "\u0e1e\u0e33\u0e4c", "\u0e2d\u0e37\u0e4d\u0e39", "\u0e28\u0e36\u0e4c\u0e3a", "\u0e0b\u0e37\u0e49", "\u0e21\u0e35\u0e39", "\u0e04\u0e33\u0e4e\u0e38", "\u0e2d\u0e31\u0e4d\u0e39", "\u0e07\u0e31\u0e4e\u0e39", "\u0e2c\u0e33\u0e49\u0e39", "\u0e23\u0e37\u0e47\u0e3a", "\u0e1d\u0e33\u0e3a", "\u0e28\u0e47\u0e3a", "\u0e1f\u0e33\u0e49\u0e39", "\u0e10\u0e31\u0e4c\u0e3a", "\u0e17\u0e31\u0e38", "\u0e0f\u0e36\u0e4d\u0e3a", "\u0e27\u0e33\u0e4a", "\u0e09\u0e35\u0e4e\u0e38", "\u0e15", "\u0e1e\u0e36\u0e47\u0e38", "\u0e2a\u0e33\u0e4c\u0e38", "\u0e1b\u0e34\u0e4c\u0e38", "\u0e1b\u0e37\u0e4b", "\u0e0a\u0e33\u0e4e\u0e3a", "\u0e23\u0e33\u0e47", "\u0e01\u0e36", "\u0e2a\u0e34\u0e47\u0e3a", "\u0e03\u0e37\u0e3a", "\u0e23\u0e34\u0e4a\u0e3a", "\u0e21\u0e36\u0e4a", "\u0e29\u0e36\u0e49\u0e39", "\u0e02\u0e37\u0e4c\u0e38", "\u0e01\u0e34\u0e49\u0e39", "\u0e29\u0e36\u0e4c\u0e38", "\u0e18\u0e31\u0e4b\u0e38", "\u0e07\u0e34\u0e4d\u0e39", "\u0e16\u0e31", "\u0e17\u0e34\u0e4e\u0e3a", "\u0e1d\u0e31", "\u0e27\u0e31\u0e4d\u0e39", "\u0e2b\u0e37\u0e49\u0e3a", "\u0e09\u0e31\u0e4b\u0e39", "\u0e2d\u0e34\u0e4b", "\u0e28\u0e37\u0e48\u0e39", "\u0e05\u0e34\u0e4e\u0e3a", "\u0e29\u0e4a", "\u0e2e\u0e49\u0e38", "\u0e02\u0e31\u0e4d\u0e38", "\u0e23\u0e33\u0e47\u0e38", "\u0e07\u0e34", "\u0e27\u0e37\u0e49", "\u0e0a\u0e31\u0e4d\u0e3a", "\u0e06\u0e33\u0e4b", "\u0e1f\u0e33\u0e4d\u0e39", "\u0e05\u0e36\u0e48\u0e39", "\u0e0d\u0e37\u0e47\u0e39", "\u0e19\u0e31\u0e4b\u0e39", "\u0e02\u0e35\u0e49\u0e39", "\u0e04\u0e34\u0e4c\u0e38", "\u0e03\u0e4b\u0e38", "\u0e0a\u0e31\u0e4b\u0e38", "\u0e02\u0e34\u0e4b\u0e38", "\u0e27\u0e36\u0e48\u0e3a", "\u0e07\u0e35\u0e4e\u0e3a", "\u0e10\u0e35\u0e39", "\u0e0e\u0e31\u0e4a\u0e39", "\u0e0a\u0e34\u0e4c\u0e39", "\u0e29\u0e36\u0e4a", "\u0e18\u0e31\u0e49", "\u0e12\u0e36\u0e4d", "\u0e0f\u0e36\u0e4e\u0e39", "\u0e28\u0e37\u0e4b", "\u0e0a\u0e35\u0e4a\u0e38", "\u0e20\u0e33\u0e4c\u0e3a", "\u0e17\u0e4a\u0e3a", "\u0e2a\u0e35\u0e49", "\u0e25\u0e36\u0e4a\u0e38", "\u0e10\u0e4b\u0e38", "\u0e07\u0e4e\u0e39", "\u0e22\u0e36\u0e4e\u0e39", "\u0e17\u0e38", "\u0e09\u0e37\u0e3a", "\u0e10\u0e36\u0e4a\u0e3a", "\u0e2c\u0e36\u0e47\u0e3a", "\u0e03\u0e37\u0e48\u0e39", "\u0e22\u0e33\u0e48", "\u0e13\u0e49\u0e38", "\u0e2a\u0e34", "\u0e2b\u0e34\u0e49\u0e3a", "\u0e0e\u0e34\u0e4d", "\u0e27\u0e33\u0e4c", "\u0e28\u0e31\u0e4c", "\u0e0a\u0e36\u0e48", "\u0e15\u0e37\u0e4a\u0e39", "\u0e10\u0e33\u0e47\u0e3a", "\u0e28\u0e39", "\u0e06\u0e37", "\u0e19\u0e37\u0e39", "\u0e1d\u0e33\u0e4c\u0e39", "\u0e1d\u0e35\u0e39", "\u0e02\u0e37\u0e4b\u0e38", "\u0e2d\u0e36\u0e39", "\u0e08\u0e33\u0e4b\u0e39", "\u0e02\u0e31\u0e4b", "\u0e2c\u0e35\u0e47\u0e3a", "\u0e1e\u0e35\u0e48\u0e39", "\u0e1f\u0e34\u0e49\u0e38", "\u0e07\u0e35\u0e47\u0e39", "\u0e04\u0e35\u0e4e\u0e3a", "\u0e1b\u0e35\u0e47\u0e39", "\u0e2d\u0e34\u0e47\u0e38", "\u0e19\u0e35\u0e4b\u0e39", "\u0e16\u0e35\u0e4e", "\u0e07\u0e36\u0e4b\u0e38", "\u0e0d\u0e36\u0e48\u0e3a", "\u0e06\u0e31\u0e4d", "\u0e2b\u0e36\u0e48\u0e39", "\u0e18\u0e35\u0e48", "\u0e0e\u0e37\u0e4d\u0e39", "\u0e27\u0e35\u0e4a\u0e3a", "\u0e1b\u0e34\u0e4e\u0e3a", "\u0e20\u0e33\u0e49\u0e3a", "\u0e0a\u0e34\u0e49\u0e3a", "\u0e06\u0e36\u0e4e", "\u0e1a\u0e37\u0e3a", "\u0e22\u0e31\u0e48", "\u0e15\u0e33\u0e48\u0e3a", "\u0e14\u0e35\u0e4c\u0e3a", "\u0e1a\u0e36\u0e48\u0e3a", "\u0e13\u0e37\u0e47", "\u0e1d\u0e34\u0e4b\u0e39", "\u0e28\u0e31\u0e4b\u0e39", "\u0e0a\u0e36\u0e4e\u0e39", "\u0e12\u0e31\u0e48", "\u0e01\u0e4c\u0e39", "\u0e20\u0e31\u0e4e\u0e3a", "\u0e13\u0e37\u0e4d", "\u0e05\u0e36\u0e4e\u0e38", "\u0e0a\u0e36\u0e48\u0e3a", "\u0e0a\u0e33\u0e4a\u0e38", "\u0e07\u0e33\u0e4a\u0e3a", "\u0e2d\u0e48\u0e3a", "\u0e07\u0e4e\u0e38", "\u0e11\u0e4a\u0e3a", "\u0e02\u0e36\u0e38", "\u0e22\u0e33\u0e4c\u0e39", "\u0e12\u0e35\u0e47\u0e38", "\u0e0b\u0e35\u0e49\u0e3a", "\u0e14\u0e33\u0e4c\u0e39", "\u0e25\u0e33\u0e49\u0e39", "\u0e06\u0e37\u0e4e", "\u0e20\u0e33\u0e4c\u0e39", "\u0e2b\u0e37\u0e4e", "\u0e1e\u0e47", "\u0e16\u0e36\u0e4a", "\u0e14\u0e35\u0e4d\u0e39", "\u0e29\u0e34\u0e39", "\u0e1f\u0e36\u0e4a\u0e39", "\u0e08\u0e33\u0e47\u0e38", "\u0e0f\u0e37\u0e4d\u0e3a", "\u0e0b\u0e34\u0e47\u0e3a", "\u0e19\u0e31\u0e4d\u0e39", "\u0e1a\u0e34\u0e4c", "\u0e28\u0e49\u0e3a", "\u0e08\u0e37\u0e4a\u0e38", "\u0e0c\u0e36", "\u0e29\u0e37\u0e4c", "\u0e21\u0e36\u0e4b\u0e38", "\u0e0a\u0e37\u0e4a", "\u0e15\u0e37\u0e49\u0e3a", "\u0e0b\u0e33\u0e38", "\u0e20\u0e4a\u0e38", "\u0e28\u0e35\u0e4e", "\u0e0f\u0e37\u0e4c\u0e38", "\u0e21\u0e35\u0e48\u0e39", "\u0e15\u0e36\u0e49\u0e3a", "\u0e06\u0e4d", "\u0e13\u0e35\u0e49", "\u0e25\u0e35\u0e4c", "\u0e19\u0e33\u0e4d\u0e3a", "\u0e0d\u0e33\u0e4a\u0e3a", "\u0e13\u0e36\u0e4e\u0e3a", "\u0e25\u0e4c", "\u0e1d\u0e36\u0e4b\u0e3a", "\u0e07\u0e33\u0e4a", "\u0e29\u0e37\u0e4d\u0e38", "\u0e2a\u0e4d\u0e39", "\u0e05\u0e33\u0e4b\u0e3a", "\u0e11\u0e36\u0e3a", "\u0e22\u0e36\u0e4a\u0e38", "\u0e2e\u0e4a\u0e39", "\u0e1d\u0e49\u0e3a", "\u0e12\u0e36\u0e4a\u0e38", "\u0e16\u0e34\u0e4a", "\u0e2e\u0e34\u0e49\u0e39", "\u0e2a\u0e37", "\u0e01\u0e35\u0e4c\u0e39", "\u0e11\u0e33\u0e4c\u0e38", "\u0e15\u0e37\u0e47", "\u0e12\u0e34\u0e47\u0e38", "\u0e15\u0e37\u0e49\u0e39", "\u0e14\u0e36\u0e47", "\u0e0b\u0e37\u0e38", "\u0e17\u0e33\u0e4c\u0e3a", "\u0e29\u0e37\u0e4b", "\u0e0d\u0e31\u0e38", "\u0e03\u0e34\u0e4c\u0e39", "\u0e04\u0e31\u0e4d\u0e38", "\u0e21\u0e31\u0e48\u0e3a", "\u0e12\u0e36", "\u0e17\u0e49", "\u0e2e\u0e47\u0e38", "\u0e10\u0e31\u0e39", "\u0e09\u0e31\u0e48\u0e39", "\u0e29\u0e37\u0e4e", "\u0e2c\u0e33\u0e4d\u0e39", "\u0e03\u0e36\u0e48", "\u0e08\u0e49", "\u0e10\u0e36\u0e4e\u0e38", "\u0e27\u0e37\u0e4e\u0e39", "\u0e22\u0e36\u0e38", "\u0e05\u0e4c\u0e3a", "\u0e23\u0e34\u0e48\u0e38", "\u0e0f\u0e34\u0e48\u0e3a", "\u0e01\u0e31\u0e3a", "\u0e0e\u0e33\u0e47", "\u0e1d\u0e37\u0e47\u0e39", "\u0e1c\u0e36\u0e47\u0e38", "\u0e12\u0e38", "\u0e01\u0e37\u0e4a", "\u0e22\u0e31\u0e48\u0e38", "\u0e0e\u0e49", "\u0e29\u0e36\u0e47\u0e39", "\u0e09\u0e4a", "\u0e0f\u0e36\u0e49\u0e39", "\u0e09\u0e35\u0e4c\u0e3a", "\u0e1f\u0e37\u0e4d\u0e39", "\u0e11\u0e47\u0e3a", "\u0e0d\u0e34\u0e4e", "\u0e1d\u0e4b", "\u0e16\u0e34\u0e47\u0e39", "\u0e0d\u0e36\u0e4a\u0e38", "\u0e2b\u0e36\u0e38", "\u0e04\u0e34\u0e47\u0e38", "\u0e05\u0e37\u0e4c", "\u0e02\u0e33\u0e49\u0e3a", "\u0e25\u0e36\u0e4c", "\u0e18\u0e35\u0e4d", "\u0e21\u0e4a\u0e38", "\u0e23\u0e37\u0e4b", "\u0e05\u0e31\u0e4d\u0e39", "\u0e0f\u0e4c\u0e39", "\u0e0f\u0e31\u0e4b\u0e3a", "\u0e14\u0e48", "\u0e2e\u0e4e\u0e3a", "\u0e25\u0e35\u0e47\u0e38", "\u0e22\u0e4e\u0e39", "\u0e0a\u0e49\u0e39", "\u0e28\u0e33\u0e47", "\u0e1b\u0e34\u0e49", "\u0e06\u0e37\u0e4b\u0e38", "\u0e05\u0e49\u0e38", "\u0e20\u0e37\u0e4d", "\u0e1f\u0e37", "\u0e04\u0e35\u0e49\u0e39", "\u0e03\u0e31\u0e4b\u0e3a", "\u0e1c\u0e47\u0e38", "\u0e03\u0e34\u0e4a\u0e39", "\u0e0d\u0e34\u0e4b", "\u0e0d\u0e37\u0e49\u0e38", "\u0e2b\u0e33\u0e4e", "\u0e07\u0e36\u0e39", "\u0e14\u0e36\u0e4b", "\u0e07\u0e33\u0e49\u0e39", "\u0e0a", "\u0e2d\u0e35\u0e4e", "\u0e12\u0e36\u0e4b\u0e38", "\u0e11\u0e33\u0e39", "\u0e15\u0e37\u0e4a\u0e3a", "\u0e09\u0e36\u0e48\u0e38", "\u0e0d\u0e35\u0e38", "\u0e18\u0e36", "\u0e07\u0e31\u0e4e\u0e3a", "\u0e10\u0e37\u0e38", "\u0e15\u0e4e", "\u0e0b\u0e35\u0e4c", "\u0e0c\u0e4d\u0e38", "\u0e17\u0e35\u0e49\u0e38", "\u0e02\u0e31\u0e4e\u0e38", "\u0e1e\u0e33\u0e4d", "\u0e20\u0e34\u0e38", "\u0e15\u0e34\u0e49\u0e38", "\u0e14\u0e31\u0e3a", "\u0e1c\u0e34\u0e4b\u0e38", "\u0e0a\u0e35\u0e4e", "\u0e05\u0e35\u0e38", "\u0e2d\u0e34\u0e49\u0e3a", "\u0e16\u0e36\u0e4d\u0e38", "\u0e21\u0e35\u0e48\u0e38", "\u0e28\u0e31\u0e49\u0e38", "\u0e23\u0e33\u0e4e", "\u0e12\u0e33\u0e4a\u0e3a", "\u0e09\u0e47", "\u0e19\u0e31\u0e4a\u0e38", "\u0e27\u0e36\u0e4a", "\u0e1b\u0e33\u0e4b\u0e38", "\u0e1c\u0e33\u0e4e\u0e3a", "\u0e2c\u0e4e\u0e39", "\u0e2b\u0e36\u0e49\u0e38", "\u0e15\u0e37\u0e47\u0e38", "\u0e13\u0e36\u0e4a", "\u0e04\u0e34\u0e47\u0e3a", "\u0e1c\u0e33\u0e4b\u0e3a", "\u0e13", "\u0e05\u0e36\u0e47\u0e38", "\u0e1e\u0e35\u0e48", "\u0e25\u0e36\u0e4c\u0e38", "\u0e28\u0e31\u0e48", "\u0e28\u0e37\u0e3a", "\u0e0d\u0e35\u0e47\u0e3a", "\u0e1b\u0e35\u0e4e\u0e38", "\u0e12\u0e35\u0e48\u0e3a", "\u0e16\u0e3a", "\u0e11\u0e35", "\u0e20\u0e33\u0e4b\u0e39", "\u0e20\u0e37\u0e49", "\u0e13\u0e31\u0e4e", "\u0e0b\u0e48\u0e38", "\u0e18\u0e33\u0e48\u0e3a", "\u0e06\u0e33\u0e4e\u0e3a", "\u0e12\u0e36\u0e48", "\u0e06\u0e4a\u0e39", "\u0e06\u0e37\u0e48\u0e3a", "\u0e07\u0e33\u0e49\u0e3a", "\u0e15\u0e31\u0e48\u0e38", "\u0e03\u0e35\u0e48\u0e39", "\u0e0b\u0e31\u0e4b\u0e39", "\u0e05\u0e36\u0e48", "\u0e2d", "\u0e1a\u0e34", "\u0e08\u0e34", "\u0e29\u0e36\u0e47", "\u0e1d\u0e36\u0e4e\u0e39", "\u0e1f\u0e31\u0e4a\u0e39", "\u0e10\u0e31\u0e49", "\u0e19\u0e34\u0e49\u0e38", "\u0e13\u0e34\u0e4d\u0e38", "\u0e19\u0e49\u0e39", "\u0e28\u0e36\u0e49", "\u0e1d\u0e4e\u0e3a", "\u0e1e\u0e4b", "\u0e12\u0e31\u0e47\u0e39", "\u0e09\u0e4e\u0e39", "\u0e2e\u0e37\u0e4a\u0e38", "\u0e1a\u0e31\u0e4e\u0e38", "\u0e28\u0e34\u0e47", "\u0e04\u0e31\u0e4a\u0e3a", "\u0e28\u0e33\u0e4d\u0e38", "\u0e04\u0e31\u0e4c", "\u0e06\u0e34\u0e47", "\u0e28\u0e34\u0e49\u0e3a", "\u0e07\u0e31\u0e49\u0e39", "\u0e1c\u0e31", "\u0e18\u0e33\u0e3a", "\u0e01\u0e35\u0e4c", "\u0e05\u0e47", "\u0e18\u0e49\u0e38", "\u0e0e\u0e34\u0e47\u0e38", "\u0e14\u0e34\u0e39", "\u0e10\u0e35\u0e4c\u0e39", "\u0e02\u0e33\u0e4e\u0e3a", "\u0e21\u0e35\u0e4b\u0e38", "\u0e10\u0e34\u0e4c\u0e39", "\u0e2d\u0e37\u0e4c", "\u0e08\u0e35\u0e47", "\u0e23\u0e35\u0e4d\u0e39", "\u0e1b\u0e37\u0e4e\u0e3a", "\u0e10\u0e37\u0e47\u0e3a", "\u0e0f\u0e36\u0e47\u0e3a", "\u0e21\u0e4b\u0e38", "\u0e09\u0e33\u0e4e\u0e38", "\u0e22\u0e35\u0e48", "\u0e13\u0e36\u0e4c\u0e38", "\u0e1a\u0e31\u0e4a\u0e39", "\u0e0e\u0e37\u0e4a\u0e3a", "\u0e01\u0e33\u0e4d\u0e3a", "\u0e0b\u0e37\u0e4c\u0e3a", "\u0e07\u0e34\u0e4c", "\u0e0d\u0e36\u0e4a", "\u0e13\u0e34\u0e4a", "\u0e02\u0e33\u0e4c\u0e38", "\u0e14\u0e4a\u0e38", "\u0e25\u0e33\u0e49\u0e3a", "\u0e27\u0e31\u0e47", "\u0e16\u0e35\u0e49\u0e39", "\u0e0f\u0e34\u0e4a\u0e38", "\u0e0d\u0e35", "\u0e15\u0e4e\u0e39", "\u0e14\u0e36\u0e49", "\u0e1a\u0e36\u0e4d", "\u0e0e\u0e33\u0e4a\u0e39", "\u0e2b\u0e4d\u0e38", "\u0e1f\u0e33\u0e4e\u0e38", "\u0e23\u0e31\u0e47\u0e38", "\u0e0d\u0e37", "\u0e20\u0e36\u0e4d\u0e3a", "\u0e22\u0e31\u0e49\u0e39", "\u0e29\u0e49\u0e3a", "\u0e07\u0e33\u0e4b\u0e3a", "\u0e2e\u0e35\u0e4e\u0e39", "\u0e23\u0e34\u0e47\u0e39", "\u0e2a\u0e34\u0e4d\u0e39", "\u0e08\u0e36\u0e4b\u0e38", "\u0e2e\u0e31\u0e4a\u0e38", "\u0e0b\u0e36\u0e4d\u0e3a", "\u0e27\u0e4c\u0e38", "\u0e14\u0e36\u0e4c\u0e3a", "\u0e1b\u0e4e\u0e3a", "\u0e18\u0e34\u0e47\u0e3a", "\u0e0c\u0e35\u0e47\u0e38", "\u0e0c\u0e35\u0e4c\u0e3a", "\u0e01\u0e36\u0e48\u0e38", "\u0e1b\u0e33\u0e4a\u0e39", "\u0e23\u0e33\u0e48\u0e39", "\u0e15\u0e36\u0e49\u0e39", "\u0e25\u0e36\u0e4c\u0e39", "\u0e17\u0e31\u0e48\u0e39", "\u0e0c\u0e31\u0e49\u0e38", "\u0e2a\u0e31\u0e47", "\u0e28\u0e37\u0e4a\u0e38", "\u0e0d\u0e31\u0e4a\u0e38", "\u0e11\u0e34\u0e4e", "\u0e2d\u0e33\u0e4b\u0e38", "\u0e17\u0e36\u0e4a", "\u0e28\u0e34\u0e38", "\u0e11\u0e36\u0e4c\u0e39", "\u0e2e\u0e37\u0e4a", "\u0e27\u0e37\u0e49\u0e38", "\u0e07\u0e34\u0e4c\u0e3a", "\u0e08\u0e37\u0e48\u0e38", "\u0e08\u0e33\u0e4a\u0e39", "\u0e2b\u0e37\u0e39", "\u0e17\u0e36\u0e4b\u0e39", "\u0e16\u0e37\u0e47\u0e3a", "\u0e1d\u0e37\u0e4a\u0e38", "\u0e0a\u0e35\u0e4c", "\u0e08\u0e31\u0e48\u0e3a", "\u0e25\u0e4e", "\u0e1c\u0e35\u0e4a\u0e39", "\u0e13\u0e37\u0e4d\u0e3a", "\u0e0b\u0e35\u0e4a\u0e3a", "\u0e27\u0e48\u0e38", "\u0e12\u0e36\u0e47\u0e3a", "\u0e05\u0e31\u0e4c", "\u0e1e\u0e48\u0e38", "\u0e2a\u0e37\u0e4d\u0e3a", "\u0e03\u0e33\u0e4a\u0e3a", "\u0e19\u0e4b", "\u0e29\u0e35\u0e4d\u0e38", "\u0e2a\u0e37\u0e4b\u0e38", "\u0e1f\u0e36\u0e4c\u0e38", "\u0e11\u0e35\u0e49\u0e3a", "\u0e02\u0e34\u0e4c\u0e38", "\u0e2b\u0e36\u0e3a", "\u0e16\u0e37\u0e4a\u0e39", "\u0e1a\u0e35\u0e4c\u0e39", "\u0e15\u0e34\u0e47\u0e39", "\u0e1a\u0e49\u0e3a", "\u0e0e\u0e37\u0e4b\u0e39", "\u0e13\u0e31\u0e49", "\u0e06\u0e4e\u0e39", "\u0e01\u0e37\u0e4d\u0e3a", "\u0e25\u0e35\u0e47\u0e3a", "\u0e1a\u0e31\u0e4e\u0e3a", "\u0e09\u0e36\u0e4e", "\u0e27\u0e37\u0e4a\u0e39", "\u0e0b\u0e31\u0e4e", "\u0e20\u0e37\u0e48\u0e38", "\u0e1a\u0e36\u0e4a\u0e39", "\u0e1b\u0e33\u0e48", "\u0e2d\u0e36\u0e49", "\u0e1f\u0e37\u0e4b", "\u0e0b\u0e35\u0e3a", "\u0e2e\u0e4c\u0e3a", "\u0e19\u0e4a", "\u0e2a\u0e33\u0e3a", "\u0e28\u0e36\u0e4e\u0e39", "\u0e1c\u0e36\u0e4d\u0e3a", "\u0e09\u0e37\u0e49\u0e3a", "\u0e0b\u0e31\u0e4b\u0e3a", "\u0e22\u0e47\u0e3a", "\u0e28\u0e31\u0e39", "\u0e05\u0e34\u0e4c\u0e3a", "\u0e15\u0e34\u0e4e\u0e38", "\u0e19\u0e35\u0e4d", "\u0e0e\u0e37\u0e49", "\u0e03\u0e33\u0e4d\u0e39", "\u0e1c\u0e49\u0e39", "\u0e18\u0e33\u0e4e\u0e38", "\u0e0e\u0e37\u0e47\u0e38", "\u0e04\u0e4b", "\u0e07\u0e31\u0e4a\u0e3a", "\u0e05\u0e33\u0e49\u0e39", "\u0e15\u0e31\u0e3a", "\u0e1f\u0e33\u0e49", "\u0e16\u0e37\u0e48\u0e38", "\u0e2b\u0e33\u0e38", "\u0e10\u0e35\u0e49\u0e3a", "\u0e1b\u0e31\u0e38", "\u0e05\u0e37\u0e3a", "\u0e05\u0e34\u0e48", "\u0e1e\u0e36\u0e4b\u0e38", "\u0e02\u0e39", "\u0e21\u0e47", "\u0e1e\u0e33\u0e49", "\u0e0d\u0e37\u0e4e\u0e39", "\u0e07\u0e35", "\u0e2d\u0e36\u0e4b\u0e3a", "\u0e13\u0e34\u0e4e", "\u0e21\u0e49\u0e39", "\u0e1a\u0e35\u0e4c\u0e3a", "\u0e09\u0e35\u0e4c", "\u0e2d\u0e36\u0e47", "\u0e10\u0e31\u0e4c\u0e38", "\u0e1b\u0e34\u0e4c\u0e39", "\u0e07\u0e33\u0e48\u0e39", "\u0e23\u0e35\u0e4c\u0e38", "\u0e2d\u0e36\u0e4b", "\u0e15\u0e37\u0e49", "\u0e2e\u0e47\u0e39", "\u0e0b\u0e33\u0e4d\u0e39", "\u0e11\u0e34\u0e4d\u0e39", "\u0e03\u0e34\u0e4b\u0e38", "\u0e21\u0e4b\u0e3a", "\u0e06\u0e49", "\u0e15\u0e35\u0e4d", "\u0e23\u0e36\u0e38", "\u0e25\u0e35\u0e4a\u0e39", "\u0e01\u0e33\u0e3a", "\u0e1d\u0e31\u0e49\u0e3a", "\u0e18\u0e34\u0e4e\u0e39", "\u0e09\u0e34\u0e47\u0e38", "\u0e0e\u0e34\u0e48\u0e38", "\u0e0e\u0e37\u0e47", "\u0e23\u0e35\u0e4b", "\u0e03\u0e33\u0e48", "\u0e2b\u0e34\u0e49\u0e39", "\u0e1f\u0e37\u0e49\u0e39", "\u0e2c\u0e49\u0e3a", "\u0e1f\u0e47\u0e3a", "\u0e14\u0e49", "\u0e18\u0e36\u0e4b\u0e3a", "\u0e0f\u0e36\u0e4a\u0e3a", "\u0e07\u0e31\u0e3a", "\u0e1f\u0e36\u0e4d\u0e39", "\u0e0a\u0e36\u0e38", "\u0e09\u0e31\u0e47", "\u0e12\u0e37\u0e49\u0e3a", "\u0e16\u0e37\u0e39", "\u0e23\u0e31\u0e4b\u0e38", "\u0e0b\u0e37\u0e4c", "\u0e08\u0e31\u0e47\u0e38", "\u0e02\u0e31\u0e4e", "\u0e1d\u0e34\u0e4d", "\u0e14\u0e37\u0e4a\u0e39", "\u0e05\u0e35\u0e4a", "\u0e09\u0e36\u0e49\u0e38", "\u0e12\u0e34\u0e49\u0e39", "\u0e27\u0e31\u0e4e\u0e3a", "\u0e2d\u0e37\u0e4e\u0e3a", "\u0e12\u0e35\u0e4c\u0e38", "\u0e28\u0e33\u0e4b\u0e39", "\u0e20\u0e4e\u0e39", "\u0e19\u0e33\u0e47\u0e38", "\u0e1d\u0e37\u0e4e", "\u0e09\u0e31\u0e4d\u0e38", "\u0e16\u0e4c\u0e38", "\u0e28\u0e4a\u0e3a", "\u0e09\u0e37\u0e47\u0e39", "\u0e22\u0e31\u0e4a\u0e39", "\u0e21\u0e31\u0e49\u0e38", "\u0e25\u0e33\u0e4b\u0e3a", "\u0e0a\u0e33\u0e4c\u0e38", "\u0e08\u0e33\u0e48\u0e39", "\u0e1b\u0e4d\u0e3a", "\u0e10\u0e4e\u0e3a", "\u0e23\u0e35\u0e4d\u0e3a", "\u0e2e\u0e36\u0e4e\u0e3a", "\u0e2c\u0e37\u0e4a\u0e3a", "\u0e1a\u0e31", "\u0e15\u0e36\u0e4d\u0e39", "\u0e1a\u0e4d\u0e38", "\u0e23\u0e4e\u0e3a", "\u0e06\u0e31\u0e49\u0e3a", "\u0e17\u0e48\u0e39", "\u0e23\u0e37\u0e47\u0e38", "\u0e2c\u0e31\u0e4e\u0e3a", "\u0e1f\u0e33\u0e39", "\u0e27\u0e36\u0e3a", "\u0e29\u0e33\u0e47\u0e3a", "\u0e21\u0e4e\u0e39", "\u0e0f\u0e36\u0e4a", "\u0e10\u0e36\u0e4b\u0e38", "\u0e21\u0e36\u0e4a\u0e38", "\u0e12\u0e37\u0e47\u0e3a", "\u0e0d\u0e31\u0e4c", "\u0e06\u0e4d\u0e38", "\u0e0d\u0e37\u0e48", "\u0e18\u0e31\u0e48", "\u0e1c\u0e31\u0e4d\u0e3a", "\u0e1e\u0e35\u0e4b\u0e38", "\u0e27\u0e37\u0e4b\u0e39", "\u0e0f\u0e37\u0e38", "\u0e29\u0e35\u0e4b\u0e39", "\u0e0d\u0e35\u0e48\u0e3a", "\u0e1c\u0e35\u0e4b\u0e3a", "\u0e1c\u0e37\u0e48\u0e38", "\u0e06\u0e35\u0e49", "\u0e10\u0e34\u0e4b\u0e3a", "\u0e0f\u0e31\u0e49\u0e3a", "\u0e2d\u0e37\u0e4a", "\u0e2e\u0e36\u0e4b", "\u0e1a\u0e33\u0e4e", "\u0e1f\u0e34\u0e38", "\u0e22\u0e37\u0e4d\u0e3a", "\u0e0a\u0e4e\u0e3a", "\u0e20\u0e35\u0e48", "\u0e13\u0e36\u0e4c\u0e3a", "\u0e09\u0e31\u0e4c\u0e38", "\u0e23\u0e31\u0e49\u0e39", "\u0e2e\u0e31\u0e4b\u0e38", "\u0e2c\u0e35\u0e3a", "\u0e29\u0e36\u0e4d\u0e3a", "\u0e16\u0e36\u0e4e\u0e39", "\u0e0b\u0e35\u0e47\u0e38", "\u0e27\u0e31\u0e48", "\u0e21\u0e34\u0e4a\u0e39", "\u0e14\u0e4b\u0e38", "\u0e03\u0e36", "\u0e29\u0e4a\u0e38", "\u0e0b\u0e4b\u0e39", "\u0e1d\u0e35", "\u0e10\u0e36\u0e4c\u0e3a", "\u0e19\u0e37\u0e38", "\u0e0e\u0e37\u0e48\u0e3a", "\u0e08\u0e31\u0e4c\u0e38", "\u0e1d\u0e37\u0e4d\u0e38", "\u0e0d\u0e36\u0e48\u0e38", "\u0e22\u0e31\u0e4d\u0e3a", "\u0e21\u0e4b\u0e39", "\u0e17\u0e33\u0e48\u0e3a", "\u0e05\u0e37\u0e4c\u0e39", "\u0e0f\u0e35\u0e4b\u0e3a", "\u0e02\u0e34\u0e4c\u0e3a", "\u0e0b\u0e31\u0e49\u0e39", "\u0e0c\u0e37\u0e48\u0e39", "\u0e14\u0e31", "\u0e0a\u0e34\u0e49\u0e39", "\u0e02\u0e35\u0e4c\u0e39", "\u0e0a\u0e37\u0e4b\u0e39", "\u0e05\u0e37\u0e4b\u0e39", "\u0e1c\u0e31\u0e47\u0e38", "\u0e04\u0e36\u0e4e\u0e38", "\u0e19\u0e4e\u0e3a", "\u0e1f\u0e36\u0e49\u0e39", "\u0e06\u0e36\u0e49\u0e38", "\u0e22\u0e31\u0e4a", "\u0e19\u0e37\u0e4e\u0e3a", "\u0e22\u0e31\u0e4a\u0e3a", "\u0e20\u0e4c", "\u0e0c\u0e34\u0e4e\u0e39", "\u0e02\u0e36\u0e4c\u0e38", "\u0e01\u0e31\u0e47", "\u0e0f\u0e4d\u0e38", "\u0e2a\u0e33\u0e4b\u0e39", "\u0e10\u0e37\u0e47", "\u0e17\u0e34\u0e4b\u0e3a", "\u0e13\u0e47\u0e3a", "\u0e07\u0e31\u0e4c\u0e38", "\u0e2c\u0e36\u0e4b", "\u0e0b\u0e36\u0e3a", "\u0e1b\u0e31\u0e4d\u0e38", "\u0e06\u0e34\u0e49\u0e3a", "\u0e18\u0e35\u0e4e\u0e39", "\u0e1e\u0e36\u0e4c\u0e38", "\u0e16\u0e36\u0e4c", "\u0e1b\u0e4b\u0e3a", "\u0e0b\u0e31\u0e47\u0e3a", "\u0e08\u0e36\u0e4b", "\u0e0d\u0e4b", "\u0e0c\u0e34\u0e3a", "\u0e23\u0e33\u0e4d\u0e39", "\u0e09\u0e4e", "\u0e1c\u0e37\u0e4c\u0e3a", "\u0e29\u0e35\u0e47", "\u0e15\u0e36\u0e4e\u0e38", "\u0e11\u0e35\u0e47\u0e38", "\u0e1b\u0e4c", "\u0e07\u0e37\u0e47\u0e39", "\u0e0d\u0e35\u0e4e\u0e39", "\u0e0c\u0e33\u0e47\u0e38", "\u0e21\u0e31\u0e49\u0e3a", "\u0e08\u0e33\u0e38", "\u0e2e\u0e33\u0e3a", "\u0e2a\u0e37\u0e4a\u0e38", "\u0e28\u0e36\u0e49\u0e39", "\u0e19\u0e36\u0e47\u0e39", "\u0e0f\u0e37\u0e4d\u0e38", "\u0e02\u0e34\u0e4e\u0e38", "\u0e02\u0e37\u0e4b\u0e3a", "\u0e03\u0e34\u0e4d\u0e38", "\u0e0f\u0e31\u0e4c\u0e39", "\u0e05\u0e35\u0e47", "\u0e1d\u0e33\u0e47\u0e38", "\u0e01\u0e36\u0e47\u0e38", "\u0e16\u0e35\u0e49\u0e38", "\u0e02\u0e35\u0e4d\u0e38", "\u0e23\u0e34\u0e4b\u0e38", "\u0e1c\u0e33\u0e4e", "\u0e0e\u0e35\u0e48\u0e3a", "\u0e0c\u0e48", "\u0e12\u0e31", "\u0e20\u0e35\u0e49\u0e3a", "\u0e19\u0e36", "\u0e22\u0e37\u0e4c\u0e39", "\u0e29\u0e48\u0e39", "\u0e13\u0e4c\u0e39", "\u0e0c\u0e34\u0e49\u0e39", "\u0e1f\u0e33\u0e4d", "\u0e03\u0e37\u0e4e\u0e38", "\u0e02\u0e36\u0e47\u0e39", "\u0e28\u0e34\u0e4b", "\u0e18\u0e33\u0e4c\u0e38", "\u0e0f\u0e31\u0e49\u0e39", "\u0e14\u0e34\u0e4c\u0e38", "\u0e0d\u0e35\u0e4a", "\u0e18\u0e35\u0e39", "\u0e0f\u0e36\u0e4e\u0e3a", "\u0e19\u0e37\u0e48\u0e38", "\u0e23\u0e36\u0e4a\u0e3a", "\u0e21\u0e33\u0e4c", "\u0e2e\u0e33\u0e48", "\u0e2e\u0e34\u0e49", "\u0e15\u0e36\u0e4d\u0e3a", "\u0e03\u0e37\u0e4c\u0e3a", "\u0e13\u0e31\u0e48", "\u0e07\u0e49\u0e38", "\u0e1d\u0e34\u0e4e\u0e38", "\u0e08\u0e34\u0e4b\u0e3a", "\u0e06\u0e37\u0e47\u0e38", "\u0e15\u0e37\u0e4b\u0e39", "\u0e02\u0e48", "\u0e0f\u0e36\u0e4c\u0e38", "\u0e11\u0e33\u0e47\u0e38", "\u0e11\u0e37\u0e4d\u0e39", "\u0e05\u0e35\u0e47\u0e38", "\u0e10\u0e35\u0e47\u0e3a", "\u0e27\u0e36\u0e39", "\u0e02\u0e47", "\u0e19\u0e35\u0e4a\u0e38", "\u0e2c\u0e37", "\u0e19\u0e36\u0e4b\u0e38", "\u0e19\u0e37\u0e4d\u0e3a", "\u0e15\u0e34\u0e3a", "\u0e01\u0e34\u0e4a", "\u0e18\u0e34\u0e4d\u0e3a", "\u0e1c\u0e31\u0e47\u0e3a", "\u0e0a\u0e36\u0e4b\u0e39", "\u0e0b\u0e4c\u0e39", "\u0e1d\u0e33", "\u0e0b\u0e31\u0e47", "\u0e04\u0e37\u0e49\u0e38", "\u0e28\u0e33\u0e4e\u0e3a", "\u0e01\u0e34\u0e4e\u0e38", "\u0e0b\u0e33\u0e47\u0e39", "\u0e11\u0e35\u0e48\u0e3a", "\u0e11\u0e36\u0e4e\u0e39", "\u0e2b\u0e39", "\u0e08\u0e34\u0e4b", "\u0e2a\u0e35\u0e4e\u0e38", "\u0e28\u0e37\u0e4e\u0e39", "\u0e12\u0e49", "\u0e22\u0e31\u0e48\u0e39", "\u0e1d\u0e37\u0e49", "\u0e10\u0e4e\u0e38", "\u0e08\u0e31\u0e39", "\u0e18\u0e36\u0e4e", "\u0e18\u0e47\u0e39", "\u0e0a\u0e33\u0e39", "\u0e1f\u0e4c", "\u0e10\u0e31\u0e3a", "\u0e2d\u0e36\u0e48\u0e3a", "\u0e2d\u0e49\u0e39", "\u0e1e\u0e35\u0e4d", "\u0e2a\u0e4c", "\u0e04\u0e36\u0e47\u0e38", "\u0e0c\u0e36\u0e49\u0e3a", "\u0e0d\u0e34\u0e49\u0e39", "\u0e2a\u0e31\u0e47\u0e38", "\u0e08\u0e34\u0e47", "\u0e1d\u0e37\u0e4d", "\u0e0c\u0e35\u0e38", "\u0e05\u0e31\u0e4e\u0e39", "\u0e2e\u0e37\u0e4c\u0e39", "\u0e0b\u0e37\u0e48\u0e38", "\u0e17\u0e37\u0e4a\u0e3a", "\u0e07\u0e34\u0e49\u0e3a", "\u0e28\u0e33\u0e4d\u0e39", "\u0e10\u0e34\u0e4e\u0e39", "\u0e1c\u0e31\u0e49\u0e3a", "\u0e28\u0e35\u0e4a", "\u0e21\u0e31\u0e4d\u0e38", "\u0e0d\u0e36\u0e4e\u0e39", "\u0e23\u0e34\u0e4e\u0e39", "\u0e1d\u0e31\u0e49\u0e39", "\u0e01\u0e33\u0e49", "\u0e21\u0e36\u0e38", "\u0e0e\u0e37\u0e4a", "\u0e2e\u0e37\u0e49\u0e3a", "\u0e29\u0e31\u0e48\u0e39", "\u0e1f\u0e47\u0e39", "\u0e16\u0e37\u0e38", "\u0e12\u0e33\u0e4c\u0e38", "\u0e09\u0e34\u0e47\u0e39", "\u0e11\u0e34\u0e47\u0e39", "\u0e28\u0e31\u0e4b\u0e38", "\u0e0b\u0e36\u0e4a\u0e38", "\u0e18\u0e37\u0e4d\u0e3a", "\u0e10\u0e34\u0e4a", "\u0e28\u0e47", "\u0e02\u0e33\u0e47\u0e39", "\u0e07\u0e36\u0e48", "\u0e21\u0e35\u0e4c\u0e39", "\u0e08\u0e36\u0e49\u0e39", "\u0e20\u0e33\u0e47\u0e38", "\u0e1f\u0e37\u0e48\u0e39", "\u0e09\u0e33\u0e4e\u0e39", "\u0e01\u0e36\u0e4a\u0e39", "\u0e0b\u0e4c", "\u0e22\u0e33\u0e4e\u0e38", "\u0e10\u0e35\u0e4e\u0e3a", "\u0e05\u0e35\u0e4a\u0e39", "\u0e1d\u0e34\u0e4a\u0e39", "\u0e16\u0e4b\u0e39", "\u0e0a\u0e37\u0e4e\u0e39", "\u0e02\u0e37\u0e47\u0e38", "\u0e21\u0e34\u0e4d\u0e39", "\u0e01\u0e34\u0e49\u0e38", "\u0e08\u0e33\u0e49\u0e38", "\u0e13\u0e31\u0e4b\u0e3a", "\u0e29\u0e33\u0e4a", "\u0e0c\u0e49\u0e38", "\u0e27\u0e37\u0e48\u0e39", "\u0e1e\u0e37\u0e4e\u0e39", "\u0e1a\u0e37\u0e4d\u0e3a", "\u0e1c\u0e35\u0e4a\u0e3a", "\u0e0e\u0e35\u0e4e\u0e38", "\u0e07\u0e33\u0e4c\u0e39", "\u0e1f\u0e4e\u0e39", "\u0e17\u0e36\u0e48\u0e3a", "\u0e25\u0e33\u0e4a\u0e39", "\u0e2a\u0e37\u0e4c", "\u0e1d\u0e33\u0e48\u0e3a", "\u0e07\u0e33\u0e4e", "\u0e12\u0e36\u0e4a", "\u0e14\u0e33\u0e4b", "\u0e09\u0e33\u0e48", "\u0e0d\u0e37\u0e4c\u0e38", "\u0e1a\u0e34\u0e49\u0e3a", "\u0e25\u0e35\u0e4e", "\u0e2e\u0e37\u0e4a\u0e3a", "\u0e2d\u0e35\u0e47\u0e39", "\u0e1a\u0e37\u0e48", "\u0e20\u0e34\u0e4b\u0e38", "\u0e19\u0e4b\u0e38", "\u0e08\u0e36\u0e49\u0e3a", "\u0e17\u0e37\u0e4a\u0e39", "\u0e1f\u0e35\u0e48\u0e38", "\u0e10\u0e31\u0e4a\u0e39", "\u0e0f\u0e47\u0e38", "\u0e15\u0e35\u0e4c", "\u0e29\u0e36\u0e4c\u0e39", "\u0e08\u0e34\u0e48", "\u0e05\u0e31\u0e4c\u0e38", "\u0e04\u0e36\u0e49\u0e38", "\u0e1c\u0e31\u0e4e\u0e39", "\u0e0a\u0e34\u0e39", "\u0e2a\u0e34\u0e4e\u0e39", "\u0e0a\u0e37\u0e4c\u0e38", "\u0e1e\u0e36\u0e4b\u0e39", "\u0e10\u0e35\u0e48", "\u0e1e\u0e33\u0e38", "\u0e10\u0e47", "\u0e29\u0e34\u0e4b", "\u0e2d\u0e33\u0e4c\u0e39", "\u0e10\u0e36\u0e49\u0e3a", "\u0e21\u0e36\u0e4b\u0e3a", "\u0e29\u0e35\u0e4c\u0e3a", "\u0e08\u0e33\u0e47\u0e3a", "\u0e08\u0e36\u0e4c", "\u0e02\u0e33\u0e48\u0e39", "\u0e27\u0e36\u0e47\u0e3a", "\u0e0f\u0e37\u0e4a", "\u0e1b\u0e31\u0e4a\u0e39", "\u0e0c\u0e36\u0e49", "\u0e2c\u0e35\u0e4c\u0e38", "\u0e02\u0e34\u0e4d", "\u0e18\u0e38", "\u0e12\u0e31\u0e4a\u0e38", "\u0e08\u0e34\u0e39", "\u0e17\u0e34\u0e3a", "\u0e09\u0e48", "\u0e2a\u0e35\u0e4b", "\u0e15\u0e35\u0e48\u0e38", "\u0e27\u0e37\u0e4b\u0e38", "\u0e1a\u0e37\u0e4e\u0e3a", "\u0e13\u0e35\u0e4d\u0e3a", "\u0e20\u0e35\u0e47\u0e39", "\u0e28\u0e36\u0e4e\u0e3a", "\u0e07\u0e31\u0e49\u0e38", "\u0e07\u0e37\u0e4b\u0e39", "\u0e01\u0e34\u0e48\u0e3a", "\u0e13\u0e36\u0e47\u0e38", "\u0e14\u0e36\u0e39", "\u0e23\u0e33\u0e49\u0e39", "\u0e06\u0e37\u0e49\u0e3a", "\u0e29\u0e36\u0e38", "\u0e08\u0e33\u0e4e\u0e38", "\u0e1a\u0e36\u0e3a", "\u0e10\u0e37\u0e47\u0e38", "\u0e1a\u0e35\u0e4c", "\u0e04\u0e31\u0e47\u0e3a", "\u0e21\u0e36\u0e48\u0e3a", "\u0e02\u0e35\u0e4b\u0e38", "\u0e14\u0e37\u0e4b\u0e3a", "\u0e06\u0e35\u0e4b\u0e38", "\u0e0d\u0e37\u0e4e\u0e38", "\u0e1e\u0e33\u0e4a", "\u0e05\u0e37\u0e47\u0e39", "\u0e1a\u0e37\u0e4a\u0e3a", "\u0e14\u0e35", "\u0e28\u0e4b\u0e38", "\u0e12\u0e36\u0e48\u0e38", "\u0e23\u0e33\u0e4e\u0e3a", "\u0e21\u0e31\u0e47\u0e39", "\u0e05\u0e31\u0e3a", "\u0e10\u0e31\u0e48\u0e3a", "\u0e25\u0e35\u0e4d", "\u0e16\u0e35\u0e4a\u0e39", "\u0e29\u0e35\u0e49\u0e38", "\u0e09\u0e37\u0e4c\u0e3a", "\u0e0f\u0e35\u0e48\u0e39", "\u0e2e\u0e37\u0e47\u0e3a", "\u0e05\u0e37\u0e4c\u0e38", "\u0e1e\u0e31\u0e48\u0e39", "\u0e15\u0e35\u0e4d\u0e38", "\u0e0c\u0e33\u0e4a", "\u0e08\u0e34\u0e4c\u0e39", "\u0e01\u0e35\u0e4b\u0e38", "\u0e02\u0e35\u0e4c\u0e3a", "\u0e07\u0e31\u0e4d", "\u0e2c\u0e33\u0e4d", "\u0e05\u0e36\u0e4c", "\u0e0b\u0e35\u0e4b\u0e3a", "\u0e0c\u0e33\u0e4a\u0e39", "\u0e28\u0e48", "\u0e11\u0e33\u0e4a\u0e39", "\u0e0b\u0e34\u0e4c\u0e39", "\u0e2b\u0e34\u0e48\u0e38", "\u0e2b\u0e34\u0e49", "\u0e2e\u0e33", "\u0e08\u0e4d\u0e38", "\u0e13\u0e34\u0e4c\u0e3a", "\u0e07\u0e36\u0e48\u0e3a", "\u0e1c\u0e36\u0e4a\u0e39", "\u0e0c\u0e34\u0e4d\u0e3a", "\u0e29\u0e39", "\u0e13\u0e4d\u0e38", "\u0e0c\u0e33\u0e47\u0e3a", "\u0e2c\u0e35\u0e4d\u0e38", "\u0e06\u0e37\u0e4b\u0e39", "\u0e21\u0e37\u0e49\u0e3a", "\u0e2a\u0e31\u0e4e", "\u0e1c\u0e34\u0e4a", "\u0e03\u0e31\u0e4d\u0e3a", "\u0e11\u0e36\u0e4c\u0e3a", "\u0e16\u0e36\u0e4e\u0e3a", "\u0e14\u0e4d\u0e3a", "\u0e1d\u0e38", "\u0e18\u0e37\u0e4b\u0e39", "\u0e0c\u0e4e\u0e38", "\u0e15\u0e31\u0e4c\u0e3a", "\u0e18\u0e37\u0e4a\u0e38", "\u0e19\u0e4d\u0e39", "\u0e11\u0e36\u0e4d", "\u0e11\u0e33\u0e4b\u0e3a", "\u0e17\u0e47", "\u0e02\u0e31\u0e49", "\u0e0d\u0e34\u0e48", "\u0e22\u0e31\u0e3a", "\u0e2e\u0e36\u0e47\u0e38", "\u0e0e\u0e36\u0e47", "\u0e2d\u0e35\u0e48\u0e3a", "\u0e01\u0e34\u0e4c\u0e38", "\u0e23\u0e35\u0e4e\u0e38", "\u0e16\u0e36\u0e4e", "\u0e2e\u0e33\u0e4a\u0e3a", "\u0e0f\u0e49\u0e39", "\u0e04\u0e37\u0e4a", "\u0e07\u0e36\u0e38", "\u0e17\u0e4e\u0e39", "\u0e20\u0e37", "\u0e18\u0e33\u0e49\u0e38", "\u0e18\u0e31\u0e4e", "\u0e25\u0e33\u0e4d", "\u0e0c\u0e34\u0e48\u0e39", "\u0e25\u0e47\u0e39", "\u0e22\u0e4c", "\u0e03\u0e31\u0e47", "\u0e16\u0e34\u0e4d", "\u0e10\u0e37\u0e39", "\u0e0f\u0e36\u0e47", "\u0e2e\u0e35\u0e4e", "\u0e16\u0e34\u0e4b\u0e39", "\u0e28\u0e33\u0e48\u0e3a", "\u0e2b\u0e47\u0e38", "\u0e0f\u0e33\u0e4d\u0e39", "\u0e23\u0e31\u0e47", "\u0e12\u0e36\u0e4e\u0e3a", "\u0e23\u0e36\u0e4d\u0e39", "\u0e15\u0e35\u0e4e\u0e3a", "\u0e23\u0e35\u0e4b\u0e38", "\u0e0d\u0e4c\u0e39", "\u0e1b\u0e35\u0e4c", "\u0e0d\u0e37\u0e47\u0e38", "\u0e09\u0e35\u0e4d\u0e39", "\u0e0d\u0e34\u0e4c\u0e38", "\u0e05\u0e37\u0e49\u0e39", "\u0e06\u0e35\u0e47\u0e38", "\u0e06\u0e35\u0e4d\u0e38", "\u0e20\u0e31\u0e4a\u0e39", "\u0e07\u0e34\u0e48\u0e3a", "\u0e12\u0e33\u0e4c\u0e3a", "\u0e0c\u0e33\u0e4c\u0e39", "\u0e16\u0e33\u0e47\u0e39", "\u0e16\u0e33\u0e49\u0e38", "\u0e0e\u0e33\u0e38", "\u0e1d\u0e31\u0e4d\u0e39", "\u0e17\u0e4c", "\u0e28\u0e33\u0e4d", "\u0e15\u0e37", "\u0e05\u0e37\u0e49", "\u0e05\u0e31\u0e47\u0e39", "\u0e02\u0e37\u0e4e\u0e3a", "\u0e0c\u0e37\u0e4b\u0e39", "\u0e08\u0e35\u0e4d\u0e38", "\u0e21\u0e31\u0e4e\u0e38", "\u0e16\u0e33\u0e49", "\u0e2a\u0e35\u0e4d", "\u0e07\u0e34\u0e4a\u0e3a", "\u0e0d\u0e33\u0e49\u0e38", "\u0e07\u0e35\u0e48\u0e3a", "\u0e15\u0e36\u0e4d", "\u0e0c\u0e34\u0e4d\u0e38", "\u0e14\u0e33\u0e4a", "\u0e18\u0e34\u0e48", "\u0e1b\u0e37\u0e4e\u0e39", "\u0e25\u0e35\u0e49\u0e38", "\u0e14\u0e33\u0e4b\u0e38", "\u0e0d\u0e34\u0e47\u0e39", "\u0e02\u0e35\u0e48\u0e3a", "\u0e05\u0e36\u0e4e\u0e3a", "\u0e13\u0e4c\u0e3a", "\u0e29\u0e35\u0e39", "\u0e10\u0e35\u0e4a\u0e39", "\u0e0f\u0e37\u0e4e\u0e3a", "\u0e2e\u0e34\u0e47", "\u0e23\u0e37\u0e4c\u0e39", "\u0e14\u0e37\u0e4e\u0e39", "\u0e21\u0e37\u0e4e\u0e39", "\u0e0f\u0e33\u0e4a", "\u0e19\u0e33\u0e4d\u0e38", "\u0e23\u0e34\u0e4d", "\u0e21\u0e37\u0e4a\u0e38", "\u0e23\u0e34\u0e47", "\u0e14\u0e4b", "\u0e11\u0e4a", "\u0e2e\u0e33\u0e4b\u0e3a", "\u0e1c\u0e4e\u0e38", "\u0e05\u0e37\u0e49\u0e38", "\u0e1c\u0e37\u0e38", "\u0e03\u0e31\u0e47\u0e38", "\u0e1b\u0e36\u0e4c", "\u0e0b\u0e34\u0e48", "\u0e1f\u0e35\u0e48\u0e39", "\u0e17\u0e37\u0e3a", "\u0e1d\u0e35\u0e38", "\u0e25\u0e31\u0e4a\u0e3a", "\u0e1a\u0e33\u0e47\u0e3a", "\u0e27\u0e4a\u0e38", "\u0e21\u0e31\u0e38", "\u0e0a\u0e34\u0e48\u0e38", "\u0e05\u0e3a", "\u0e0c\u0e31\u0e4c\u0e38", "\u0e0e\u0e31\u0e4e\u0e3a", "\u0e1e\u0e35\u0e49\u0e38", "\u0e1f\u0e35\u0e4a\u0e39", "\u0e22\u0e33\u0e4b\u0e3a", "\u0e0e\u0e33\u0e4a", "\u0e2d\u0e35\u0e47\u0e38", "\u0e11\u0e36\u0e4d\u0e38", "\u0e03\u0e34\u0e4a\u0e38", "\u0e2b\u0e36\u0e47\u0e39", "\u0e0e\u0e33\u0e48\u0e39", "\u0e16\u0e34\u0e4d\u0e39", "\u0e1f\u0e37\u0e4e\u0e38", "\u0e16\u0e34\u0e4e", "\u0e2e\u0e37\u0e3a", "\u0e11\u0e4c", "\u0e07\u0e33\u0e48", "\u0e11\u0e36\u0e4a\u0e39", "\u0e06\u0e36\u0e4b\u0e38", "\u0e2a\u0e4b", "\u0e03\u0e37\u0e48\u0e3a", "\u0e08\u0e36\u0e4b\u0e3a", "\u0e0b\u0e35\u0e48\u0e38", "\u0e05\u0e33\u0e4a\u0e3a", "\u0e23\u0e31\u0e48\u0e39", "\u0e1b\u0e36\u0e4e", "\u0e1b\u0e35\u0e49\u0e39", "\u0e07\u0e35\u0e47\u0e3a", "\u0e2d\u0e31\u0e4a\u0e3a", "\u0e27\u0e36\u0e49\u0e38", "\u0e12\u0e37\u0e49", "\u0e1c\u0e33\u0e49", "\u0e17\u0e4b\u0e38", "\u0e0f\u0e33\u0e4e", "\u0e14\u0e34\u0e4c\u0e39", "\u0e27\u0e33\u0e4a\u0e3a", "\u0e19\u0e36\u0e49\u0e3a", "\u0e16\u0e31\u0e4b\u0e39", "\u0e19\u0e37\u0e4e", "\u0e08\u0e33\u0e4c\u0e39", "\u0e2a\u0e4a\u0e39", "\u0e09\u0e4b", "\u0e03\u0e4e", "\u0e20\u0e31\u0e49\u0e3a", "\u0e0f\u0e4b", "\u0e20\u0e33\u0e4a\u0e39", "\u0e1d\u0e33\u0e48\u0e39", "\u0e18\u0e36\u0e49", "\u0e1d\u0e34\u0e49", "\u0e21\u0e37\u0e48\u0e3a", "\u0e23\u0e36\u0e49", "\u0e09\u0e31", "\u0e1d\u0e34\u0e4e\u0e39", "\u0e25\u0e33\u0e4c\u0e39", "\u0e19", "\u0e2d\u0e33\u0e4e", "\u0e1e\u0e31\u0e47", "\u0e16\u0e34\u0e49\u0e38", "\u0e19\u0e36\u0e49", "\u0e1f\u0e31\u0e48\u0e39", "\u0e0d\u0e35\u0e4c\u0e3a", "\u0e2e\u0e48\u0e38", "\u0e01\u0e31\u0e4e\u0e39", "\u0e2b\u0e37\u0e4e\u0e38", "\u0e25\u0e31\u0e49\u0e38", "\u0e0c\u0e36\u0e4b\u0e38", "\u0e25\u0e31\u0e4c", "\u0e07\u0e49\u0e3a", "\u0e0d\u0e31\u0e4b", "\u0e21\u0e36\u0e4e\u0e38", "\u0e11\u0e35\u0e49", "\u0e15\u0e35\u0e39", "\u0e07\u0e34\u0e48\u0e39", "\u0e03\u0e47\u0e39", "\u0e04\u0e31\u0e4e\u0e3a", "\u0e10\u0e34\u0e47\u0e38", "\u0e13\u0e36\u0e3a", "\u0e13\u0e37\u0e4b\u0e38", "\u0e0f\u0e33\u0e4c", "\u0e10\u0e35\u0e4d\u0e3a", "\u0e05\u0e34\u0e4a\u0e39", "\u0e1a\u0e36\u0e4c\u0e38", "\u0e09\u0e34\u0e4e", "\u0e1a\u0e33\u0e4c", "\u0e22\u0e33\u0e48\u0e3a", "\u0e0e\u0e37\u0e4c\u0e3a", "\u0e20\u0e4e\u0e38", "\u0e2b\u0e34\u0e47\u0e38", "\u0e0b\u0e36\u0e49", "\u0e16\u0e36\u0e4b", "\u0e14\u0e37\u0e4a\u0e38", "\u0e08\u0e47\u0e3a", "\u0e27\u0e33\u0e47\u0e3a", "\u0e29\u0e4e\u0e39", "\u0e23\u0e35\u0e4c\u0e39", "\u0e21\u0e36\u0e4a\u0e39", "\u0e1b\u0e37\u0e4a\u0e3a", "\u0e2e\u0e31\u0e4e", "\u0e20\u0e37\u0e4e\u0e3a", "\u0e1c\u0e36", "\u0e07\u0e31\u0e38", "\u0e01\u0e34\u0e49\u0e3a", "\u0e18\u0e33\u0e4b\u0e38", "\u0e22\u0e33\u0e47", "\u0e1b\u0e37\u0e4a", "\u0e2a\u0e35\u0e48", "\u0e0e\u0e35\u0e4b\u0e3a", "\u0e16\u0e34\u0e49\u0e3a", "\u0e2d\u0e31\u0e4c\u0e38", "\u0e13\u0e33\u0e48\u0e39", "\u0e27\u0e31\u0e47\u0e38", "\u0e29\u0e48\u0e3a", "\u0e21\u0e4e\u0e38", "\u0e1a\u0e35\u0e48\u0e38", "\u0e0d\u0e34\u0e4a\u0e38", "\u0e14\u0e35\u0e49\u0e3a", "\u0e20\u0e37\u0e39", "\u0e14\u0e33\u0e4d\u0e38", "\u0e1e\u0e35\u0e4e\u0e39", "\u0e23\u0e35\u0e48\u0e38", "\u0e06\u0e37\u0e4a", "\u0e1e\u0e31\u0e4b\u0e39", "\u0e15\u0e36\u0e49", "\u0e2e\u0e34\u0e4a\u0e39", "\u0e20\u0e31\u0e47\u0e39", "\u0e10\u0e33\u0e49\u0e39", "\u0e1b\u0e31\u0e49\u0e3a", "\u0e0f\u0e35\u0e49", "\u0e22\u0e37\u0e4a\u0e38", "\u0e28\u0e33\u0e48\u0e39", "\u0e2e\u0e33\u0e4c\u0e3a", "\u0e22\u0e36\u0e4e\u0e38", "\u0e06\u0e33\u0e48", "\u0e07\u0e4c\u0e3a", "\u0e10\u0e34\u0e4b\u0e38", "\u0e11\u0e4e\u0e39", "\u0e1c\u0e36\u0e4b\u0e38", "\u0e04\u0e36\u0e4d\u0e3a", "\u0e23\u0e36\u0e49\u0e39", "\u0e11\u0e36\u0e4d\u0e3a", "\u0e06\u0e37\u0e47\u0e3a", "\u0e10\u0e31\u0e38", "\u0e2a\u0e31\u0e4c\u0e38", "\u0e1b\u0e36\u0e49\u0e38", "\u0e2c\u0e37\u0e48\u0e39", "\u0e22\u0e37\u0e48\u0e3a", "\u0e23\u0e37\u0e48\u0e38", "\u0e1e\u0e4a\u0e38", "\u0e2d\u0e36\u0e4d\u0e38", "\u0e2d\u0e35\u0e47\u0e3a", "\u0e05\u0e33\u0e4e\u0e3a", "\u0e2d\u0e33\u0e47\u0e3a", "\u0e05\u0e36\u0e4d\u0e3a", "\u0e20\u0e35", "\u0e2c\u0e36\u0e4a\u0e3a", "\u0e2b\u0e33\u0e4a\u0e3a", "\u0e1d\u0e31\u0e49", "\u0e2e\u0e36\u0e4a\u0e3a", "\u0e28\u0e4a", "\u0e14\u0e35\u0e4c", "\u0e1c\u0e35\u0e4e\u0e39", "\u0e1d\u0e37\u0e48\u0e3a", "\u0e20\u0e35\u0e4e\u0e3a", "\u0e0a\u0e31\u0e4e\u0e38", "\u0e28\u0e37\u0e48", "\u0e2d\u0e31\u0e39", "\u0e15\u0e34\u0e4b\u0e39", "\u0e1a\u0e37\u0e4b\u0e39", "\u0e27\u0e36\u0e4d\u0e39", "\u0e09\u0e37", "\u0e10\u0e37\u0e49\u0e39", "\u0e17\u0e33\u0e4a\u0e38", "\u0e0f\u0e37\u0e4e\u0e39", "\u0e01\u0e4b\u0e3a", "\u0e04\u0e37\u0e49\u0e3a", "\u0e07\u0e36\u0e4b\u0e3a", "\u0e0f\u0e31\u0e47\u0e39", "\u0e21\u0e37\u0e4a\u0e39", "\u0e16\u0e31\u0e47", "\u0e22\u0e31\u0e4e\u0e39", "\u0e2a\u0e37\u0e4b\u0e3a", "\u0e22\u0e35\u0e4e\u0e3a", "\u0e07\u0e35\u0e4a", "\u0e06\u0e35\u0e4b\u0e3a", "\u0e03\u0e33\u0e4c", "\u0e21\u0e35\u0e4c\u0e3a", "\u0e2d\u0e33\u0e49\u0e38", "\u0e19\u0e33\u0e4b\u0e38", "\u0e12\u0e33\u0e38", "\u0e16\u0e49", "\u0e01\u0e4c", "\u0e2d\u0e34\u0e4d\u0e39", "\u0e25\u0e4b\u0e39", "\u0e12\u0e49\u0e38", "\u0e29\u0e4d", "\u0e1e\u0e35\u0e47\u0e38", "\u0e03\u0e34\u0e49\u0e39", "\u0e09\u0e34\u0e4c\u0e38", "\u0e10\u0e49", "\u0e10\u0e33\u0e49", "\u0e1c\u0e31\u0e4e\u0e38", "\u0e23\u0e31\u0e4c\u0e39", "\u0e0a\u0e35\u0e48\u0e38", "\u0e09\u0e31\u0e4e\u0e38", "\u0e1c\u0e34\u0e4e", "\u0e21\u0e37\u0e4e", "\u0e21\u0e35\u0e38", "\u0e25\u0e33\u0e4d\u0e3a", "\u0e19\u0e31\u0e4c\u0e39", "\u0e10\u0e36\u0e4d", "\u0e19\u0e37\u0e4c\u0e3a", "\u0e1a\u0e36\u0e4c\u0e3a", "\u0e0a\u0e37\u0e4d\u0e38", "\u0e01\u0e31\u0e49", "\u0e25\u0e33\u0e49\u0e38", "\u0e0b\u0e35\u0e4a\u0e38", "\u0e0c\u0e34", "\u0e29\u0e4d\u0e3a", "\u0e03\u0e36\u0e48\u0e3a", "\u0e10\u0e37\u0e48\u0e38", "\u0e19\u0e33\u0e4e", "\u0e1e\u0e37\u0e4e\u0e38", "\u0e2b\u0e34\u0e4e\u0e38", "\u0e20\u0e34\u0e4e", "\u0e03\u0e31\u0e4a\u0e38", "\u0e19\u0e36\u0e4d\u0e3a", "\u0e04\u0e34\u0e4a\u0e38", "\u0e19\u0e36\u0e4e\u0e38", "\u0e17\u0e33\u0e48\u0e38", "\u0e05\u0e36\u0e4d", "\u0e23\u0e37\u0e4c", "\u0e08\u0e31\u0e49\u0e3a", "\u0e1e\u0e35\u0e4a\u0e39", "\u0e12\u0e35\u0e4c", "\u0e27\u0e47\u0e39", "\u0e16\u0e4e\u0e3a", "\u0e16\u0e35\u0e4c", "\u0e23\u0e31\u0e48\u0e3a", "\u0e06\u0e35\u0e48\u0e3a", "\u0e03\u0e36\u0e4a\u0e3a", "\u0e1b\u0e34\u0e48\u0e39", "\u0e0b", "\u0e2e\u0e35\u0e4e\u0e3a", "\u0e0a\u0e37\u0e4b\u0e3a", "\u0e0d\u0e37\u0e4b", "\u0e1a\u0e49", "\u0e03\u0e35\u0e39", "\u0e08\u0e38", "\u0e1e\u0e36\u0e4d\u0e38", "\u0e1a\u0e48\u0e3a", "\u0e07\u0e37\u0e4d\u0e38", "\u0e17\u0e34\u0e49", "\u0e0a\u0e4a\u0e38", "\u0e02\u0e36", "\u0e11\u0e34\u0e49\u0e38", "\u0e0a\u0e36\u0e3a", "\u0e08\u0e49\u0e3a", "\u0e0c\u0e34\u0e4a\u0e39", "\u0e19\u0e35\u0e49\u0e3a", "\u0e1f\u0e39", "\u0e1a\u0e35\u0e4b\u0e38", "\u0e03\u0e35\u0e4d\u0e38", "\u0e1a\u0e3a", "\u0e2d\u0e36\u0e49\u0e3a", "\u0e22\u0e34\u0e4a\u0e3a", "\u0e1a\u0e34\u0e47\u0e39", "\u0e0d\u0e37\u0e4c", "\u0e11\u0e37\u0e4b\u0e38", "\u0e29\u0e33\u0e49\u0e3a", "\u0e02\u0e36\u0e49", "\u0e1f\u0e34\u0e4d\u0e3a", "\u0e03\u0e35\u0e4c\u0e39", "\u0e21\u0e34\u0e4e", "\u0e10\u0e33\u0e48\u0e39", "\u0e01\u0e34\u0e47\u0e38", "\u0e1d\u0e36\u0e4e\u0e38", "\u0e10\u0e37\u0e4a", "\u0e14\u0e37\u0e4b", "\u0e09\u0e4a\u0e39", "\u0e21\u0e36\u0e4b\u0e39", "\u0e19\u0e48\u0e39", "\u0e06\u0e34\u0e4d", "\u0e13\u0e37\u0e4b\u0e39", "\u0e08\u0e35\u0e48\u0e3a", "\u0e1c\u0e4e\u0e3a", "\u0e20\u0e37\u0e47", "\u0e02\u0e4b\u0e38", "\u0e29\u0e31\u0e4a\u0e3a", "\u0e19\u0e37\u0e48\u0e3a", "\u0e08\u0e48\u0e39", "\u0e25\u0e37\u0e4b", "\u0e29\u0e36\u0e48", "\u0e16\u0e35\u0e4c\u0e39", "\u0e1f\u0e49", "\u0e10\u0e37\u0e4d\u0e3a", "\u0e25\u0e36\u0e4d", "\u0e04\u0e48\u0e39", "\u0e2c\u0e34\u0e4e\u0e39", "\u0e0a\u0e48", "\u0e28\u0e31\u0e4d\u0e38", "\u0e14\u0e31\u0e49\u0e39", "\u0e2b\u0e47", "\u0e14\u0e48\u0e39", "\u0e07\u0e34\u0e4e", "\u0e06\u0e33\u0e4c", "\u0e28\u0e4a\u0e39", "\u0e02\u0e36\u0e4e", "\u0e16\u0e34\u0e49\u0e39", "\u0e1f\u0e33\u0e4d\u0e38", "\u0e04\u0e31\u0e4b\u0e39", "\u0e18\u0e33\u0e4d\u0e39", "\u0e09\u0e37\u0e4a", "\u0e07\u0e36\u0e3a", "\u0e09\u0e34\u0e4e\u0e39", "\u0e22\u0e34\u0e48", "\u0e0e\u0e4b\u0e38", "\u0e02\u0e33", "\u0e2c\u0e35\u0e4a", "\u0e03\u0e35\u0e4c\u0e38", "\u0e16\u0e4d\u0e39", "\u0e2c\u0e33\u0e4c\u0e38", "\u0e12\u0e37\u0e4b\u0e3a", "\u0e08\u0e33\u0e4c\u0e3a", "\u0e1b\u0e3a", "\u0e18\u0e35\u0e47", "\u0e27\u0e37\u0e47\u0e39", "\u0e2a\u0e35\u0e48\u0e3a", "\u0e1d\u0e35\u0e4b\u0e39", "\u0e05\u0e48", "\u0e2c\u0e31\u0e49", "\u0e20\u0e35\u0e4b\u0e3a", "\u0e18\u0e37\u0e4a", "\u0e0a\u0e35\u0e4e\u0e39", "\u0e14\u0e31\u0e4a\u0e38", "\u0e04\u0e33\u0e4a", "\u0e18\u0e33\u0e4b", "\u0e20\u0e37\u0e49\u0e38", "\u0e1c\u0e31\u0e49\u0e38", "\u0e27\u0e34\u0e3a", "\u0e29\u0e33\u0e4b", "\u0e1f\u0e34\u0e4e\u0e39", "\u0e08\u0e47\u0e38", "\u0e0a\u0e34\u0e4c\u0e38", "\u0e08\u0e31\u0e4b\u0e38", "\u0e1b\u0e36\u0e4a\u0e3a", "\u0e0d\u0e37\u0e48\u0e39", "\u0e0c", "\u0e1e\u0e37\u0e49\u0e38", "\u0e0d\u0e34\u0e4d\u0e38", "\u0e12\u0e47\u0e3a", "\u0e06\u0e4c\u0e38", "\u0e16\u0e36\u0e49\u0e38", "\u0e17\u0e36\u0e4a\u0e38", "\u0e0d\u0e36\u0e47\u0e39", "\u0e18\u0e34\u0e4c\u0e39", "\u0e09\u0e33\u0e4a", "\u0e17\u0e31\u0e4c", "\u0e0b\u0e33\u0e4c\u0e38", "\u0e11\u0e31\u0e38", "\u0e18\u0e36\u0e4b\u0e38", "\u0e2a\u0e33\u0e48\u0e38", "\u0e27\u0e34\u0e4c\u0e38", "\u0e0c\u0e37\u0e49\u0e39", "\u0e0b\u0e35\u0e4e\u0e38", "\u0e1c\u0e36\u0e4a", "\u0e0f\u0e34\u0e4b\u0e39", "\u0e11\u0e34\u0e49\u0e3a", "\u0e22\u0e48\u0e3a", "\u0e22\u0e35\u0e4c\u0e38", "\u0e0f\u0e35\u0e4c\u0e3a", "\u0e0c\u0e36\u0e4a\u0e39", "\u0e03\u0e36\u0e4d\u0e39", "\u0e0f\u0e36\u0e4d\u0e38", "\u0e1d\u0e31\u0e48\u0e38", "\u0e10\u0e33\u0e4c\u0e39", "\u0e01\u0e33\u0e4d", "\u0e03\u0e36\u0e39", "\u0e29\u0e33\u0e47", "\u0e05\u0e4a\u0e38", "\u0e10\u0e37\u0e47\u0e39", "\u0e1b\u0e35\u0e38", "\u0e2c\u0e34\u0e4b\u0e3a", "\u0e03\u0e31\u0e4e\u0e38", "\u0e20\u0e31\u0e47\u0e38", "\u0e2a\u0e35\u0e3a", "\u0e13\u0e37\u0e47\u0e3a", "\u0e1c\u0e35", "\u0e1c\u0e31\u0e4e", "\u0e2a\u0e34\u0e4d", "\u0e07\u0e33\u0e48\u0e38", "\u0e1e\u0e47\u0e39", "\u0e1e\u0e37\u0e48\u0e38", "\u0e04\u0e35\u0e4a", "\u0e06\u0e35\u0e48", "\u0e21\u0e31\u0e49\u0e39", "\u0e16\u0e37\u0e49\u0e3a", "\u0e0d\u0e4e\u0e3a", "\u0e0f\u0e35\u0e4a\u0e39", "\u0e2e\u0e31\u0e4c\u0e38", "\u0e1f\u0e36\u0e4e\u0e38", "\u0e27\u0e35\u0e47\u0e3a", "\u0e22\u0e33\u0e48\u0e38", "\u0e0a\u0e31\u0e47", "\u0e28\u0e33\u0e48", "\u0e20\u0e33\u0e47", "\u0e21\u0e35\u0e49\u0e38", "\u0e0d\u0e37\u0e49\u0e3a", "\u0e20\u0e33\u0e4d\u0e3a", "\u0e0a\u0e4c", "\u0e13\u0e33\u0e48", "\u0e04\u0e37\u0e49\u0e39", "\u0e11\u0e33\u0e4d\u0e3a", "\u0e17\u0e35\u0e47\u0e39", "\u0e18\u0e3a", "\u0e09\u0e31\u0e39", "\u0e16", "\u0e07\u0e36\u0e4a\u0e39", "\u0e12\u0e31\u0e4c\u0e39", "\u0e1e\u0e34\u0e47\u0e38", "\u0e0b\u0e36\u0e4e", "\u0e2a\u0e36\u0e4e", "\u0e29\u0e37\u0e4a\u0e38", "\u0e20\u0e33\u0e4d\u0e39", "\u0e27\u0e47\u0e38", "\u0e2e\u0e36\u0e48\u0e3a", "\u0e23\u0e31\u0e4a", "\u0e1c\u0e35\u0e4c\u0e39", "\u0e0e\u0e36\u0e4d\u0e3a", "\u0e0a\u0e36\u0e47\u0e39", "\u0e01\u0e31\u0e4a", "\u0e1d\u0e35\u0e4a\u0e38", "\u0e1e\u0e31\u0e4e", "\u0e1b\u0e37\u0e49", "\u0e03\u0e36\u0e49\u0e3a", "\u0e12\u0e33\u0e3a", "\u0e02\u0e37\u0e4d\u0e3a", "\u0e1b\u0e31\u0e4a", "\u0e02\u0e31\u0e4c\u0e38", "\u0e2d\u0e31\u0e48", "\u0e19\u0e48\u0e3a", "\u0e0b\u0e37\u0e4e\u0e3a", "\u0e29\u0e31\u0e39", "\u0e20\u0e36\u0e49\u0e3a", "\u0e17\u0e37\u0e4e\u0e3a", "\u0e23\u0e31\u0e4e\u0e39", "\u0e08\u0e36\u0e39", "\u0e23\u0e36\u0e4e\u0e39", "\u0e29\u0e35\u0e4a\u0e38", "\u0e02\u0e35\u0e47\u0e39", "\u0e15\u0e47\u0e3a", "\u0e14\u0e4b\u0e3a", "\u0e0d\u0e35\u0e4d\u0e39", "\u0e1f\u0e35", "\u0e09\u0e33\u0e4b\u0e39", "\u0e12\u0e34\u0e3a", "\u0e14\u0e35\u0e4d\u0e38", "\u0e1d\u0e36\u0e4e", "\u0e11\u0e31\u0e4e\u0e3a", "\u0e25\u0e48", "\u0e2e\u0e34\u0e49\u0e38", "\u0e05\u0e4c\u0e39", "\u0e0d\u0e33\u0e4c\u0e39", "\u0e04\u0e31\u0e47\u0e38", "\u0e19\u0e34\u0e4c\u0e38", "\u0e18\u0e31\u0e4d\u0e38", "\u0e11\u0e36\u0e47", "\u0e22\u0e37\u0e4b\u0e3a", "\u0e29\u0e31\u0e47", "\u0e29\u0e34\u0e4e\u0e38", "\u0e23\u0e37\u0e4b\u0e38", "\u0e2c\u0e34\u0e49\u0e38", "\u0e06\u0e4b\u0e3a", "\u0e28\u0e35\u0e4b", "\u0e05\u0e35\u0e4e", "\u0e08\u0e37\u0e47", "\u0e06\u0e35\u0e4a", "\u0e19\u0e31\u0e4d\u0e3a", "\u0e03\u0e33\u0e4e", "\u0e0e\u0e31\u0e4a", "\u0e2a\u0e37\u0e4e", "\u0e04\u0e36\u0e4c", "\u0e13\u0e34\u0e48\u0e39", "\u0e21\u0e33\u0e49\u0e39", "\u0e2a\u0e34\u0e48\u0e39", "\u0e2d\u0e35\u0e48\u0e39", "\u0e2d\u0e4a", "\u0e1d\u0e3a", "\u0e11\u0e36\u0e4a\u0e38", "\u0e1b\u0e47", "\u0e0f\u0e34\u0e49\u0e3a", "\u0e10\u0e34\u0e49\u0e3a", "\u0e06\u0e34\u0e4e", "\u0e01\u0e37\u0e38", "\u0e28\u0e36\u0e47\u0e3a", "\u0e2c\u0e36\u0e48\u0e3a", "\u0e1a\u0e33\u0e47", "\u0e02\u0e36\u0e4c\u0e39", "\u0e20\u0e37\u0e4b\u0e39", "\u0e14\u0e4e\u0e39", "\u0e12\u0e33\u0e47", "\u0e20\u0e35\u0e4e\u0e39", "\u0e10\u0e37\u0e4e\u0e39", "\u0e29\u0e34\u0e4a\u0e38", "\u0e0e\u0e34\u0e4d\u0e3a", "\u0e0d\u0e35\u0e4d\u0e3a", "\u0e15\u0e4a", "\u0e0b\u0e31\u0e4e\u0e3a", "\u0e19\u0e37\u0e49", "\u0e15\u0e34\u0e4a\u0e39", "\u0e0e\u0e31\u0e47\u0e38", "\u0e02\u0e33\u0e49\u0e38", "\u0e17\u0e35\u0e4c\u0e38", "\u0e03\u0e31\u0e49\u0e38", "\u0e22\u0e4a\u0e39", "\u0e04\u0e34\u0e48\u0e3a", "\u0e19\u0e31\u0e4e\u0e39", "\u0e2b\u0e31\u0e4c\u0e38", "\u0e0e\u0e36\u0e48\u0e38", "\u0e23\u0e33\u0e4c", "\u0e14\u0e33", "\u0e1c\u0e31\u0e48\u0e38", "\u0e15\u0e34\u0e4b\u0e3a", "\u0e05\u0e34\u0e49", "\u0e1e\u0e33\u0e49\u0e38", "\u0e21\u0e34\u0e4a", "\u0e1d\u0e35\u0e4e\u0e3a", "\u0e25\u0e31\u0e48\u0e38", "\u0e27\u0e36\u0e47\u0e38", "\u0e03\u0e36\u0e4c\u0e3a", "\u0e17\u0e34\u0e4a\u0e38", "\u0e1a\u0e35\u0e47\u0e39", "\u0e15\u0e36\u0e47\u0e38", "\u0e1e\u0e31\u0e4a\u0e39", "\u0e0e\u0e35\u0e47\u0e39", "\u0e0f\u0e31\u0e47\u0e3a", "\u0e2a\u0e36\u0e4b\u0e3a", "\u0e08\u0e37\u0e4a", "\u0e14\u0e34", "\u0e13\u0e4e\u0e3a", "\u0e1a\u0e47\u0e39", "\u0e10\u0e33\u0e4a\u0e38", "\u0e22\u0e33\u0e4e\u0e39", "\u0e21", "\u0e01\u0e35\u0e4c\u0e3a", "\u0e1d\u0e36\u0e4c\u0e38", "\u0e05\u0e37\u0e48\u0e39", "\u0e05\u0e36\u0e4b", "\u0e0e\u0e35\u0e4d\u0e38", "\u0e1d\u0e37\u0e4c\u0e39", "\u0e23\u0e31\u0e4e\u0e38", "\u0e0d\u0e35\u0e48\u0e39", "\u0e10\u0e34\u0e49", "\u0e1b\u0e33\u0e4b", "\u0e29\u0e4e\u0e3a", "\u0e2d\u0e36\u0e48", "\u0e19\u0e38", "\u0e0d\u0e37\u0e49", "\u0e2e\u0e37\u0e4e", "\u0e21\u0e49", "\u0e18\u0e4c", "\u0e06\u0e33\u0e4b\u0e39", "\u0e15\u0e47\u0e38", "\u0e13\u0e33\u0e4e\u0e3a", "\u0e21\u0e35\u0e4b\u0e3a", "\u0e23\u0e4d\u0e39", "\u0e1f\u0e36\u0e4c\u0e39", "\u0e05\u0e36\u0e4a\u0e3a", "\u0e1c\u0e35\u0e4e\u0e3a", "\u0e22\u0e35\u0e49\u0e39", "\u0e04\u0e4d", "\u0e05\u0e34\u0e47\u0e39", "\u0e2a\u0e33\u0e4b", "\u0e02\u0e31\u0e4e\u0e39", "\u0e0e\u0e4a\u0e39", "\u0e1b\u0e31\u0e4c\u0e38", "\u0e09\u0e31\u0e4a\u0e39", "\u0e28\u0e34\u0e48\u0e38", "\u0e08\u0e34\u0e4c\u0e3a", "\u0e0f\u0e35\u0e4e\u0e39", "\u0e1d\u0e35\u0e4e\u0e39", "\u0e1e\u0e35\u0e49", "\u0e07\u0e36\u0e48\u0e38", "\u0e2b\u0e35\u0e47\u0e39", "\u0e13\u0e33\u0e4a\u0e38", "\u0e1b\u0e31\u0e39", "\u0e2c\u0e31\u0e4d\u0e3a", "\u0e0d\u0e36\u0e4c", "\u0e29\u0e34\u0e49\u0e39", "\u0e19\u0e34\u0e47\u0e3a", "\u0e04\u0e31\u0e49\u0e38", "\u0e0c\u0e31\u0e4b\u0e38", "\u0e13\u0e37\u0e39", "\u0e1e\u0e4e\u0e39", "\u0e21\u0e35\u0e4b\u0e39", "\u0e0b\u0e4e", "\u0e22\u0e36\u0e4a\u0e39", "\u0e0b\u0e4d", "\u0e04\u0e33\u0e4a\u0e38", "\u0e09\u0e31\u0e4b", "\u0e2b\u0e31\u0e47\u0e39", "\u0e21\u0e34\u0e47", "\u0e07\u0e35\u0e4d\u0e38", "\u0e17\u0e36\u0e4d\u0e3a", "\u0e11\u0e31\u0e47\u0e39", "\u0e1f\u0e33\u0e4e\u0e39", "\u0e04\u0e31\u0e48\u0e3a", "\u0e04\u0e37\u0e47\u0e38", "\u0e0a\u0e35\u0e49\u0e39", "\u0e0d\u0e36\u0e48", "\u0e13\u0e36\u0e47\u0e39", "\u0e2a\u0e34\u0e48\u0e38", "\u0e01\u0e36\u0e47\u0e39", "\u0e1f\u0e35\u0e49\u0e3a", "\u0e1e\u0e33\u0e4b", "\u0e0d\u0e36\u0e49", "\u0e0e\u0e35\u0e4d", "\u0e18\u0e34\u0e4d\u0e38", "\u0e1e\u0e36\u0e4a", "\u0e0e\u0e33\u0e4a\u0e38", "\u0e17\u0e36\u0e49\u0e3a", "\u0e1a\u0e4d\u0e3a", "\u0e0d\u0e31\u0e4a", "\u0e11\u0e37\u0e47", "\u0e22\u0e34\u0e49\u0e39", "\u0e05\u0e35\u0e4e\u0e39", "\u0e0f\u0e34\u0e4a", "\u0e23\u0e33\u0e4a", "\u0e12\u0e31\u0e4d\u0e3a", "\u0e2b\u0e37\u0e4c", "\u0e19\u0e36\u0e3a", "\u0e1e\u0e33\u0e4e\u0e3a", "\u0e25\u0e36\u0e4b\u0e39", "\u0e01\u0e48", "\u0e1c\u0e4a", "\u0e2e\u0e37\u0e4e\u0e39", "\u0e05\u0e37\u0e47\u0e38", "\u0e18\u0e37\u0e4a\u0e39", "\u0e2b\u0e33\u0e4c\u0e38", "\u0e1a\u0e37\u0e48\u0e3a", "\u0e1b\u0e36\u0e48\u0e3a", "\u0e1b\u0e37\u0e49\u0e3a", "\u0e2a\u0e4d", "\u0e1d\u0e4c\u0e39", "\u0e07\u0e31\u0e49", "\u0e1e\u0e36\u0e4b", "\u0e05\u0e31\u0e49", "\u0e1e\u0e37\u0e38", "\u0e29\u0e35\u0e48\u0e39", "\u0e2a\u0e34\u0e39", "\u0e16\u0e34\u0e47\u0e3a", "\u0e05\u0e31\u0e49\u0e3a", "\u0e10\u0e35\u0e4e", "\u0e20\u0e31", "\u0e03\u0e4e\u0e39", "\u0e2e\u0e36\u0e4b\u0e3a", "\u0e17\u0e31\u0e4d", "\u0e22\u0e31\u0e4d\u0e39", "\u0e16\u0e35\u0e47", "\u0e1b\u0e34\u0e4a\u0e38", "\u0e19\u0e36\u0e4c\u0e39", "\u0e22\u0e33\u0e49", "\u0e27\u0e4b\u0e38", "\u0e2d\u0e49\u0e38", "\u0e19\u0e35\u0e4b\u0e38", "\u0e0a\u0e37\u0e38", "\u0e16\u0e34\u0e4c\u0e39", "\u0e11\u0e34\u0e4e\u0e3a", "\u0e07\u0e36", "\u0e15\u0e36\u0e4e", "\u0e1a\u0e33\u0e4d\u0e38", "\u0e2c\u0e34\u0e49", "\u0e06\u0e36\u0e4e\u0e39", "\u0e2b\u0e33\u0e49\u0e39", "\u0e07\u0e33\u0e47\u0e3a", "\u0e21\u0e33\u0e49", "\u0e19\u0e4c\u0e3a", "\u0e1b\u0e33\u0e4e\u0e3a", "\u0e0c\u0e36\u0e4c\u0e3a", "\u0e1c\u0e31\u0e49\u0e39", "\u0e1e\u0e33\u0e4e\u0e38", "\u0e0e\u0e34\u0e4c", "\u0e2e\u0e4e\u0e38", "\u0e0b\u0e36\u0e4a\u0e39", "\u0e02\u0e35\u0e38", "\u0e0d\u0e4d", "\u0e21\u0e34\u0e4a\u0e3a", "\u0e23\u0e33\u0e4a\u0e3a", "\u0e21\u0e31\u0e4e\u0e3a", "\u0e0c\u0e37\u0e4a\u0e3a", "\u0e25\u0e34\u0e4b\u0e39", "\u0e25\u0e31\u0e4e\u0e38", "\u0e10\u0e34\u0e49\u0e39", "\u0e1a\u0e34\u0e4b\u0e3a", "\u0e19\u0e31\u0e4b\u0e3a", "\u0e10\u0e4c\u0e38", "\u0e13\u0e34\u0e4a\u0e38", "\u0e12\u0e35\u0e49\u0e38", "\u0e06\u0e31\u0e49\u0e38", "\u0e04\u0e4c", "\u0e10\u0e35\u0e4a\u0e3a", "\u0e1b\u0e33\u0e39", "\u0e1a\u0e37\u0e38", "\u0e0a\u0e35\u0e47\u0e39", "\u0e14\u0e33\u0e4d\u0e39", "\u0e17\u0e36\u0e3a", "\u0e20\u0e37\u0e38", "\u0e2e\u0e37\u0e4b\u0e39", "\u0e1a\u0e36\u0e4e", "\u0e0c\u0e37\u0e4a\u0e39", "\u0e2a\u0e31\u0e4d\u0e3a", "\u0e1a\u0e37\u0e4b", "\u0e2e\u0e33\u0e4a", "\u0e04\u0e34\u0e4c\u0e3a", "\u0e09\u0e35\u0e4c\u0e39", "\u0e12\u0e35\u0e38", "\u0e03\u0e36\u0e49\u0e38", "\u0e29\u0e36\u0e4e\u0e38", "\u0e28\u0e31\u0e4d\u0e39", "\u0e1c\u0e37\u0e4a\u0e3a", "\u0e0a\u0e38", "\u0e2d\u0e34\u0e47\u0e3a", "\u0e07\u0e35\u0e4c\u0e38", "\u0e20\u0e31\u0e4a", "\u0e21\u0e35\u0e4d\u0e38", "\u0e1a\u0e36\u0e4a\u0e38", "\u0e12\u0e34\u0e4b\u0e3a", "\u0e17\u0e35\u0e4a\u0e39", "\u0e0d\u0e4d\u0e3a", "\u0e04\u0e36\u0e4a\u0e3a", "\u0e13\u0e47\u0e38", "\u0e1d\u0e31\u0e4e", "\u0e22\u0e37\u0e39", "\u0e12\u0e4d", "\u0e06\u0e35\u0e49\u0e39", "\u0e12\u0e34\u0e48\u0e39", "\u0e17\u0e31\u0e4b\u0e3a", "\u0e06\u0e34\u0e49\u0e38", "\u0e09\u0e37\u0e48\u0e3a", "\u0e2b", "\u0e16\u0e36\u0e48\u0e3a", "\u0e20\u0e49", "\u0e0d\u0e31\u0e49\u0e38", "\u0e2c\u0e34\u0e4a\u0e3a", "\u0e09\u0e35\u0e4a\u0e3a", "\u0e06\u0e33", "\u0e1d\u0e34\u0e47\u0e38", "\u0e06\u0e4a", "\u0e05\u0e31\u0e4b\u0e38", "\u0e09\u0e35\u0e4b\u0e39", "\u0e03\u0e4e\u0e38", "\u0e1d\u0e34\u0e4c\u0e39", "\u0e1b\u0e31\u0e4d\u0e3a", "\u0e0e\u0e35\u0e4c\u0e39", "\u0e0c\u0e34\u0e47\u0e3a", "\u0e1d\u0e36\u0e4d\u0e39", "\u0e1f\u0e4c\u0e3a", "\u0e07\u0e36\u0e4a\u0e3a", "\u0e2c\u0e31\u0e4e\u0e39", "\u0e0c\u0e34\u0e4c\u0e3a", "\u0e21\u0e35\u0e4e\u0e39", "\u0e19\u0e36\u0e48\u0e39", "\u0e20\u0e36\u0e49", "\u0e15\u0e35\u0e3a", "\u0e29\u0e35\u0e3a", "\u0e01\u0e36\u0e47", "\u0e17\u0e37\u0e49", "\u0e2e\u0e35\u0e4d", "\u0e01\u0e34\u0e4b\u0e38", "\u0e25\u0e35\u0e4b\u0e39", "\u0e0f\u0e31\u0e38", "\u0e16\u0e35\u0e4c\u0e3a", "\u0e22\u0e35\u0e4c\u0e39", "\u0e25\u0e33\u0e47", "\u0e0a\u0e48\u0e38", "\u0e29\u0e36\u0e4e\u0e3a", "\u0e07\u0e34\u0e4e\u0e38", "\u0e12\u0e33\u0e4d\u0e3a", "\u0e18\u0e4d\u0e38", "\u0e21\u0e33\u0e4b\u0e3a", "\u0e0e\u0e31\u0e47", "\u0e1b\u0e48\u0e38", "\u0e12\u0e31\u0e38", "\u0e0f\u0e36\u0e49", "\u0e23\u0e37\u0e49", "\u0e25\u0e31\u0e49\u0e3a", "\u0e05\u0e36\u0e4b\u0e3a", "\u0e0f\u0e31\u0e4d\u0e3a", "\u0e16\u0e31\u0e4a\u0e39", "\u0e27\u0e35\u0e4a", "\u0e23\u0e4c\u0e39", "\u0e2c\u0e34\u0e4e\u0e3a", "\u0e1e\u0e37\u0e4d\u0e3a", "\u0e14\u0e37\u0e4c\u0e3a", "\u0e1a\u0e34\u0e49", "\u0e25\u0e33\u0e48\u0e3a", "\u0e03\u0e37\u0e47", "\u0e05\u0e31\u0e4c\u0e39", "\u0e16\u0e49\u0e38", "\u0e04\u0e31\u0e4a", "\u0e06\u0e36\u0e38", "\u0e0c\u0e35\u0e49\u0e38", "\u0e19\u0e31\u0e4c\u0e38", "\u0e18\u0e33", "\u0e07\u0e35\u0e3a", "\u0e0b\u0e31\u0e4d\u0e39", "\u0e10\u0e31\u0e4e", "\u0e19\u0e34\u0e3a", "\u0e2c\u0e31\u0e4c\u0e39", "\u0e06\u0e47\u0e39", "\u0e22\u0e35\u0e4b\u0e39", "\u0e08\u0e33\u0e4a\u0e38", "\u0e03\u0e33\u0e3a", "\u0e2d\u0e37\u0e4c\u0e39", "\u0e2c\u0e37\u0e48", "\u0e0b\u0e36\u0e39", "\u0e14\u0e36\u0e4d\u0e3a", "\u0e2e\u0e31\u0e4c", "\u0e08\u0e33\u0e47", "\u0e16\u0e31\u0e49\u0e38", "\u0e17", "\u0e2c\u0e36\u0e4c", "\u0e20\u0e33\u0e48\u0e39", "\u0e21\u0e31\u0e39", "\u0e0f\u0e37\u0e4b\u0e38", "\u0e21\u0e33\u0e38", "\u0e03\u0e36\u0e4d\u0e3a", "\u0e04\u0e35\u0e4e\u0e39", "\u0e0b\u0e37\u0e4a\u0e39", "\u0e12\u0e35\u0e4d\u0e39", "\u0e2c\u0e37\u0e4c\u0e38", "\u0e13\u0e36\u0e49\u0e3a", "\u0e18\u0e35\u0e4b\u0e3a", "\u0e1e\u0e4b\u0e38", "\u0e0a\u0e31\u0e48\u0e3a", "\u0e14\u0e33\u0e4d\u0e3a", "\u0e06\u0e33\u0e4e\u0e38", "\u0e1f\u0e33\u0e48\u0e38", "\u0e0d\u0e35\u0e4e\u0e38", "\u0e2a\u0e37\u0e4b\u0e39", "\u0e0d\u0e35\u0e4c\u0e39", "\u0e0c\u0e33\u0e48", "\u0e16\u0e36\u0e4a\u0e3a", "\u0e0c\u0e4b\u0e3a", "\u0e2a\u0e49", "\u0e0f\u0e37\u0e49\u0e39", "\u0e0d\u0e31\u0e4c\u0e38", "\u0e27\u0e4c", "\u0e04\u0e35\u0e4b", "\u0e1e\u0e35\u0e4a", "\u0e0f\u0e36\u0e49\u0e38", "\u0e10\u0e35\u0e4c\u0e38", "\u0e27\u0e37\u0e38", "\u0e2a\u0e36", "\u0e28\u0e33\u0e49\u0e38", "\u0e0c\u0e31\u0e49", "\u0e14\u0e37\u0e39", "\u0e14\u0e36\u0e49\u0e39", "\u0e18\u0e34\u0e4d", "\u0e0a\u0e37\u0e4c\u0e39", "\u0e04\u0e37\u0e48\u0e3a", "\u0e11\u0e36\u0e4a", "\u0e0f\u0e33\u0e4a\u0e3a", "\u0e01\u0e36\u0e4d\u0e39", "\u0e23\u0e31\u0e38", "\u0e27\u0e37\u0e4d\u0e3a", "\u0e04\u0e4e\u0e38", "\u0e1f\u0e4b\u0e38", "\u0e23\u0e36\u0e48\u0e38", "\u0e21\u0e36\u0e49", "\u0e27\u0e34\u0e4e\u0e39", "\u0e04\u0e33\u0e4b\u0e39", "\u0e01\u0e31\u0e4b\u0e38", "\u0e04\u0e33\u0e4b\u0e3a", "\u0e01\u0e36\u0e48\u0e39", "\u0e1e\u0e33\u0e48\u0e38", "\u0e16\u0e37\u0e4b", "\u0e19\u0e37\u0e4d\u0e39", "\u0e1d\u0e34\u0e47", "\u0e12\u0e36\u0e49\u0e39", "\u0e15\u0e37\u0e4b", "\u0e06\u0e33\u0e4d\u0e3a", "\u0e20\u0e47", "\u0e02\u0e31\u0e39", "\u0e23\u0e34\u0e48", "\u0e18\u0e33\u0e49", "\u0e1c\u0e34\u0e49", "\u0e0f\u0e35\u0e4c", "\u0e1a\u0e34\u0e4b", "\u0e04\u0e33\u0e38", "\u0e25\u0e35\u0e49\u0e3a", "\u0e0a\u0e37\u0e47\u0e39", "\u0e21\u0e33\u0e4a\u0e39", "\u0e21\u0e34\u0e4c\u0e39", "\u0e08\u0e35\u0e4c\u0e38", "\u0e11\u0e34\u0e4d\u0e3a", "\u0e16\u0e4e\u0e38", "\u0e1d\u0e31\u0e4a", "\u0e1a\u0e33\u0e4c\u0e39", "\u0e2a\u0e36\u0e49\u0e39", "\u0e19\u0e31\u0e4c", "\u0e20\u0e36\u0e4b", "\u0e1d\u0e36\u0e4b\u0e38", "\u0e1c\u0e34\u0e4a\u0e39", "\u0e23\u0e4b\u0e38", "\u0e1e\u0e31\u0e4e\u0e3a", "\u0e19\u0e35\u0e39", "\u0e1c\u0e31\u0e4b\u0e39", "\u0e16\u0e35\u0e4e\u0e3a", "\u0e05\u0e33\u0e4a\u0e38", "\u0e05\u0e4d\u0e38", "\u0e15\u0e31\u0e4b\u0e39", "\u0e29\u0e31\u0e4c\u0e39", "\u0e2a\u0e4c\u0e3a", "\u0e29\u0e33\u0e4d", "\u0e13\u0e33\u0e4d\u0e3a", "\u0e09\u0e36\u0e4b\u0e39", "\u0e2b\u0e31\u0e4a", "\u0e09\u0e33\u0e4a\u0e39", "\u0e18\u0e37\u0e48\u0e3a", "\u0e2c\u0e33\u0e48\u0e3a", "\u0e06\u0e35\u0e48\u0e39", "\u0e27\u0e33\u0e47\u0e38", "\u0e10\u0e35\u0e4c\u0e3a", "\u0e1c\u0e31\u0e39", "\u0e12\u0e34\u0e4e", "\u0e0c\u0e36\u0e4d\u0e3a", "\u0e2d\u0e37\u0e4d", "\u0e21\u0e33\u0e4a\u0e3a", "\u0e09\u0e31\u0e48", "\u0e27\u0e37\u0e4e", "\u0e16\u0e33\u0e4b\u0e38", "\u0e1a\u0e34\u0e49\u0e39", "\u0e21\u0e33\u0e47", "\u0e1e\u0e31\u0e49\u0e3a", "\u0e07\u0e31\u0e4b", "\u0e18\u0e31\u0e4b\u0e39", "\u0e09\u0e37\u0e4b\u0e3a", "\u0e15\u0e36\u0e3a", "\u0e0a\u0e47\u0e3a", "\u0e04\u0e31\u0e4e", "\u0e0a\u0e36\u0e48\u0e39", "\u0e0c\u0e4e", "\u0e02\u0e34\u0e4a", "\u0e03\u0e4c\u0e3a", "\u0e08\u0e37\u0e4d", "\u0e1e\u0e4d\u0e39", "\u0e06\u0e34\u0e4b", "\u0e1f\u0e36\u0e47\u0e3a", "\u0e12\u0e33\u0e48\u0e38", "\u0e16\u0e33\u0e49\u0e39", "\u0e2b\u0e35\u0e4a\u0e3a", "\u0e0e\u0e47\u0e39", "\u0e10\u0e34\u0e4a\u0e3a", "\u0e13\u0e35\u0e4a\u0e3a", "\u0e22\u0e37\u0e4e\u0e3a", "\u0e06\u0e47\u0e3a", "\u0e02\u0e37\u0e4a\u0e39", "\u0e07\u0e36\u0e4d\u0e38", "\u0e05\u0e4b", "\u0e14\u0e37\u0e38", "\u0e2c\u0e37\u0e3a", "\u0e06\u0e33\u0e4a\u0e39", "\u0e18\u0e35\u0e47\u0e3a", "\u0e0e\u0e33\u0e39", "\u0e2e\u0e4d", "\u0e05\u0e37\u0e4a", "\u0e04\u0e36\u0e47", "\u0e2e\u0e37\u0e38", "\u0e1f\u0e36\u0e47\u0e39", "\u0e18\u0e37\u0e48", "\u0e06\u0e34\u0e47\u0e3a", "\u0e1d\u0e34\u0e4d\u0e39", "\u0e05\u0e37\u0e49\u0e3a", "\u0e25\u0e37\u0e4b\u0e38", "\u0e06\u0e35\u0e4d\u0e3a", "\u0e2d\u0e33\u0e4a", "\u0e2d\u0e37\u0e39", "\u0e03\u0e31\u0e4d\u0e39", "\u0e0c\u0e36\u0e4b\u0e39", "\u0e1d\u0e35\u0e4b\u0e38", "\u0e1f\u0e36\u0e49\u0e3a", "\u0e2d\u0e36\u0e49\u0e38", "\u0e0e\u0e4d", "\u0e1f\u0e35\u0e49", "\u0e11\u0e49\u0e3a", "\u0e22\u0e35\u0e4e", "\u0e01\u0e34\u0e4c\u0e39", "\u0e0f\u0e37\u0e47\u0e39", "\u0e25\u0e35\u0e38", "\u0e22\u0e36\u0e49\u0e39", "\u0e13\u0e37\u0e47\u0e38", "\u0e06\u0e34\u0e48\u0e39", "\u0e1d\u0e31\u0e4b\u0e38", "\u0e29\u0e33\u0e4b\u0e39", "\u0e1d\u0e36\u0e4d", "\u0e01\u0e33\u0e49\u0e39", "\u0e27\u0e36\u0e4e\u0e38", "\u0e02\u0e34\u0e4d\u0e3a", "\u0e22\u0e31\u0e4d\u0e38", "\u0e10\u0e34", "\u0e2b\u0e31\u0e4c\u0e3a", "\u0e0a\u0e31\u0e48\u0e39", "\u0e1e\u0e36\u0e49\u0e38", "\u0e23\u0e31\u0e4a\u0e39", "\u0e12\u0e34\u0e4a\u0e3a", "\u0e04\u0e37\u0e4c\u0e38", "\u0e1e\u0e37\u0e47\u0e39", "\u0e12\u0e31\u0e4c\u0e38", "\u0e0c\u0e37\u0e4e\u0e3a", "\u0e14\u0e36\u0e4d", "\u0e02\u0e37\u0e4d\u0e39", "\u0e20\u0e49\u0e3a", "\u0e0a\u0e31\u0e4d\u0e38", "\u0e06\u0e31\u0e47\u0e3a", "\u0e25\u0e37\u0e47", "\u0e1f\u0e33\u0e4a\u0e38", "\u0e19\u0e33\u0e4b", "\u0e2a\u0e31\u0e4b", "\u0e0c\u0e33\u0e4c\u0e38", "\u0e19\u0e31\u0e49", "\u0e29\u0e37\u0e48\u0e38", "\u0e0c\u0e33\u0e4e\u0e3a", "\u0e22\u0e34\u0e4b\u0e38", "\u0e12\u0e34\u0e48\u0e3a", "\u0e11\u0e49\u0e38", "\u0e1d\u0e33\u0e4a\u0e39", "\u0e2e\u0e35\u0e4d\u0e38", "\u0e2e\u0e4b\u0e3a", "\u0e11\u0e35\u0e47\u0e39", "\u0e0f\u0e35\u0e49\u0e39", "\u0e11\u0e4c\u0e38", "\u0e18\u0e33\u0e39", "\u0e0d\u0e35\u0e4b\u0e38", "\u0e0f\u0e4a\u0e38", "\u0e29\u0e31\u0e4c\u0e3a", "\u0e1d\u0e37\u0e4b\u0e3a", "\u0e0c\u0e31\u0e39", "\u0e09\u0e33\u0e47\u0e3a", "\u0e14\u0e34\u0e4d\u0e3a", "\u0e05\u0e49\u0e39", "\u0e23\u0e33\u0e4a\u0e39", "\u0e20\u0e36", "\u0e11\u0e37\u0e4c\u0e39", "\u0e09\u0e31\u0e4d\u0e3a", "\u0e03\u0e34\u0e49\u0e3a", "\u0e1c\u0e38", "\u0e0f\u0e4e\u0e3a", "\u0e0d\u0e33\u0e4a\u0e38", "\u0e1a\u0e34\u0e47\u0e3a", "\u0e01\u0e36\u0e4b", "\u0e1e\u0e36\u0e49\u0e3a", "\u0e2e\u0e37\u0e48\u0e38", "\u0e0d\u0e38", "\u0e0f\u0e34\u0e4d", "\u0e23\u0e36\u0e4a\u0e39", "\u0e14\u0e35\u0e49", "\u0e2e\u0e33\u0e4b\u0e39", "\u0e1e\u0e35\u0e48\u0e3a", "\u0e20\u0e31\u0e4d\u0e39", "\u0e0e\u0e4e\u0e39", "\u0e1c\u0e4d\u0e3a", "\u0e10\u0e37\u0e4d\u0e39", "\u0e27\u0e36\u0e48", "\u0e03\u0e48\u0e3a", "\u0e2b\u0e4c\u0e39", "\u0e20\u0e34\u0e4b", "\u0e22\u0e4a\u0e38", "\u0e2b\u0e35\u0e4e\u0e38", "\u0e15\u0e33\u0e47\u0e38", "\u0e25\u0e34\u0e4c\u0e3a", "\u0e10\u0e34\u0e48", "\u0e0c\u0e35\u0e4c", "\u0e10\u0e37\u0e4a\u0e3a", "\u0e1f\u0e31\u0e4e", "\u0e02\u0e36\u0e4b\u0e38", "\u0e1f\u0e35\u0e4e\u0e38", "\u0e1a\u0e36\u0e4d\u0e3a", "\u0e07\u0e34\u0e47\u0e39", "\u0e1f\u0e33\u0e4a\u0e3a", "\u0e2b\u0e31\u0e4a\u0e3a", "\u0e23\u0e31\u0e48", "\u0e14\u0e31\u0e4e", "\u0e09\u0e4d", "\u0e14\u0e34\u0e4a\u0e38", "\u0e25\u0e4e\u0e39", "\u0e11\u0e35\u0e4b\u0e39", "\u0e1f\u0e37\u0e3a", "\u0e20\u0e31\u0e4c\u0e38", "\u0e05\u0e34\u0e49\u0e39", "\u0e2a\u0e34\u0e49\u0e3a", "\u0e28\u0e33\u0e4c\u0e3a", "\u0e2a\u0e37\u0e4e\u0e39", "\u0e08\u0e33\u0e4d\u0e3a", "\u0e11\u0e35\u0e38", "\u0e2a\u0e31\u0e4a\u0e38", "\u0e05\u0e37\u0e38", "\u0e27\u0e33\u0e48\u0e39", "\u0e17\u0e33\u0e38", "\u0e1f\u0e31\u0e4d\u0e39", "\u0e1e\u0e49\u0e39", "\u0e1d\u0e36\u0e48\u0e39", "\u0e2d\u0e34\u0e48", "\u0e2b\u0e31\u0e4d", "\u0e08\u0e34\u0e47\u0e38", "\u0e17\u0e36\u0e48\u0e39", "\u0e04\u0e36\u0e48", "\u0e08\u0e31\u0e38", "\u0e0c\u0e33\u0e4b\u0e38", "\u0e11\u0e31\u0e4e\u0e38", "\u0e0c\u0e31\u0e47", "\u0e2a\u0e37\u0e49\u0e39", "\u0e06\u0e31\u0e4e\u0e3a", "\u0e1a\u0e4e\u0e3a", "\u0e08\u0e35\u0e4b\u0e3a", "\u0e03\u0e31\u0e4a\u0e3a", "\u0e23\u0e4b\u0e39", "\u0e0a\u0e36\u0e47\u0e38", "\u0e05\u0e34\u0e4d\u0e38", "\u0e18\u0e33\u0e4d", "\u0e01\u0e35\u0e48\u0e39", "\u0e08\u0e35\u0e4a", "\u0e01\u0e35\u0e39", "\u0e29\u0e31\u0e48", "\u0e23\u0e4d\u0e3a", "\u0e25\u0e34\u0e4b\u0e38", "\u0e2e\u0e35\u0e49\u0e3a", "\u0e2d\u0e37\u0e4b\u0e3a", "\u0e06\u0e47", "\u0e15\u0e35\u0e4d\u0e3a", "\u0e17\u0e36\u0e4b\u0e38", "\u0e2a\u0e33\u0e4b\u0e3a", "\u0e13\u0e35\u0e47\u0e38", "\u0e06\u0e36\u0e49", "\u0e1d\u0e4a\u0e3a", "\u0e1b\u0e36\u0e4e\u0e39", "\u0e04\u0e36\u0e4a\u0e38", "\u0e07\u0e35\u0e4a\u0e39", "\u0e19\u0e36\u0e4c\u0e38", "\u0e29\u0e33\u0e38", "\u0e1f\u0e34\u0e47\u0e39", "\u0e15\u0e36\u0e39", "\u0e25\u0e37\u0e4b\u0e3a", "\u0e1e\u0e31\u0e4a\u0e38", "\u0e08\u0e35\u0e39", "\u0e03\u0e37\u0e4a", "\u0e19\u0e34\u0e38", "\u0e0c\u0e37\u0e39", "\u0e01\u0e35\u0e4c\u0e38", "\u0e2c\u0e36\u0e4a", "\u0e15\u0e33\u0e48", "\u0e0a\u0e36\u0e4a\u0e38", "\u0e10\u0e34\u0e4b", "\u0e21\u0e34\u0e49\u0e38", "\u0e23\u0e35\u0e4a\u0e39", "\u0e13\u0e33\u0e4a", "\u0e0f\u0e39", "\u0e19\u0e34\u0e4b\u0e38", "\u0e02\u0e36\u0e49\u0e38", "\u0e0a\u0e35\u0e47\u0e38", "\u0e15\u0e34\u0e4d", "\u0e17\u0e4c\u0e38", "\u0e27\u0e36\u0e4e\u0e39", "\u0e05\u0e31\u0e49\u0e38", "\u0e0e\u0e31\u0e4d", "\u0e2e\u0e34\u0e4c\u0e38", "\u0e29\u0e34\u0e4d\u0e3a", "\u0e1d\u0e4d\u0e3a", "\u0e10\u0e36\u0e47\u0e3a", "\u0e16\u0e33\u0e4c\u0e38", "\u0e2b\u0e34\u0e48\u0e39", "\u0e18\u0e31\u0e48\u0e39", "\u0e28\u0e36\u0e4d\u0e3a", "\u0e08\u0e37\u0e48\u0e39", "\u0e13\u0e31\u0e4e\u0e38", "\u0e07\u0e37\u0e4b\u0e38", "\u0e1a\u0e31\u0e48", "\u0e20\u0e48", "\u0e0e\u0e37\u0e48\u0e38", "\u0e23\u0e35\u0e4d\u0e38", "\u0e19\u0e36\u0e4a\u0e3a", "\u0e0f\u0e4c\u0e3a", "\u0e29", "\u0e08\u0e35\u0e4e\u0e39", "\u0e1a\u0e34\u0e48", "\u0e1b\u0e35\u0e47", "\u0e13\u0e33\u0e4e\u0e38", "\u0e08\u0e33\u0e4a\u0e3a", "\u0e20\u0e31\u0e49\u0e38", "\u0e0d\u0e33\u0e48\u0e39", "\u0e1b\u0e4e", "\u0e23\u0e34\u0e4e", "\u0e20\u0e33\u0e4b\u0e3a", "\u0e1d\u0e33\u0e39", "\u0e18\u0e35\u0e47\u0e39", "\u0e2e\u0e31\u0e49\u0e39", "\u0e08\u0e31\u0e48", "\u0e04\u0e48", "\u0e05\u0e31\u0e48\u0e3a", "\u0e15\u0e35\u0e47", "\u0e06\u0e4a\u0e3a", "\u0e03\u0e34\u0e47", "\u0e27\u0e4d\u0e38", "\u0e2b\u0e37\u0e48", "\u0e07\u0e35\u0e4a\u0e38", "\u0e08\u0e36\u0e49", "\u0e06\u0e36\u0e39", "\u0e17\u0e34", "\u0e14\u0e4e", "\u0e02\u0e31\u0e4c\u0e3a", "\u0e22\u0e36\u0e4b\u0e38", "\u0e1b\u0e35\u0e4e\u0e3a", "\u0e1f\u0e4b\u0e39", "\u0e04\u0e31\u0e4a\u0e39", "\u0e14\u0e37\u0e4a\u0e3a", "\u0e1b\u0e4c\u0e39", "\u0e22\u0e33\u0e4d\u0e3a", "\u0e2b\u0e48\u0e39", "\u0e29\u0e36\u0e48\u0e38", "\u0e2a\u0e37\u0e39", "\u0e08\u0e34\u0e4a\u0e3a", "\u0e1d\u0e39", "\u0e06\u0e34\u0e4e\u0e3a", "\u0e1e\u0e33\u0e4d\u0e3a", "\u0e17\u0e35\u0e4e", "\u0e0e\u0e48\u0e39", "\u0e2c\u0e34\u0e4e\u0e38", "\u0e1d\u0e35\u0e47\u0e3a", "\u0e13\u0e36\u0e38", "\u0e2d\u0e31\u0e4b\u0e3a", "\u0e21\u0e33\u0e48\u0e3a", "\u0e22\u0e35\u0e4a\u0e39", "\u0e2c\u0e33\u0e4a\u0e39", "\u0e1c\u0e33\u0e49\u0e38", "\u0e01\u0e4a\u0e38", "\u0e27\u0e36\u0e49", "\u0e2d\u0e31\u0e47\u0e3a", "\u0e08\u0e33\u0e4b\u0e3a", "\u0e09\u0e35\u0e4a\u0e39", "\u0e21\u0e35\u0e4d\u0e3a", "\u0e0a\u0e34\u0e4c", "\u0e1a\u0e34\u0e38", "\u0e27\u0e37", "\u0e1a\u0e35\u0e47\u0e38", "\u0e01\u0e33\u0e4e\u0e38", "\u0e2a\u0e33\u0e47\u0e3a", "\u0e28\u0e34\u0e39", "\u0e2d\u0e33\u0e3a", "\u0e06\u0e35\u0e4c", "\u0e2c\u0e36\u0e4e", "\u0e29\u0e33\u0e47\u0e39", "\u0e17\u0e31\u0e48\u0e38", "\u0e05\u0e47\u0e3a", "\u0e1a\u0e37\u0e4c\u0e39", "\u0e1a\u0e34\u0e4d", "\u0e01\u0e37\u0e3a", "\u0e02\u0e35\u0e4c", "\u0e1d\u0e37\u0e4e\u0e39", "\u0e08\u0e37\u0e4d\u0e38", "\u0e2b\u0e33\u0e4e\u0e38", "\u0e0c\u0e31\u0e4b\u0e39", "\u0e0d\u0e31\u0e4e\u0e39", "\u0e2b\u0e35\u0e4e", "\u0e02\u0e31\u0e48\u0e38", "\u0e20\u0e35\u0e48\u0e38", "\u0e25\u0e36\u0e47\u0e38", "\u0e28\u0e35", "\u0e07\u0e36\u0e4e\u0e39", "\u0e21\u0e37\u0e47\u0e3a", "\u0e0a\u0e37\u0e4e", "\u0e18\u0e4c\u0e38", "\u0e08\u0e34\u0e38", "\u0e2c\u0e36\u0e49\u0e38", "\u0e1d\u0e31\u0e4e\u0e3a", "\u0e12\u0e4d\u0e3a", "\u0e10\u0e33\u0e4d", "\u0e1e\u0e36\u0e48", "\u0e18\u0e48\u0e39", "\u0e14\u0e31\u0e4b\u0e38", "\u0e12\u0e34\u0e4e\u0e39", "\u0e11\u0e34\u0e39", "\u0e15\u0e34\u0e4c\u0e38", "\u0e05\u0e36\u0e47\u0e39", "\u0e2d\u0e33\u0e48\u0e38", "\u0e04\u0e31\u0e48", "\u0e11\u0e31\u0e4e", "\u0e11\u0e35\u0e49\u0e38", "\u0e1f\u0e37\u0e47\u0e38", "\u0e20\u0e4b", "\u0e23\u0e34\u0e47\u0e38", "\u0e29\u0e35\u0e4d\u0e3a", "\u0e07\u0e34\u0e4d", "\u0e20\u0e31\u0e4b\u0e39", "\u0e23\u0e35\u0e4b\u0e3a", "\u0e25\u0e33\u0e38", "\u0e22\u0e36\u0e49\u0e3a", "\u0e2c\u0e33\u0e48\u0e39", "\u0e10\u0e36\u0e49\u0e38", "\u0e2a\u0e33\u0e4d\u0e3a", "\u0e0e\u0e34\u0e49", "\u0e1d\u0e36\u0e49\u0e39", "\u0e2b\u0e35\u0e48\u0e3a", "\u0e11\u0e31\u0e4d\u0e38", "\u0e20\u0e37\u0e4c\u0e3a", "\u0e27\u0e37\u0e4c", "\u0e13\u0e33\u0e4d", "\u0e03\u0e37\u0e4d", "\u0e1c\u0e31\u0e4b\u0e38", "\u0e2b\u0e34\u0e49\u0e38", "\u0e0e\u0e36\u0e4a\u0e3a", "\u0e0e\u0e36\u0e47\u0e3a", "\u0e20\u0e31\u0e4d\u0e3a", "\u0e05\u0e36\u0e4b\u0e38", "\u0e25\u0e31\u0e47\u0e3a", "\u0e13\u0e36\u0e49", "\u0e02\u0e49\u0e39", "\u0e25\u0e35\u0e4d\u0e39", "\u0e2d\u0e4c\u0e38", "\u0e09\u0e33\u0e47", "\u0e15\u0e4e\u0e38", "\u0e15\u0e4c\u0e39", "\u0e27\u0e34\u0e4a\u0e38", "\u0e2a\u0e47\u0e39", "\u0e29\u0e4c\u0e39", "\u0e02\u0e36\u0e4b\u0e39", "\u0e0b\u0e36\u0e49\u0e39", "\u0e1f\u0e36\u0e4c\u0e3a", "\u0e14\u0e35\u0e39", "\u0e0b\u0e35\u0e4d\u0e39", "\u0e1c\u0e36\u0e49\u0e38", "\u0e2c\u0e35\u0e49", "\u0e09\u0e31\u0e4b\u0e38", "\u0e23\u0e36\u0e3a", "\u0e0e\u0e36\u0e4d", "\u0e27\u0e36\u0e48\u0e38", "\u0e0e\u0e37\u0e4b\u0e3a", "\u0e1c\u0e33\u0e48\u0e38", "\u0e2c\u0e4e\u0e38", "\u0e1a\u0e37\u0e4c\u0e38", "\u0e0d\u0e36\u0e4d\u0e39", "\u0e2b\u0e35\u0e49", "\u0e07\u0e36\u0e4d", "\u0e07\u0e34\u0e4b\u0e38", "\u0e0a\u0e35\u0e4b\u0e38", "\u0e10\u0e33\u0e4b\u0e39", "\u0e27\u0e4c\u0e3a", "\u0e2a\u0e37\u0e4e\u0e3a", "\u0e28\u0e31\u0e4a\u0e39", "\u0e12\u0e34\u0e38", "\u0e18\u0e35\u0e49\u0e39", "\u0e07\u0e37\u0e47\u0e3a", "\u0e09\u0e37\u0e49", "\u0e28\u0e35\u0e4e\u0e38", "\u0e11\u0e49\u0e39", "\u0e25\u0e31\u0e4b\u0e39", "\u0e15\u0e35\u0e4a\u0e39", "\u0e13\u0e34", "\u0e1b\u0e37\u0e4b\u0e39", "\u0e07\u0e34\u0e4e\u0e39", "\u0e0a\u0e35\u0e47\u0e3a", "\u0e08\u0e36\u0e4c\u0e38", "\u0e0a\u0e36\u0e4a", "\u0e10\u0e31\u0e48\u0e39", "\u0e1c\u0e33\u0e48\u0e3a", "\u0e18\u0e35\u0e4b\u0e39", "\u0e25\u0e48\u0e38", "\u0e1d\u0e35\u0e4c\u0e39", "\u0e0f\u0e34\u0e4c\u0e38", "\u0e2d\u0e48", "\u0e2d\u0e37\u0e47\u0e3a", "\u0e0e\u0e37\u0e4c\u0e39", "\u0e01\u0e35\u0e4a\u0e39", "\u0e18\u0e31\u0e4e\u0e3a", "\u0e2d\u0e33\u0e4e\u0e39", "\u0e2d\u0e36\u0e48\u0e38", "\u0e0a\u0e4a\u0e3a", "\u0e10\u0e4c\u0e3a", "\u0e15\u0e48\u0e39", "\u0e01\u0e36\u0e4e\u0e3a", "\u0e0d\u0e34\u0e4a", "\u0e23\u0e33\u0e39", "\u0e16\u0e4c", "\u0e15\u0e36\u0e4b\u0e38", "\u0e1a\u0e47\u0e3a", "\u0e25\u0e34\u0e4c\u0e39", "\u0e1c\u0e34\u0e47", "\u0e20\u0e37\u0e48", "\u0e10\u0e37\u0e48", "\u0e28\u0e36\u0e4a\u0e3a", "\u0e23\u0e37\u0e38", "\u0e11\u0e37\u0e4c", "\u0e11\u0e31\u0e48", "\u0e11\u0e48", "\u0e0d\u0e31\u0e47\u0e39", "\u0e0b\u0e33\u0e4b\u0e38", "\u0e08\u0e33\u0e49\u0e3a", "\u0e1c\u0e34\u0e4b\u0e3a", "\u0e06", "\u0e07\u0e35\u0e4e\u0e38", "\u0e09\u0e34\u0e4a\u0e38", "\u0e1a\u0e33\u0e4a\u0e38", "\u0e20\u0e35\u0e49", "\u0e2e\u0e35\u0e4b\u0e39", "\u0e21\u0e37\u0e4b", "\u0e13\u0e33\u0e4c\u0e38", "\u0e05\u0e36\u0e38", "\u0e04\u0e37\u0e4a\u0e3a", "\u0e03\u0e33\u0e4d\u0e38", "\u0e15\u0e33\u0e47", "\u0e1a\u0e33\u0e39", "\u0e23\u0e37\u0e4d\u0e38", "\u0e0d\u0e31\u0e49\u0e39", "\u0e2e\u0e35\u0e4a", "\u0e2c\u0e36\u0e39", "\u0e18\u0e36\u0e4d\u0e3a", "\u0e07\u0e4c", "\u0e0a\u0e33", "\u0e0f\u0e34\u0e4d\u0e39", "\u0e2d\u0e36\u0e4a", "\u0e2b\u0e49", "\u0e21\u0e31\u0e48\u0e38", "\u0e0f\u0e31\u0e4b", "\u0e2a\u0e34\u0e4b\u0e39", "\u0e07\u0e31\u0e48\u0e3a", "\u0e1f\u0e31\u0e4a\u0e3a", "\u0e2d\u0e35\u0e49\u0e39", "\u0e2b\u0e4b\u0e38", "\u0e25\u0e34\u0e4e", "\u0e19\u0e47\u0e38", "\u0e25\u0e37\u0e48\u0e3a", "\u0e08\u0e34\u0e4e\u0e38", "\u0e03\u0e37\u0e47\u0e3a", "\u0e08\u0e33\u0e48", "\u0e0b\u0e33\u0e4e\u0e3a", "\u0e1a\u0e49\u0e38", "\u0e1f\u0e31\u0e49\u0e3a", "\u0e17\u0e33\u0e4a\u0e39", "\u0e06\u0e31\u0e4e\u0e38", "\u0e0b\u0e33\u0e4a\u0e38", "\u0e0d\u0e36\u0e4e", "\u0e03\u0e31\u0e3a", "\u0e22\u0e35\u0e4c", "\u0e2d\u0e35\u0e4a\u0e3a", "\u0e27\u0e34\u0e47\u0e39", "\u0e22\u0e34\u0e3a", "\u0e16\u0e34\u0e4b\u0e38", "\u0e0c\u0e39", "\u0e1f\u0e34\u0e47", "\u0e1a\u0e36\u0e4e\u0e39", "\u0e06\u0e4c", "\u0e0c\u0e35\u0e48\u0e3a", "\u0e0d\u0e31\u0e4a\u0e3a", "\u0e0b\u0e36\u0e4d", "\u0e18\u0e4b\u0e3a", "\u0e1b\u0e33\u0e38", "\u0e27\u0e34\u0e4d", "\u0e0a\u0e34\u0e4b\u0e39", "\u0e2b\u0e4c\u0e38", "\u0e1d\u0e37\u0e3a", "\u0e05\u0e36\u0e4d\u0e39", "\u0e2e\u0e35\u0e4b", "\u0e08\u0e37\u0e47\u0e3a", "\u0e1c\u0e36\u0e4e", "\u0e04\u0e35\u0e4a\u0e3a", "\u0e29\u0e33\u0e48\u0e3a", "\u0e02\u0e35\u0e4e\u0e38", "\u0e10\u0e37\u0e4e\u0e3a", "\u0e2e\u0e31\u0e48\u0e3a", "\u0e1a\u0e4c\u0e39", "\u0e29\u0e37\u0e47\u0e39", "\u0e2c\u0e35\u0e4d", "\u0e12\u0e36\u0e47\u0e39", "\u0e1b\u0e31\u0e4d", "\u0e08\u0e37\u0e4c\u0e3a", "\u0e2e\u0e34\u0e4c", "\u0e0f\u0e31\u0e4a", "\u0e1b\u0e4d\u0e38", "\u0e05\u0e34\u0e47\u0e3a", "\u0e0c\u0e31\u0e4a\u0e3a", "\u0e04\u0e31\u0e4b\u0e3a", "\u0e06\u0e36\u0e4b", "\u0e0e\u0e34\u0e39", "\u0e2e\u0e35\u0e48", "\u0e23\u0e36\u0e4c\u0e38", "\u0e16\u0e35\u0e49\u0e3a", "\u0e2b\u0e33\u0e4c\u0e3a", "\u0e2e\u0e36\u0e49\u0e39", "\u0e0f\u0e33\u0e4e\u0e38", "\u0e13\u0e34\u0e48", "\u0e05\u0e37\u0e4c\u0e3a", "\u0e0c\u0e31\u0e47\u0e3a", "\u0e20\u0e35\u0e4d\u0e39", "\u0e12\u0e33\u0e48", "\u0e22\u0e37\u0e49\u0e38", "\u0e2a\u0e36\u0e4b\u0e38", "\u0e1d\u0e35\u0e4d", "\u0e1d\u0e31\u0e4c\u0e39", "\u0e05\u0e34\u0e4e\u0e39", "\u0e15\u0e31\u0e4d\u0e39", "\u0e27\u0e37\u0e48\u0e38", "\u0e1f\u0e49\u0e39", "\u0e0a\u0e33\u0e4b", "\u0e05\u0e37\u0e4b\u0e3a", "\u0e1b\u0e37\u0e48", "\u0e01\u0e4c\u0e38", "\u0e07\u0e33\u0e4e\u0e39", "\u0e03\u0e33\u0e47\u0e39", "\u0e1a\u0e35\u0e48\u0e3a", "\u0e04\u0e34\u0e4d\u0e38", "\u0e11\u0e35\u0e4d\u0e38", "\u0e17\u0e34\u0e48\u0e38", "\u0e06\u0e31\u0e4d\u0e3a", "\u0e1d\u0e36\u0e4c", "\u0e0d\u0e36\u0e49\u0e39", "\u0e23\u0e4c\u0e38", "\u0e2c\u0e36\u0e4e\u0e3a", "\u0e25\u0e34\u0e4e\u0e39", "\u0e2b\u0e37\u0e4c\u0e39", "\u0e16\u0e34\u0e4c\u0e3a", "\u0e0b\u0e33\u0e4c\u0e3a", "\u0e06\u0e36\u0e48", "\u0e06\u0e33\u0e4e", "\u0e1f\u0e3a", "\u0e06\u0e48", "\u0e19\u0e31\u0e48\u0e39", "\u0e04\u0e34\u0e49", "\u0e0d\u0e34\u0e4d\u0e3a", "\u0e0d\u0e4c\u0e3a", "\u0e06\u0e34\u0e49\u0e39", "\u0e25\u0e4c\u0e3a", "\u0e16\u0e36\u0e48", "\u0e03\u0e33\u0e49", "\u0e02\u0e34\u0e48\u0e3a", "\u0e08\u0e31\u0e49\u0e39", "\u0e04\u0e37\u0e4d\u0e3a", "\u0e19\u0e31\u0e38", "\u0e2e\u0e35\u0e4c\u0e38", "\u0e12\u0e34\u0e48\u0e38", "\u0e05\u0e36\u0e48\u0e3a", "\u0e09\u0e36\u0e4c\u0e39", "\u0e2b\u0e36\u0e4a\u0e39", "\u0e09\u0e47\u0e39", "\u0e1e\u0e4e\u0e38", "\u0e0c\u0e34\u0e4e\u0e38", "\u0e0d\u0e35\u0e48\u0e38", "\u0e22\u0e37\u0e4d\u0e38", "\u0e1d\u0e36\u0e38", "\u0e20\u0e31\u0e4a\u0e3a", "\u0e18\u0e31\u0e48\u0e38", "\u0e07\u0e47", "\u0e1d\u0e35\u0e47", "\u0e29\u0e35\u0e4a\u0e39", "\u0e22\u0e31\u0e4d", "\u0e09\u0e33\u0e3a", "\u0e0f\u0e31\u0e47\u0e38", "\u0e2c\u0e35\u0e4e\u0e39", "\u0e0a\u0e35\u0e4b", "\u0e1c\u0e35\u0e47", "\u0e2e\u0e36\u0e4c\u0e3a", "\u0e22\u0e37\u0e48\u0e39", "\u0e02\u0e36\u0e4d\u0e38", "\u0e0b\u0e37\u0e4e\u0e39", "\u0e22\u0e35\u0e4b\u0e3a", "\u0e28\u0e31\u0e4c\u0e39", "\u0e16\u0e35\u0e4e\u0e39", "\u0e08\u0e31\u0e4e", "\u0e14\u0e34\u0e47\u0e3a", "\u0e01\u0e35\u0e4b", "\u0e0b\u0e37\u0e4b\u0e3a", "\u0e14\u0e37\u0e4d\u0e38", "\u0e1f\u0e35\u0e4c\u0e38", "\u0e07\u0e37\u0e48\u0e3a", "\u0e29\u0e37\u0e48", "\u0e25\u0e31\u0e4c\u0e39", "\u0e21\u0e34", "\u0e09\u0e37\u0e4a\u0e3a", "\u0e12\u0e35\u0e4e\u0e39", "\u0e07\u0e37\u0e4c\u0e39", "\u0e0f\u0e37\u0e49\u0e3a", "\u0e1b\u0e34\u0e49\u0e38", "\u0e05\u0e36\u0e4c\u0e39", "\u0e2c\u0e38", "\u0e2e\u0e31\u0e4a\u0e39", "\u0e13\u0e31\u0e49\u0e3a", "\u0e25\u0e36\u0e47", "\u0e0d\u0e36\u0e4a\u0e39", "\u0e25\u0e47", "\u0e29\u0e47\u0e3a", "\u0e2b\u0e37\u0e38", "\u0e09\u0e31\u0e4c\u0e39", "\u0e28\u0e4b", "\u0e16\u0e37\u0e48\u0e39", "\u0e1f\u0e31\u0e4e\u0e3a", "\u0e16\u0e36\u0e4c\u0e39", "\u0e08\u0e31\u0e4e\u0e38", "\u0e03\u0e37\u0e38", "\u0e0c\u0e34\u0e4d", "\u0e1a\u0e31\u0e49\u0e39", "\u0e23\u0e33\u0e4b", "\u0e17\u0e36\u0e39", "\u0e12\u0e37\u0e4a", "\u0e13\u0e34\u0e49\u0e39", "\u0e2a\u0e37\u0e4c\u0e3a", "\u0e0c\u0e33\u0e49\u0e38", "\u0e2d\u0e36\u0e3a", "\u0e0b\u0e31\u0e4c\u0e39", "\u0e0e\u0e49\u0e39", "\u0e1d\u0e31\u0e4d", "\u0e17\u0e31\u0e4e\u0e38", "\u0e21\u0e35\u0e4c", "\u0e13\u0e37\u0e47\u0e39", "\u0e09\u0e36\u0e4e\u0e38", "\u0e0d\u0e31\u0e4e", "\u0e1a\u0e31\u0e48\u0e39", "\u0e07\u0e49\u0e39", "\u0e29\u0e37\u0e38", "\u0e0a\u0e37\u0e47\u0e38", "\u0e13\u0e36\u0e4d\u0e39", "\u0e2b\u0e33\u0e4e\u0e39", "\u0e09\u0e37\u0e4d", "\u0e05", "\u0e2b\u0e31\u0e4d\u0e3a", "\u0e12\u0e34\u0e48", "\u0e2d\u0e34\u0e4a", "\u0e12\u0e31\u0e4a\u0e39", "\u0e11\u0e35\u0e4e\u0e3a", "\u0e15\u0e36\u0e4b", "\u0e2a\u0e33\u0e4d\u0e39", "\u0e2e\u0e31\u0e49\u0e3a", "\u0e03\u0e33\u0e47\u0e38", "\u0e25\u0e33\u0e48", "\u0e27\u0e35\u0e4d\u0e39", "\u0e27\u0e34\u0e4e\u0e3a", "\u0e29\u0e35\u0e47\u0e3a", "\u0e25\u0e34\u0e4d\u0e38", "\u0e20\u0e31\u0e4d", "\u0e23\u0e31\u0e4b\u0e3a", "\u0e02\u0e37\u0e4d\u0e38", "\u0e22\u0e35\u0e49\u0e3a", "\u0e02\u0e35\u0e4d", "\u0e1d\u0e31\u0e4c", "\u0e20\u0e34\u0e4e\u0e3a", "\u0e0a\u0e35\u0e4d", "\u0e18\u0e34\u0e38", "\u0e1a\u0e4d\u0e39", "\u0e05\u0e36\u0e4a\u0e39", "\u0e18\u0e37\u0e38", "\u0e15\u0e34\u0e4e", "\u0e0a\u0e31\u0e4c\u0e39", "\u0e10\u0e35\u0e4d\u0e38", "\u0e13\u0e35\u0e3a", "\u0e1b\u0e34\u0e47\u0e3a", "\u0e20\u0e48\u0e38", "\u0e11\u0e4d", "\u0e2e\u0e34\u0e4b\u0e39", "\u0e2c\u0e33\u0e4c", "\u0e2d\u0e35\u0e4d", "\u0e21\u0e3a", "\u0e02\u0e37\u0e4e\u0e39", "\u0e1d\u0e35\u0e4a\u0e39", "\u0e16\u0e33\u0e4e\u0e39", "\u0e2a\u0e34\u0e49\u0e38", "\u0e15\u0e33\u0e4b\u0e39", "\u0e0d\u0e31\u0e47\u0e3a", "\u0e27\u0e35\u0e4c\u0e3a", "\u0e1f\u0e35\u0e4d\u0e3a", "\u0e19\u0e36\u0e38", "\u0e22\u0e33\u0e4c\u0e38", "\u0e0e\u0e4a\u0e38", "\u0e11\u0e34\u0e4e\u0e39", "\u0e19\u0e37\u0e4b", "\u0e04\u0e37\u0e4b\u0e39", "\u0e08\u0e37\u0e4c\u0e38", "\u0e01\u0e37\u0e4b", "\u0e23\u0e35\u0e49\u0e3a", "\u0e2a\u0e33", "\u0e21\u0e33\u0e47\u0e38", "\u0e0b\u0e35\u0e4b\u0e38", "\u0e17\u0e31\u0e4d\u0e39", "\u0e27\u0e36\u0e4c\u0e38", "\u0e05\u0e31\u0e4e", "\u0e09\u0e34\u0e4c\u0e39", "\u0e0c\u0e37\u0e4d\u0e3a", "\u0e27\u0e35\u0e4d\u0e38", "\u0e29\u0e33\u0e49", "\u0e14\u0e36\u0e4c", "\u0e1b\u0e49\u0e3a", "\u0e0c\u0e33\u0e4d\u0e38", "\u0e19\u0e4b\u0e39", "\u0e08\u0e35\u0e47\u0e39", "\u0e12\u0e33", "\u0e18\u0e37\u0e4b\u0e38", "\u0e1d\u0e34\u0e49\u0e38", "\u0e1d\u0e37\u0e49\u0e3a", "\u0e14\u0e33\u0e47\u0e3a", "\u0e2b\u0e36\u0e4b\u0e38", "\u0e20\u0e31\u0e49", "\u0e1f\u0e36\u0e3a", "\u0e06\u0e35\u0e4e\u0e3a", "\u0e10\u0e4d\u0e39", "\u0e15\u0e33\u0e4a\u0e39", "\u0e1d\u0e35\u0e4e", "\u0e1c\u0e33\u0e4a\u0e3a", "\u0e1c\u0e36\u0e38", "\u0e0b\u0e36\u0e47", "\u0e27\u0e35\u0e3a", "\u0e25\u0e37\u0e4c\u0e3a", "\u0e0c\u0e36\u0e38", "\u0e28\u0e31\u0e47\u0e38", "\u0e0e\u0e37\u0e4a\u0e38", "\u0e09\u0e36\u0e48", "\u0e03\u0e34", "\u0e15\u0e35\u0e48\u0e39", "\u0e15\u0e33\u0e49\u0e3a", "\u0e1b\u0e35\u0e4c\u0e39", "\u0e1f\u0e36\u0e49", "\u0e11\u0e35\u0e4e", "\u0e1f\u0e31\u0e47", "\u0e1d\u0e35\u0e4c\u0e38", "\u0e17\u0e31\u0e4e", "\u0e19\u0e37\u0e4e\u0e38", "\u0e25\u0e36\u0e48", "\u0e25\u0e4a\u0e39", "\u0e22\u0e33\u0e4b\u0e39", "\u0e15\u0e35\u0e4e\u0e39", "\u0e1b\u0e36\u0e48\u0e38", "\u0e0e\u0e36\u0e4c", "\u0e18\u0e37\u0e4d", "\u0e1a\u0e37\u0e49\u0e38", "\u0e2e\u0e35\u0e4b\u0e38", "\u0e15\u0e35\u0e47\u0e38", "\u0e1d\u0e35\u0e47\u0e38", "\u0e14\u0e35\u0e4d", "\u0e2e\u0e35\u0e4a\u0e3a", "\u0e0e\u0e34\u0e48\u0e3a", "\u0e28\u0e36\u0e4c\u0e39", "\u0e1a\u0e34\u0e4e\u0e39", "\u0e14\u0e37\u0e49\u0e38", "\u0e07\u0e34\u0e47", "\u0e09\u0e34\u0e4e\u0e3a", "\u0e1f\u0e34\u0e4d\u0e38", "\u0e21\u0e4d\u0e3a", "\u0e18\u0e31\u0e4b\u0e3a", "\u0e01\u0e36\u0e4a\u0e38", "\u0e12\u0e36\u0e4b", "\u0e02\u0e31\u0e3a", "\u0e07\u0e35\u0e4d\u0e39", "\u0e1b\u0e31\u0e4c\u0e3a", "\u0e09\u0e36\u0e4d", "\u0e08\u0e33\u0e4e\u0e39", "\u0e02\u0e48\u0e3a", "\u0e14\u0e34\u0e4b\u0e3a", "\u0e1c\u0e36\u0e4d", "\u0e03\u0e35\u0e4c\u0e3a", "\u0e05\u0e38", "\u0e17\u0e31\u0e49\u0e39", "\u0e18\u0e36\u0e47\u0e3a", "\u0e1e\u0e35\u0e4a\u0e38", "\u0e0b\u0e34\u0e4b", "\u0e25\u0e33\u0e47\u0e38", "\u0e23\u0e34\u0e4a", "\u0e0c\u0e4b\u0e38", "\u0e14\u0e37\u0e4d", "\u0e12\u0e31\u0e4e\u0e39", "\u0e12\u0e35\u0e4c\u0e3a", "\u0e0a\u0e35\u0e4a\u0e39", "\u0e1a\u0e31\u0e47\u0e38", "\u0e04\u0e31\u0e4d", "\u0e11\u0e35\u0e47\u0e3a", "\u0e0a\u0e31\u0e4c\u0e38", "\u0e09\u0e36\u0e4c\u0e38", "\u0e13\u0e31\u0e4d\u0e39", "\u0e1b\u0e33\u0e4c\u0e38", "\u0e29\u0e37\u0e4e\u0e3a", "\u0e02\u0e36\u0e4b\u0e3a", "\u0e13\u0e36\u0e4b\u0e38", "\u0e1d\u0e34\u0e4c", "\u0e1d\u0e37\u0e48\u0e39", "\u0e23\u0e34\u0e4d\u0e38", "\u0e29\u0e34\u0e4c", "\u0e04\u0e37\u0e48\u0e39", "\u0e04\u0e36\u0e39", "\u0e1d\u0e35\u0e4b\u0e3a", "\u0e06\u0e33\u0e47\u0e38", "\u0e0f\u0e33\u0e49\u0e3a", "\u0e2a\u0e34\u0e4c\u0e38", "\u0e1b\u0e34\u0e4e\u0e39", "\u0e08\u0e33\u0e47\u0e39", "\u0e1b\u0e31\u0e4a\u0e3a", "\u0e11\u0e4b", "\u0e1d\u0e33\u0e38", "\u0e2d\u0e31\u0e48\u0e39", "\u0e11\u0e34\u0e4e\u0e38", "\u0e2e\u0e34\u0e4a\u0e3a", "\u0e2a\u0e31\u0e39", "\u0e0b\u0e49\u0e39", "\u0e1a\u0e4a", "\u0e0f\u0e35", "\u0e0f\u0e37\u0e47\u0e38", "\u0e19\u0e35\u0e4a", "\u0e12\u0e35\u0e4d", "\u0e0e\u0e34\u0e4a\u0e39", "\u0e13\u0e35\u0e4e\u0e3a", "\u0e11\u0e4e", "\u0e11\u0e31\u0e4c\u0e38", "\u0e10\u0e47\u0e38", "\u0e21\u0e37\u0e4c\u0e39", "\u0e1f\u0e35\u0e4b", "\u0e02\u0e34\u0e4b\u0e39", "\u0e1b\u0e35\u0e3a", "\u0e15\u0e33\u0e48\u0e38", "\u0e01\u0e35\u0e4b\u0e3a", "\u0e2b\u0e37\u0e4a\u0e38", "\u0e01\u0e33\u0e48", "\u0e27\u0e37\u0e4a", "\u0e06\u0e37\u0e4d\u0e3a", "\u0e0c\u0e37\u0e49\u0e38", "\u0e0c\u0e37\u0e47\u0e3a", "\u0e0a\u0e33\u0e3a", "\u0e03\u0e36\u0e4d\u0e38", "\u0e15\u0e37\u0e39", "\u0e2d\u0e4c", "\u0e20\u0e36\u0e4a\u0e38", "\u0e28\u0e35\u0e4b\u0e38", "\u0e1e\u0e35\u0e4b\u0e3a", "\u0e27\u0e35\u0e48", "\u0e29\u0e33\u0e4d\u0e3a", "\u0e18\u0e35\u0e4c\u0e3a", "\u0e16\u0e36\u0e3a", "\u0e05\u0e34\u0e4b\u0e39", "\u0e01\u0e35\u0e49\u0e38", "\u0e12\u0e4a\u0e39", "\u0e2e\u0e36\u0e49", "\u0e22\u0e34\u0e47\u0e3a", "\u0e0d\u0e33\u0e47\u0e3a", "\u0e1b\u0e34\u0e4b", "\u0e1e\u0e35\u0e38", "\u0e08\u0e34\u0e4d\u0e39", "\u0e0e\u0e34\u0e4b\u0e39", "\u0e17\u0e33\u0e4b\u0e39", "\u0e17\u0e35\u0e4c\u0e3a", "\u0e11\u0e31\u0e47", "\u0e03\u0e34\u0e4c", "\u0e13\u0e36\u0e4d", "\u0e27\u0e4c\u0e39", "\u0e27\u0e34\u0e4b\u0e38", "\u0e10\u0e34\u0e4a\u0e38", "\u0e1a\u0e35\u0e49\u0e38", "\u0e1b\u0e31\u0e4b", "\u0e12\u0e37\u0e4d", "\u0e1f\u0e37\u0e39", "\u0e09\u0e37\u0e49\u0e39", "\u0e01\u0e34\u0e4a\u0e3a", "\u0e1b\u0e36\u0e47\u0e39", "\u0e2d\u0e37\u0e48\u0e39", "\u0e22\u0e34\u0e4b\u0e3a", "\u0e08\u0e34\u0e47\u0e39", "\u0e1f\u0e48\u0e39", "\u0e1a\u0e36\u0e47\u0e3a", "\u0e0c\u0e35\u0e49", "\u0e10\u0e47\u0e39", "\u0e19\u0e35\u0e48\u0e39", "\u0e09\u0e34\u0e48\u0e39", "\u0e14\u0e48\u0e3a", "\u0e1e\u0e33\u0e48\u0e3a", "\u0e17\u0e33\u0e48\u0e39", "\u0e0e\u0e37\u0e4b\u0e38", "\u0e0d\u0e36\u0e4d", "\u0e02\u0e4e\u0e3a", "\u0e2b\u0e37\u0e49\u0e38", "\u0e2a\u0e33\u0e49\u0e3a", "\u0e0e\u0e3a", "\u0e1b\u0e33\u0e4b\u0e39", "\u0e0d\u0e31\u0e4d\u0e38", "\u0e20\u0e33\u0e4a", "\u0e12\u0e33\u0e4e", "\u0e1f\u0e34\u0e4b", "\u0e11\u0e36\u0e4a\u0e3a", "\u0e25\u0e49\u0e38", "\u0e0b\u0e4a\u0e3a", "\u0e10\u0e37\u0e4e", "\u0e08\u0e35\u0e49", "\u0e0c\u0e31\u0e4d\u0e38", "\u0e1e\u0e36\u0e4c\u0e39", "\u0e1c\u0e37\u0e49\u0e38", "\u0e14\u0e4c\u0e39", "\u0e22\u0e34\u0e4c\u0e3a", "\u0e1f\u0e33\u0e48", "\u0e10\u0e48\u0e39", "\u0e1d\u0e34\u0e3a", "\u0e02\u0e36\u0e48", "\u0e22\u0e36\u0e47\u0e39", "\u0e03\u0e4c\u0e38", "\u0e0f\u0e37\u0e48", "\u0e05\u0e34\u0e4c\u0e39", "\u0e0d\u0e37\u0e47", "\u0e10\u0e33\u0e38", "\u0e16\u0e33\u0e48\u0e39", "\u0e27\u0e36\u0e49\u0e39", "\u0e09\u0e49\u0e39", "\u0e1b\u0e37\u0e47\u0e39", "\u0e17\u0e33\u0e47\u0e3a", "\u0e02\u0e34\u0e38", "\u0e2b\u0e37\u0e47\u0e38", "\u0e15\u0e4b", "\u0e15\u0e35", "\u0e0a\u0e34\u0e4d\u0e38", "\u0e25\u0e34\u0e4d\u0e3a", "\u0e22\u0e31\u0e4a\u0e38", "\u0e27\u0e34\u0e4a", "\u0e1a\u0e33\u0e4e\u0e38", "\u0e1e\u0e31\u0e48\u0e3a", "\u0e0e\u0e36\u0e49\u0e39", "\u0e1f\u0e34\u0e48\u0e38", "\u0e28\u0e37\u0e4a", "\u0e07\u0e35\u0e47\u0e38", "\u0e03\u0e4e\u0e3a", "\u0e0c\u0e36\u0e4d\u0e39", "\u0e17\u0e31\u0e4a", "\u0e20\u0e36\u0e4a\u0e39", "\u0e01\u0e35\u0e4a", "\u0e2c\u0e4c\u0e38", "\u0e0f\u0e33\u0e47\u0e38", "\u0e0b\u0e37\u0e4c\u0e39", "\u0e1e\u0e31\u0e49\u0e38", "\u0e0f\u0e4b\u0e3a", "\u0e2b\u0e35\u0e4b\u0e38", "\u0e04\u0e34", "\u0e1b\u0e4c\u0e38", "\u0e03\u0e36\u0e49\u0e39", "\u0e2d\u0e35\u0e47", "\u0e17\u0e36\u0e4a\u0e39", "\u0e25\u0e33\u0e4c\u0e3a", "\u0e02\u0e47\u0e3a", "\u0e04\u0e31\u0e4c\u0e3a", "\u0e0c\u0e31\u0e4c\u0e3a", "\u0e08\u0e47", "\u0e1f\u0e33\u0e4b\u0e38", "\u0e09\u0e34\u0e4d\u0e3a", "\u0e04\u0e34\u0e4b", "\u0e2b\u0e35\u0e4b", "\u0e21\u0e33\u0e4e\u0e38", "\u0e10\u0e36\u0e4e", "\u0e10\u0e4e\u0e39", "\u0e25\u0e37\u0e4a\u0e39", "\u0e0b\u0e31\u0e4a\u0e38", "\u0e15\u0e34\u0e48\u0e38", "\u0e2d\u0e31\u0e4d", "\u0e21\u0e37", "\u0e1c\u0e35\u0e47\u0e38", "\u0e03\u0e34\u0e4c\u0e3a", "\u0e27\u0e37\u0e4e\u0e3a", "\u0e11\u0e37\u0e4e\u0e3a", "\u0e14\u0e35\u0e47\u0e3a", "\u0e1b\u0e37\u0e4c\u0e3a", "\u0e11\u0e4b\u0e39", "\u0e1a\u0e31\u0e4a\u0e3a", "\u0e2e\u0e34\u0e4d\u0e39", "\u0e13\u0e35\u0e4e", "\u0e25\u0e35\u0e48\u0e38", "\u0e2a\u0e36\u0e4c\u0e38", "\u0e1a\u0e33\u0e4b", "\u0e29\u0e37\u0e39", "\u0e0d\u0e31\u0e47\u0e38", "\u0e29\u0e35\u0e38", "\u0e2a\u0e36\u0e48\u0e38", "\u0e2a\u0e31\u0e4b\u0e3a", "\u0e1e", "\u0e10\u0e34\u0e47", "\u0e29\u0e34\u0e4a", "\u0e0c\u0e31\u0e4d\u0e39", "\u0e1a\u0e35\u0e48\u0e39", "\u0e2e\u0e33\u0e4e\u0e3a", "\u0e20\u0e33\u0e48", "\u0e15\u0e36\u0e4a\u0e3a", "\u0e0f\u0e35\u0e4a\u0e38", "\u0e13\u0e35\u0e4b", "\u0e1c\u0e47\u0e39", "\u0e23\u0e36\u0e48\u0e39", "\u0e20\u0e47\u0e38", "\u0e0d\u0e33\u0e4a", "\u0e11\u0e48\u0e39", "\u0e2d\u0e37\u0e4c\u0e38", "\u0e1f\u0e33\u0e38", "\u0e1b\u0e4a", "\u0e1d\u0e35\u0e4d\u0e38", "\u0e2d\u0e34\u0e4b\u0e38", "\u0e0b\u0e35\u0e48", "\u0e04\u0e47\u0e38", "\u0e1e\u0e37\u0e4e\u0e3a", "\u0e0b\u0e31", "\u0e0a\u0e35\u0e4d\u0e3a", "\u0e0f\u0e33\u0e4b", "\u0e2c\u0e49\u0e38", "\u0e1a\u0e34\u0e47", "\u0e21\u0e35\u0e48\u0e3a", "\u0e22\u0e36\u0e47", "\u0e15\u0e33\u0e4a", "\u0e0f\u0e34\u0e4e\u0e39", "\u0e13\u0e31\u0e49\u0e39", "\u0e2e\u0e4b\u0e38", "\u0e14\u0e33\u0e4c\u0e38", "\u0e1e\u0e37\u0e48", "\u0e14\u0e36\u0e4d\u0e39", "\u0e0e\u0e31\u0e4b\u0e3a", "\u0e0b\u0e37\u0e47\u0e3a", "\u0e28\u0e4c\u0e38", "\u0e27\u0e31\u0e49", "\u0e03\u0e35\u0e4e", "\u0e2e\u0e36\u0e4e", "\u0e28\u0e47\u0e39", "\u0e18\u0e31\u0e4c", "\u0e23\u0e31\u0e49\u0e38", "\u0e0d\u0e47", "\u0e0f\u0e35\u0e39", "\u0e25\u0e31\u0e47\u0e39", "\u0e21\u0e34\u0e47\u0e39", "\u0e04\u0e3a", "\u0e21\u0e4c\u0e39", "\u0e2d\u0e37\u0e4a\u0e3a", "\u0e1c\u0e37\u0e4d\u0e38", "\u0e19\u0e35\u0e4e", "\u0e17\u0e37\u0e39", "\u0e01\u0e31\u0e4d\u0e38", "\u0e1d\u0e4c", "\u0e21\u0e35\u0e4d", "\u0e11\u0e35\u0e4b\u0e3a", "\u0e15\u0e33\u0e4b\u0e38", "\u0e0d\u0e31\u0e4a\u0e39", "\u0e27\u0e33\u0e48\u0e3a", "\u0e1c\u0e35\u0e47\u0e3a", "\u0e2c\u0e34\u0e4b\u0e39", "\u0e04\u0e36\u0e3a", "\u0e2b\u0e34\u0e4b\u0e38", "\u0e12\u0e37\u0e39", "\u0e14\u0e47\u0e38", "\u0e2b\u0e35\u0e38", "\u0e23\u0e4a\u0e39", "\u0e13\u0e34\u0e4c\u0e39", "\u0e0f\u0e35\u0e4e", "\u0e25\u0e35\u0e4e\u0e3a", "\u0e16\u0e33\u0e4e", "\u0e16\u0e34\u0e4d\u0e38", "\u0e02\u0e47\u0e38", "\u0e1d\u0e37\u0e4b\u0e39", "\u0e14\u0e34\u0e4a\u0e3a", "\u0e29\u0e36\u0e48\u0e39", "\u0e10\u0e34\u0e47\u0e3a", "\u0e1b\u0e31\u0e47\u0e38", "\u0e1c\u0e39", "\u0e0c\u0e31\u0e4d", "\u0e25\u0e35\u0e4b", "\u0e0c\u0e36\u0e4e\u0e38", "\u0e15\u0e34\u0e4c\u0e3a", "\u0e22\u0e35\u0e47\u0e3a", "\u0e25\u0e35\u0e4d\u0e3a", "\u0e13\u0e34\u0e4b", "\u0e02\u0e31\u0e4b\u0e39", "\u0e0c\u0e31\u0e4e\u0e3a", "\u0e14\u0e36\u0e4e\u0e38", "\u0e13\u0e37\u0e49\u0e3a", "\u0e14\u0e33\u0e4e\u0e3a", "\u0e08\u0e37\u0e4c\u0e39", "\u0e2a\u0e36\u0e4d", "\u0e23\u0e36\u0e4c", "\u0e11\u0e33\u0e4e\u0e3a", "\u0e13\u0e49\u0e39", "\u0e2a\u0e36\u0e47\u0e39", "\u0e16\u0e36\u0e47\u0e38", "\u0e02\u0e35\u0e48", "\u0e2a\u0e4d\u0e3a", "\u0e0f\u0e37\u0e47", "\u0e15\u0e33\u0e4d\u0e38", "\u0e16\u0e34\u0e4a\u0e3a", "\u0e08\u0e4c\u0e39", "\u0e06\u0e35\u0e47\u0e3a", "\u0e1c\u0e33\u0e39", "\u0e22\u0e33\u0e49\u0e39", "\u0e0c\u0e33\u0e4a\u0e38", "\u0e18\u0e36\u0e4a\u0e38", "\u0e11\u0e37\u0e4a\u0e39", "\u0e08\u0e34\u0e48\u0e3a", "\u0e05\u0e37\u0e48\u0e38", "\u0e0a\u0e34\u0e4d\u0e39", "\u0e1f\u0e4a\u0e3a", "\u0e1c\u0e31\u0e47", "\u0e12\u0e31\u0e3a", "\u0e25\u0e35\u0e47", "\u0e1e\u0e37\u0e4a\u0e39", "\u0e14\u0e36\u0e49\u0e3a", "\u0e2e\u0e4b", "\u0e2a\u0e4e", "\u0e03\u0e48", "\u0e19\u0e4a\u0e39", "\u0e2c\u0e37\u0e48\u0e3a", "\u0e2b\u0e34\u0e48", "\u0e16\u0e33\u0e4b", "\u0e0c\u0e4d\u0e39", "\u0e11\u0e34\u0e48", "\u0e2e\u0e33\u0e4c\u0e39", "\u0e08\u0e36\u0e4a\u0e39", "\u0e1a\u0e37\u0e49\u0e39", "\u0e0d\u0e48\u0e38", "\u0e0e\u0e31\u0e48", "\u0e1c\u0e33\u0e4b\u0e38", "\u0e21\u0e48\u0e3a", "\u0e16\u0e4a\u0e39", "\u0e2c\u0e48\u0e3a", "\u0e19\u0e33\u0e4a", "\u0e05\u0e33\u0e4d\u0e38", "\u0e2e\u0e35\u0e39", "\u0e19\u0e34\u0e4e\u0e39", "\u0e09\u0e35\u0e47\u0e3a", "\u0e1c\u0e36\u0e4e\u0e3a", "\u0e25\u0e37", "\u0e07\u0e31\u0e4a\u0e39", "\u0e07\u0e31\u0e4e\u0e38", "\u0e12\u0e35\u0e4b\u0e39", "\u0e12\u0e36\u0e49\u0e38", "\u0e09\u0e34\u0e49\u0e38", "\u0e1c\u0e35\u0e49\u0e39", "\u0e08\u0e47\u0e39", "\u0e1d\u0e49\u0e39", "\u0e12", "\u0e12\u0e34\u0e4d", "\u0e06\u0e31\u0e48\u0e3a", "\u0e15\u0e36\u0e4d\u0e38", "\u0e15\u0e37\u0e4d\u0e39", "\u0e03\u0e37\u0e49\u0e38", "\u0e01\u0e48\u0e39", "\u0e2d\u0e33\u0e4a\u0e3a", "\u0e1b\u0e33\u0e48\u0e38", "\u0e17\u0e4d", "\u0e13\u0e34\u0e4c\u0e38", "\u0e09\u0e36\u0e4a\u0e38", "\u0e23\u0e37\u0e47\u0e39", "\u0e01\u0e37\u0e49\u0e3a", "\u0e0e\u0e35\u0e4b", "\u0e11\u0e34\u0e4a\u0e38", "\u0e0c\u0e37\u0e4d", "\u0e01\u0e37\u0e4c\u0e38", "\u0e09\u0e36\u0e38", "\u0e0b\u0e36\u0e4e\u0e38", "\u0e06\u0e37\u0e47", "\u0e1a\u0e31\u0e4e", "\u0e13\u0e37\u0e48\u0e3a", "\u0e25\u0e34\u0e49\u0e3a", "\u0e2a\u0e35\u0e4c\u0e3a", "\u0e1c\u0e33\u0e4a", "\u0e23\u0e37\u0e4e", "\u0e05\u0e33\u0e47", "\u0e0a\u0e49\u0e3a", "\u0e0a\u0e33\u0e48\u0e39", "\u0e25\u0e36\u0e4e\u0e38", "\u0e27\u0e36\u0e4d", "\u0e29\u0e34\u0e4c\u0e3a", "\u0e0b\u0e33\u0e47\u0e38", "\u0e22\u0e31\u0e49\u0e38", "\u0e0f\u0e33\u0e4d\u0e38", "\u0e0d\u0e37\u0e49\u0e39", "\u0e11\u0e31\u0e4a", "\u0e22\u0e33\u0e47\u0e3a", "\u0e21\u0e35\u0e47\u0e39", "\u0e04\u0e31\u0e49\u0e39", "\u0e13\u0e37\u0e4c", "\u0e02\u0e37\u0e49\u0e38", "\u0e0e\u0e31\u0e4d\u0e3a", "\u0e12\u0e35\u0e4d\u0e38", "\u0e28\u0e36\u0e4b\u0e3a", "\u0e19\u0e37\u0e4b\u0e38", "\u0e0e\u0e36\u0e4b\u0e39", "\u0e0a\u0e31\u0e4d", "\u0e2a\u0e37\u0e4d\u0e38", "\u0e1d\u0e37\u0e39", "\u0e19\u0e37\u0e49\u0e3a", "\u0e14\u0e36\u0e4e\u0e3a", "\u0e25\u0e47\u0e3a", "\u0e16\u0e36\u0e4d", "\u0e13\u0e31\u0e4c\u0e39", "\u0e27\u0e34\u0e48\u0e3a", "\u0e20\u0e31\u0e48", "\u0e28\u0e35\u0e47\u0e39", "\u0e1e\u0e31\u0e3a", "\u0e27\u0e37\u0e48", "\u0e27\u0e31\u0e4a\u0e38", "\u0e1d\u0e36\u0e48\u0e3a", "\u0e14\u0e36\u0e4e", "\u0e07\u0e37\u0e4c\u0e38", "\u0e13\u0e37\u0e4a\u0e38", "\u0e0f\u0e35\u0e4b", "\u0e2c\u0e36\u0e4b\u0e39", "\u0e02\u0e33\u0e4e\u0e39", "\u0e0a\u0e31\u0e4d\u0e39", "\u0e1e\u0e33\u0e4a\u0e39", "\u0e2b\u0e31\u0e47\u0e38", "\u0e0c\u0e34\u0e4c\u0e38", "\u0e17\u0e31\u0e3a", "\u0e12\u0e34\u0e49\u0e38", "\u0e2c\u0e35\u0e47", "\u0e06\u0e31\u0e49", "\u0e08\u0e35\u0e4e", "\u0e07\u0e34\u0e4b\u0e3a", "\u0e1a\u0e37\u0e4d\u0e38", "\u0e09\u0e34", "\u0e13\u0e35\u0e4e\u0e39", "\u0e27\u0e34\u0e39", "\u0e1a\u0e36\u0e49\u0e39", "\u0e0a\u0e37\u0e4e\u0e38", "\u0e03\u0e37\u0e4e\u0e39", "\u0e1b\u0e33\u0e4c", "\u0e05\u0e48\u0e39", "\u0e23\u0e35\u0e4e", "\u0e06\u0e34\u0e47\u0e38", "\u0e18\u0e31\u0e4a\u0e39", "\u0e07\u0e37\u0e4a\u0e39", "\u0e04\u0e37\u0e4a\u0e39", "\u0e10\u0e35\u0e47\u0e38", "\u0e0f\u0e31\u0e48\u0e3a", "\u0e10\u0e33\u0e4d\u0e3a", "\u0e01\u0e36\u0e49\u0e38", "\u0e25\u0e31\u0e49", "\u0e28\u0e33\u0e4a\u0e3a", "\u0e1a\u0e35\u0e4a\u0e38", "\u0e13\u0e35\u0e4d", "\u0e2b\u0e37\u0e48\u0e38", "\u0e21\u0e35\u0e47\u0e3a", "\u0e10\u0e33", "\u0e1c\u0e36\u0e48\u0e39", "\u0e2a\u0e4d\u0e38", "\u0e14\u0e37\u0e49\u0e39", "\u0e1c\u0e34\u0e4c\u0e3a", "\u0e28\u0e47\u0e38", "\u0e2c\u0e4a\u0e3a", "\u0e12\u0e37\u0e48\u0e3a", "\u0e1f\u0e31\u0e4a\u0e38", "\u0e15\u0e36\u0e49\u0e38", "\u0e22\u0e49\u0e3a", "\u0e05\u0e37\u0e4d\u0e3a", "\u0e2b\u0e31\u0e4e", "\u0e14\u0e33\u0e47\u0e39", "\u0e22\u0e36\u0e4d", "\u0e1f\u0e35\u0e4a\u0e38", "\u0e2d\u0e36\u0e4a\u0e39", "\u0e0b\u0e31\u0e4d\u0e38", "\u0e17\u0e35\u0e3a", "\u0e08\u0e31\u0e4d\u0e38", "\u0e20\u0e34\u0e4c\u0e3a", "\u0e27\u0e33\u0e39", "\u0e22\u0e4d\u0e39", "\u0e29\u0e36\u0e4a\u0e3a", "\u0e28\u0e31\u0e38", "\u0e14\u0e36\u0e38", "\u0e0c\u0e33\u0e4b\u0e3a", "\u0e12\u0e33\u0e47\u0e38", "\u0e2a\u0e35\u0e4c", "\u0e1a\u0e37\u0e47\u0e3a", "\u0e0f\u0e4a", "\u0e04\u0e37\u0e47", "\u0e2a\u0e35", "\u0e08\u0e35\u0e47\u0e3a", "\u0e14\u0e37\u0e4d\u0e39", "\u0e1e\u0e34\u0e47", "\u0e0c\u0e49\u0e39", "\u0e06\u0e37\u0e48", "\u0e2e\u0e48\u0e39", "\u0e02\u0e4b\u0e3a", "\u0e07\u0e4e", "\u0e2c\u0e35\u0e4a\u0e38", "\u0e01\u0e48\u0e3a", "\u0e18\u0e33\u0e38", "\u0e25\u0e35\u0e48\u0e3a", "\u0e05\u0e4b\u0e39", "\u0e0a\u0e36\u0e4d\u0e38", "\u0e0f\u0e37\u0e4a\u0e3a", "\u0e14\u0e37\u0e48\u0e39", "\u0e1b\u0e31\u0e4a\u0e38", "\u0e10\u0e36\u0e4b\u0e39", "\u0e05\u0e33\u0e47\u0e39", "\u0e17\u0e35\u0e4b\u0e3a", "\u0e29\u0e3a", "\u0e1d", "\u0e05\u0e36\u0e4c\u0e3a", "\u0e0d\u0e36\u0e47\u0e3a", "\u0e15\u0e35\u0e4b\u0e38", "\u0e11\u0e34\u0e4b\u0e39", "\u0e07\u0e36\u0e47\u0e3a", "\u0e1e\u0e36\u0e48\u0e3a", "\u0e19\u0e31\u0e49\u0e39", "\u0e14\u0e4d", "\u0e07\u0e4b\u0e3a", "\u0e06\u0e34\u0e4d\u0e38", "\u0e0f\u0e34\u0e4c", "\u0e2c\u0e33\u0e47\u0e38", "\u0e16\u0e47", "\u0e1b\u0e36\u0e4d\u0e39", "\u0e2e\u0e37\u0e4c\u0e3a", "\u0e06\u0e31\u0e4b\u0e38", "\u0e2b\u0e49\u0e39", "\u0e1d\u0e33\u0e4a\u0e3a", "\u0e22", "\u0e03\u0e37\u0e4b\u0e39", "\u0e0a\u0e37\u0e39", "\u0e01\u0e35\u0e4d", "\u0e03\u0e33\u0e4e\u0e39", "\u0e02\u0e31\u0e4b\u0e3a", "\u0e04\u0e36\u0e49", "\u0e09\u0e34\u0e4e\u0e38", "\u0e2e\u0e4c\u0e38", "\u0e05\u0e34\u0e4a\u0e3a", "\u0e2a\u0e31\u0e4c\u0e3a", "\u0e01\u0e4d\u0e38", "\u0e01\u0e33\u0e47", "\u0e07\u0e37\u0e4c\u0e3a", "\u0e03\u0e35\u0e4a\u0e38", "\u0e2a\u0e35\u0e4b\u0e39", "\u0e25\u0e4b\u0e38", "\u0e09\u0e37\u0e48\u0e38", "\u0e2d\u0e37\u0e48\u0e3a", "\u0e1f\u0e34\u0e4c\u0e38", "\u0e16\u0e36\u0e38", "\u0e0f\u0e47\u0e3a", "\u0e27\u0e37\u0e49\u0e3a", "\u0e05\u0e37\u0e4b\u0e38", "\u0e0c\u0e34\u0e4a\u0e38", "\u0e05\u0e37\u0e4e", "\u0e18\u0e36\u0e4e\u0e39", "\u0e25\u0e33\u0e4d\u0e39", "\u0e06\u0e3a", "\u0e19\u0e4c\u0e38", "\u0e05\u0e33\u0e38", "\u0e0f\u0e4a\u0e39", "\u0e02\u0e33\u0e47\u0e38", "\u0e2e\u0e36\u0e49\u0e38", "\u0e03\u0e33\u0e49\u0e39", "\u0e28\u0e35\u0e48", "\u0e09\u0e33\u0e4b\u0e38", "\u0e17\u0e4a", "\u0e0c\u0e35\u0e48", "\u0e1a\u0e4b\u0e38", "\u0e14\u0e37\u0e48", "\u0e1c\u0e37\u0e4b\u0e3a", "\u0e0f\u0e34\u0e4c\u0e3a", "\u0e2e\u0e33\u0e38", "\u0e04\u0e37\u0e4b\u0e38", "\u0e14\u0e33\u0e4b\u0e3a", "\u0e21\u0e34\u0e48\u0e38", "\u0e04\u0e36", "\u0e1f\u0e31\u0e4b\u0e39", "\u0e0d\u0e37\u0e4b\u0e39", "\u0e23\u0e37\u0e4b\u0e39", "\u0e1d\u0e35\u0e4c\u0e3a", "\u0e1a\u0e37\u0e39", "\u0e05\u0e35", "\u0e13\u0e36\u0e4b", "\u0e1e\u0e36\u0e4c\u0e3a", "\u0e1c\u0e33\u0e4b", "\u0e2a\u0e37\u0e48\u0e38", "\u0e1b\u0e34\u0e4a", "\u0e29\u0e47", "\u0e10\u0e33\u0e48\u0e38", "\u0e1b\u0e37\u0e4d\u0e38", "\u0e04\u0e38", "\u0e20\u0e31\u0e4b\u0e38", "\u0e17\u0e34\u0e4d\u0e3a", "\u0e01\u0e34\u0e4b\u0e39", "\u0e22\u0e35\u0e4e\u0e39", "\u0e0c\u0e4d", "\u0e2c\u0e37\u0e4a", "\u0e2b\u0e35\u0e4d", "\u0e17\u0e37\u0e4d\u0e38", "\u0e05\u0e37\u0e39", "\u0e2c\u0e31\u0e49\u0e3a", "\u0e15\u0e39", "\u0e21\u0e4d\u0e39", "\u0e0f\u0e35\u0e48", "\u0e09\u0e34\u0e47\u0e3a", "\u0e14\u0e49\u0e38", "\u0e23\u0e3a", "\u0e21\u0e33\u0e4c\u0e3a", "\u0e08\u0e31\u0e4a\u0e38", "\u0e0a\u0e34\u0e47\u0e38", "\u0e0a\u0e35\u0e39", "\u0e25\u0e3a", "\u0e1b\u0e34\u0e48", "\u0e01\u0e31\u0e4e\u0e38", "\u0e0f\u0e35\u0e48\u0e3a", "\u0e27\u0e37\u0e47\u0e3a", "\u0e22\u0e35\u0e48\u0e38", "\u0e16\u0e37\u0e4c", "\u0e1a\u0e47", "\u0e1a\u0e35\u0e4b", "\u0e01\u0e33\u0e4a", "\u0e1b\u0e36\u0e4d\u0e3a", "\u0e14\u0e37\u0e4d\u0e3a", "\u0e0c\u0e33\u0e4a\u0e3a", "\u0e0c\u0e35\u0e47\u0e39", "\u0e2d\u0e34\u0e47", "\u0e1b\u0e35\u0e4c\u0e3a", "\u0e17\u0e3a", "\u0e02\u0e34\u0e47", "\u0e1d\u0e31\u0e47\u0e3a", "\u0e28\u0e33\u0e4e", "\u0e1d\u0e47\u0e3a", "\u0e08\u0e35\u0e48\u0e39", "\u0e2b\u0e33\u0e47\u0e38", "\u0e12\u0e36\u0e4b\u0e39", "\u0e17\u0e36\u0e4d", "\u0e27\u0e35\u0e39", "\u0e0a\u0e34\u0e3a", "\u0e01\u0e37\u0e4a\u0e3a", "\u0e0e\u0e35\u0e4a\u0e39", "\u0e08\u0e37\u0e49", "\u0e2c\u0e35\u0e49\u0e3a", "\u0e0e\u0e33\u0e4a\u0e3a", "\u0e28\u0e36\u0e4d\u0e38", "\u0e2b\u0e34\u0e38", "\u0e12\u0e36\u0e38", "\u0e1c\u0e4a\u0e38", "\u0e2b\u0e36\u0e48\u0e38", "\u0e12\u0e36\u0e4a\u0e39", "\u0e04\u0e4c\u0e38", "\u0e16\u0e37\u0e4e\u0e38", "\u0e21\u0e4d", "\u0e06\u0e39", "\u0e1d\u0e4e\u0e38", "\u0e29\u0e37\u0e49", "\u0e0f\u0e36\u0e4b\u0e38", "\u0e1e\u0e34\u0e4d\u0e39", "\u0e29\u0e36\u0e4d\u0e38", "\u0e1a\u0e31\u0e4a\u0e38", "\u0e09\u0e31\u0e4c\u0e3a", "\u0e17\u0e36\u0e4d\u0e39", "\u0e09\u0e39", "\u0e16\u0e34\u0e4e\u0e38", "\u0e16\u0e31\u0e4d\u0e3a", "\u0e03\u0e31\u0e49\u0e3a", "\u0e06\u0e33\u0e48\u0e38", "\u0e05\u0e35\u0e48\u0e39", "\u0e1f\u0e31\u0e4c\u0e39", "\u0e18\u0e37\u0e47\u0e39", "\u0e09\u0e35\u0e4d", "\u0e05\u0e35\u0e4a\u0e38", "\u0e19\u0e34\u0e4c\u0e39", "\u0e03\u0e3a", "\u0e2b\u0e33\u0e39", "\u0e1f\u0e34\u0e47\u0e3a", "\u0e1d\u0e33\u0e49\u0e3a", "\u0e0b\u0e34", "\u0e06\u0e37\u0e4d\u0e39", "\u0e1e\u0e37\u0e4c", "\u0e2b\u0e36\u0e49\u0e39", "\u0e0a\u0e37\u0e4b\u0e38", "\u0e25\u0e37\u0e4b\u0e39", "\u0e1b\u0e33\u0e4d\u0e38", "\u0e1f\u0e33\u0e49\u0e38", "\u0e20\u0e34\u0e4d", "\u0e2d\u0e3a", "\u0e05\u0e37\u0e4e\u0e38", "\u0e08\u0e31\u0e4b", "\u0e03\u0e36\u0e4c\u0e39", "\u0e08\u0e33\u0e4d", "\u0e1d\u0e4b\u0e3a", "\u0e11\u0e33\u0e4e\u0e38", "\u0e15\u0e37\u0e4c", "\u0e04\u0e36\u0e47\u0e3a", "\u0e13\u0e37\u0e49\u0e39", "\u0e03\u0e34\u0e48\u0e38", "\u0e2c\u0e31\u0e3a", "\u0e18\u0e34\u0e47", "\u0e1e\u0e48", "\u0e19\u0e35\u0e49", "\u0e2a\u0e37\u0e4a\u0e39", "\u0e08\u0e37\u0e4b", "\u0e1e\u0e35", "\u0e08\u0e35\u0e4d\u0e3a", "\u0e0f\u0e4b\u0e38", "\u0e2a\u0e36\u0e4e\u0e39", "\u0e1e\u0e34\u0e3a", "\u0e29\u0e37\u0e4d\u0e39", "\u0e29\u0e36\u0e39", "\u0e1c\u0e3a", "\u0e1b\u0e47\u0e3a", "\u0e0b\u0e37\u0e4a\u0e38", "\u0e02\u0e34\u0e49", "\u0e02\u0e36\u0e3a", "\u0e04\u0e49\u0e38", "\u0e15\u0e49\u0e39", "\u0e2e\u0e33\u0e47", "\u0e08\u0e33\u0e4a", "\u0e06\u0e31", "\u0e23\u0e4a", "\u0e13\u0e35\u0e47\u0e39", "\u0e04\u0e34\u0e4b\u0e38", "\u0e0c\u0e37\u0e48\u0e38", "\u0e03\u0e37\u0e48", "\u0e10\u0e33\u0e49\u0e38", "\u0e07\u0e37\u0e4a\u0e3a", "\u0e0e\u0e33\u0e4e\u0e39", "\u0e0a\u0e35", "\u0e1e\u0e33\u0e4d\u0e38", "\u0e0e\u0e34\u0e47", "\u0e0d\u0e36\u0e38", "\u0e23\u0e37\u0e4c\u0e38", "\u0e2c\u0e31\u0e4c", "\u0e23\u0e36\u0e47", "\u0e20\u0e34\u0e4a", "\u0e1e\u0e31\u0e4c\u0e38", "\u0e23\u0e35\u0e39", "\u0e1c\u0e34\u0e4b\u0e39", "\u0e21\u0e36\u0e4a\u0e3a", "\u0e20\u0e34\u0e47\u0e39", "\u0e2c\u0e3a", "\u0e12\u0e37\u0e47", "\u0e1b\u0e31", "\u0e20\u0e36\u0e47\u0e3a", "\u0e1c\u0e33\u0e48\u0e39", "\u0e0a\u0e33\u0e38", "\u0e13\u0e36\u0e47", "\u0e05\u0e34\u0e48\u0e38", "\u0e11\u0e34\u0e3a", "\u0e1a\u0e36\u0e4a\u0e3a", "\u0e1d\u0e37\u0e4a", "\u0e09\u0e31\u0e49\u0e39", "\u0e23\u0e34\u0e4b\u0e3a", "\u0e0c\u0e48\u0e38", "\u0e03\u0e31\u0e4e\u0e39", "\u0e02\u0e36\u0e4e\u0e39", "\u0e19\u0e35\u0e4a\u0e39", "\u0e05\u0e35\u0e4e\u0e3a", "\u0e2e\u0e31\u0e4e\u0e3a", "\u0e1d\u0e33\u0e4b\u0e39", "\u0e0e\u0e33\u0e47\u0e38", "\u0e0d\u0e37\u0e4d\u0e3a", "\u0e2c\u0e35\u0e4b\u0e3a", "\u0e2d\u0e33\u0e4e\u0e3a", "\u0e2b\u0e33\u0e49\u0e3a", "\u0e0f\u0e35\u0e4d\u0e3a", "\u0e19\u0e31\u0e48\u0e3a", "\u0e13\u0e33\u0e47\u0e3a", "\u0e1b\u0e36\u0e4c\u0e3a", "\u0e14\u0e37\u0e47\u0e39", "\u0e2e\u0e31\u0e4b", "\u0e06\u0e36\u0e4a\u0e3a", "\u0e01\u0e49", "\u0e1f\u0e36\u0e4b\u0e39", "\u0e11\u0e36\u0e49", "\u0e2c\u0e31\u0e4e", "\u0e2e\u0e33\u0e49\u0e39", "\u0e1f\u0e35\u0e4c\u0e3a", "\u0e21\u0e4e", "\u0e17\u0e39", "\u0e1b\u0e35\u0e48\u0e3a", "\u0e08\u0e31\u0e4d\u0e3a", "\u0e1e\u0e37\u0e39", "\u0e2a\u0e35\u0e49\u0e38", "\u0e23\u0e31\u0e47\u0e39", "\u0e1d\u0e33\u0e4a\u0e38", "\u0e08\u0e35\u0e4b\u0e38", "\u0e10\u0e37\u0e4b\u0e3a", "\u0e06\u0e34\u0e49", "\u0e03\u0e36\u0e4e", "\u0e23\u0e34\u0e4c\u0e38", "\u0e0c\u0e36\u0e4a\u0e38", "\u0e0e\u0e31\u0e49", "\u0e21\u0e4c", "\u0e1d\u0e33\u0e48", "\u0e07\u0e37\u0e47", "\u0e22\u0e33\u0e4d\u0e39", "\u0e28\u0e33\u0e49\u0e3a", "\u0e1c\u0e37\u0e4b\u0e38", "\u0e27\u0e34\u0e4e\u0e38", "\u0e23\u0e37\u0e49\u0e3a", "\u0e23\u0e37", "\u0e2b\u0e37\u0e3a", "\u0e1f\u0e33\u0e4c\u0e39", "\u0e25\u0e34\u0e38", "\u0e01\u0e33\u0e4c\u0e39", "\u0e0b\u0e36\u0e48\u0e38", "\u0e19\u0e31\u0e4e\u0e38", "\u0e22\u0e35\u0e47\u0e38", "\u0e07\u0e37\u0e4a", "\u0e0c\u0e33\u0e4d\u0e39", "\u0e15\u0e34\u0e39", "\u0e07\u0e4d\u0e39", "\u0e0e\u0e36\u0e4d\u0e39", "\u0e28\u0e35\u0e47\u0e38", "\u0e1d\u0e35\u0e48\u0e3a", "\u0e0f\u0e49", "\u0e1b\u0e4b", "\u0e0e\u0e39", "\u0e17\u0e34\u0e4c", "\u0e06\u0e37\u0e4c", "\u0e2c\u0e33\u0e4b", "\u0e02\u0e31\u0e47\u0e3a", "\u0e02\u0e33\u0e4c\u0e3a", "\u0e15\u0e36\u0e48", "\u0e0d\u0e33\u0e4b", "\u0e15\u0e35\u0e47\u0e3a", "\u0e15\u0e31\u0e4d\u0e38", "\u0e09\u0e36\u0e4d\u0e38", "\u0e2c\u0e31\u0e48\u0e39", "\u0e2c\u0e37\u0e47\u0e3a", "\u0e09\u0e4c\u0e3a", "\u0e21\u0e35\u0e47", "\u0e15\u0e4a\u0e38", "\u0e10\u0e4d\u0e3a", "\u0e13\u0e34\u0e47\u0e38", "\u0e0e\u0e34\u0e47\u0e3a", "\u0e0d\u0e49", "\u0e2b\u0e31\u0e4d\u0e39", "\u0e16\u0e31\u0e47\u0e39", "\u0e27\u0e34\u0e4a\u0e3a", "\u0e0d\u0e34\u0e48\u0e38", "\u0e06\u0e37\u0e4c\u0e38", "\u0e04\u0e33\u0e4e\u0e3a", "\u0e16\u0e35\u0e4a\u0e38", "\u0e21\u0e36\u0e4d\u0e3a", "\u0e09\u0e35\u0e39", "\u0e19\u0e31\u0e39", "\u0e11\u0e34\u0e4a\u0e3a", "\u0e29\u0e37\u0e4c\u0e38", "\u0e0b\u0e34\u0e4e\u0e3a", "\u0e1b", "\u0e10\u0e37\u0e4c\u0e38", "\u0e2b\u0e36\u0e4b", "\u0e14\u0e31\u0e4c\u0e38", "\u0e1e\u0e34\u0e47\u0e39", "\u0e0f\u0e47", "\u0e19\u0e35\u0e4a\u0e3a", "\u0e13\u0e33\u0e47\u0e39", "\u0e14\u0e34\u0e47\u0e39", "\u0e2e\u0e35\u0e38", "\u0e1d\u0e31\u0e49\u0e38", "\u0e2d\u0e31\u0e4e\u0e3a", "\u0e18\u0e33\u0e4c\u0e3a", "\u0e1a\u0e36\u0e4b\u0e38", "\u0e1f\u0e35\u0e4d", "\u0e05\u0e4e\u0e38", "\u0e10\u0e35\u0e49", "\u0e29\u0e35\u0e4c\u0e38", "\u0e21\u0e31\u0e47\u0e38", "\u0e05\u0e35\u0e4c\u0e38", "\u0e25\u0e34\u0e4d\u0e39", "\u0e22\u0e35\u0e4a\u0e38", "\u0e07\u0e36\u0e4a\u0e38", "\u0e28\u0e36\u0e38", "\u0e1b\u0e4a\u0e39", "\u0e13\u0e4d\u0e3a", "\u0e0f\u0e36\u0e4a\u0e39", "\u0e05\u0e33", "\u0e04\u0e33\u0e4a\u0e3a", "\u0e05\u0e34\u0e3a", "\u0e23\u0e36\u0e49\u0e3a", "\u0e17\u0e4e\u0e3a", "\u0e2c\u0e31\u0e47", "\u0e2a\u0e37\u0e4b", "\u0e06\u0e35\u0e39", "\u0e22\u0e33\u0e3a", "\u0e2a\u0e34\u0e47", "\u0e10\u0e33\u0e4e\u0e39", "\u0e13\u0e34\u0e4b\u0e3a", "\u0e22\u0e3a", "\u0e0a\u0e31", "\u0e03\u0e35\u0e47", "\u0e07\u0e33\u0e4c\u0e3a", "\u0e2c\u0e37\u0e4b\u0e3a", "\u0e12\u0e34\u0e47\u0e3a", "\u0e09\u0e36\u0e47\u0e39", "\u0e13\u0e31\u0e4c\u0e38", "\u0e11\u0e37\u0e3a", "\u0e2e\u0e37\u0e48\u0e39", "\u0e28\u0e35\u0e48\u0e3a", "\u0e29\u0e4b\u0e39", "\u0e1f\u0e48", "\u0e13\u0e4b\u0e3a", "\u0e1a\u0e36\u0e39", "\u0e0e\u0e48", "\u0e29\u0e37\u0e47\u0e38", "\u0e23\u0e35\u0e3a", "\u0e21\u0e35\u0e4a\u0e3a", "\u0e01\u0e33\u0e4e\u0e3a", "\u0e1a\u0e36\u0e4e\u0e3a", "\u0e0e\u0e35\u0e39", "\u0e18\u0e36\u0e47", "\u0e17\u0e34\u0e4b\u0e38", "\u0e1a\u0e33\u0e48\u0e39", "\u0e17\u0e36\u0e38", "\u0e10\u0e31\u0e4b\u0e39", "\u0e29\u0e4c\u0e38", "\u0e1d\u0e31\u0e4e\u0e39", "\u0e2c\u0e31\u0e47\u0e39", "\u0e25\u0e48\u0e3a", "\u0e03\u0e4a\u0e39", "\u0e28\u0e37\u0e4d\u0e3a", "\u0e0d\u0e34\u0e4a\u0e3a", "\u0e02\u0e33\u0e4d\u0e3a", "\u0e1f\u0e33\u0e47\u0e39", "\u0e01\u0e31\u0e38", "\u0e0f\u0e34\u0e47", "\u0e1d\u0e37\u0e47\u0e3a", "\u0e25\u0e34\u0e4b\u0e3a", "\u0e12\u0e34\u0e4e\u0e38", "\u0e17\u0e35\u0e38", "\u0e0d\u0e33\u0e47\u0e38", "\u0e2b\u0e36\u0e4d", "\u0e1e\u0e48\u0e39", "\u0e09\u0e33\u0e4b\u0e3a", "\u0e19\u0e31\u0e47\u0e38", "\u0e17\u0e36\u0e48\u0e38", "\u0e2a\u0e31\u0e4d", "\u0e1a\u0e31\u0e49\u0e3a", "\u0e09\u0e36\u0e4a\u0e3a", "\u0e27\u0e33\u0e4d\u0e39", "\u0e2a\u0e37\u0e47\u0e3a", "\u0e28\u0e37\u0e4e\u0e38", "\u0e04\u0e36\u0e4e", "\u0e03\u0e49\u0e39", "\u0e01\u0e33\u0e4b", "\u0e05\u0e31\u0e4d", "\u0e19\u0e33\u0e4d", "\u0e27\u0e35\u0e4e\u0e3a", "\u0e01\u0e33\u0e39", "\u0e16\u0e36\u0e4b\u0e38", "\u0e0b\u0e37\u0e49\u0e39", "\u0e11\u0e35\u0e4d\u0e3a", "\u0e11\u0e33\u0e3a", "\u0e07\u0e36\u0e4c\u0e39", "\u0e18\u0e34\u0e49\u0e39", "\u0e28\u0e37\u0e47\u0e3a", "\u0e08\u0e31\u0e4a", "\u0e27\u0e33\u0e4c\u0e38", "\u0e2c\u0e36\u0e38", "\u0e2b\u0e36\u0e47", "\u0e29\u0e4b\u0e3a", "\u0e08\u0e34\u0e4c\u0e38", "\u0e1a\u0e37\u0e4b\u0e3a", "\u0e0f\u0e35\u0e38", "\u0e2d\u0e31\u0e4a", "\u0e2d\u0e34\u0e4c", "\u0e1f\u0e36\u0e4d", "\u0e16\u0e37\u0e47\u0e39", "\u0e15\u0e35\u0e4c\u0e3a", "\u0e2b\u0e37\u0e47", "\u0e0c\u0e34\u0e38", "\u0e2c\u0e34\u0e47\u0e38", "\u0e08\u0e37\u0e3a", "\u0e0b\u0e4c\u0e3a", "\u0e06\u0e31\u0e48", "\u0e1e\u0e4b\u0e3a", "\u0e09\u0e37\u0e47\u0e38", "\u0e17\u0e36\u0e4d\u0e38", "\u0e17\u0e47\u0e38", "\u0e1d\u0e34\u0e4a\u0e38", "\u0e07\u0e36\u0e47\u0e39", "\u0e15\u0e36\u0e38", "\u0e22\u0e4e\u0e38", "\u0e28\u0e33\u0e4c\u0e38", "\u0e09\u0e37\u0e4c\u0e39", "\u0e13\u0e36\u0e4d\u0e38", "\u0e28\u0e34\u0e49\u0e39", "\u0e2e\u0e33\u0e4d\u0e39", "\u0e1b\u0e33\u0e4b\u0e3a", "\u0e19\u0e34\u0e4e\u0e38", "\u0e08\u0e36\u0e48", "\u0e1f\u0e37\u0e49\u0e38", "\u0e10\u0e33\u0e47", "\u0e21\u0e36\u0e49\u0e38", "\u0e0d\u0e35\u0e4c", "\u0e0d\u0e33\u0e48", "\u0e04\u0e33\u0e48\u0e39", "\u0e28\u0e34\u0e49\u0e38", "\u0e0e\u0e37\u0e47\u0e3a", "\u0e0d\u0e31\u0e4d\u0e39", "\u0e18\u0e31\u0e4c\u0e39", "\u0e18\u0e37\u0e3a", "\u0e22\u0e31\u0e4c", "\u0e13\u0e35\u0e4a\u0e38", "\u0e2b\u0e35\u0e4c\u0e39", "\u0e25\u0e35\u0e39", "\u0e13\u0e31\u0e4a\u0e38", "\u0e01\u0e36\u0e4b\u0e3a", "\u0e2d\u0e37\u0e47\u0e38", "\u0e2d\u0e33\u0e48\u0e39", "\u0e1f\u0e4b\u0e3a", "\u0e02\u0e34\u0e39", "\u0e1d\u0e33\u0e48\u0e38", "\u0e27\u0e34\u0e47\u0e3a", "\u0e0d\u0e36\u0e4b\u0e3a", "\u0e25\u0e36\u0e4b\u0e3a", "\u0e2e\u0e48", "\u0e01\u0e34\u0e4e\u0e39", "\u0e1b\u0e36\u0e4e\u0e38", "\u0e06\u0e37\u0e38", "\u0e1b\u0e36\u0e4c\u0e39", "\u0e02\u0e36\u0e49\u0e39", "\u0e04\u0e35\u0e4a\u0e38", "\u0e09\u0e37\u0e38", "\u0e1f\u0e37\u0e4c\u0e3a", "\u0e29\u0e35\u0e4e\u0e3a", "\u0e1b\u0e4a\u0e3a", "\u0e18\u0e37\u0e49\u0e38", "\u0e2a\u0e34\u0e47\u0e38", "\u0e1b\u0e36\u0e3a", "\u0e07\u0e31\u0e4c\u0e39", "\u0e0a\u0e35\u0e48", "\u0e16\u0e36\u0e49\u0e39", "\u0e14\u0e33\u0e4c", "\u0e03\u0e37\u0e4c", "\u0e09\u0e31\u0e47\u0e39", "\u0e18\u0e49\u0e3a", "\u0e2e\u0e49\u0e3a", "\u0e02\u0e36\u0e47", "\u0e29\u0e4a\u0e39", "\u0e0f\u0e31\u0e4e\u0e3a", "\u0e23\u0e4d\u0e38", "\u0e05\u0e35\u0e49\u0e38", "\u0e17\u0e31\u0e4b\u0e38", "\u0e2d\u0e37\u0e49\u0e39", "\u0e0d\u0e3a", "\u0e2d\u0e36\u0e4c", "\u0e0a\u0e4b\u0e39", "\u0e1f\u0e34\u0e4e", "\u0e03\u0e31\u0e48\u0e38", "\u0e03\u0e34\u0e4b\u0e39", "\u0e08\u0e36\u0e4e\u0e39", "\u0e07\u0e4c\u0e39", "\u0e07\u0e35\u0e4b", "\u0e16\u0e49\u0e39", "\u0e15\u0e34\u0e4c", "\u0e18\u0e33\u0e4a", "\u0e20\u0e33\u0e4b\u0e38", "\u0e0c\u0e37\u0e4b\u0e38", "\u0e1a\u0e35\u0e39", "\u0e03\u0e34\u0e47\u0e38", "\u0e28\u0e4e\u0e38", "\u0e10\u0e33\u0e4e\u0e38", "\u0e02\u0e34\u0e47\u0e3a", "\u0e15\u0e33", "\u0e08\u0e37\u0e48", "\u0e25\u0e34\u0e48\u0e38", "\u0e09\u0e36\u0e48\u0e39", "\u0e1b\u0e36\u0e4a\u0e39", "\u0e11\u0e31\u0e4d", "\u0e07\u0e37\u0e4e\u0e38", "\u0e13\u0e34\u0e47", "\u0e07\u0e34\u0e4c\u0e39", "\u0e07\u0e38", "\u0e27\u0e36\u0e4d\u0e3a", "\u0e04\u0e35\u0e47", "\u0e0d\u0e31\u0e49", "\u0e25\u0e37\u0e4a\u0e3a", "\u0e0d\u0e35\u0e49", "\u0e06\u0e31\u0e4b\u0e3a", "\u0e0b\u0e37\u0e47\u0e38", "\u0e12\u0e33\u0e4d\u0e38", "\u0e13\u0e34\u0e49\u0e3a", "\u0e0e\u0e34\u0e4e\u0e39", "\u0e0d\u0e31\u0e39", "\u0e14\u0e31\u0e47\u0e38", "\u0e28\u0e31\u0e3a", "\u0e12\u0e31\u0e4e", "\u0e14\u0e35\u0e48", "\u0e17\u0e35\u0e49", "\u0e09\u0e4b\u0e3a", "\u0e1f\u0e37\u0e4d", "\u0e04\u0e36\u0e4d\u0e39", "\u0e19\u0e31", "\u0e16\u0e34\u0e4b\u0e3a", "\u0e29\u0e37\u0e49\u0e3a", "\u0e1d\u0e31\u0e4b\u0e3a", "\u0e10\u0e39", "\u0e0a\u0e33\u0e49\u0e38", "\u0e1a\u0e31\u0e47\u0e3a", "\u0e19\u0e35\u0e48", "\u0e2a\u0e31\u0e4d\u0e39", "\u0e16\u0e35\u0e48\u0e3a", "\u0e19\u0e33\u0e47\u0e39", "\u0e28\u0e36\u0e47\u0e38", "\u0e28\u0e37\u0e4a\u0e39", "\u0e0f\u0e4d", "\u0e20\u0e49\u0e38", "\u0e16\u0e31\u0e4e", "\u0e1f\u0e36\u0e4a\u0e38", "\u0e22\u0e34\u0e4d\u0e39", "\u0e21\u0e33\u0e4c\u0e39", "\u0e0f\u0e36\u0e4e\u0e38", "\u0e17\u0e4a\u0e39", "\u0e10\u0e4d", "\u0e1a\u0e37", "\u0e1d\u0e33\u0e47\u0e39", "\u0e1b\u0e37\u0e4a\u0e39", "\u0e2e\u0e35\u0e4e\u0e38", "\u0e10\u0e33\u0e4b", "\u0e28\u0e3a", "\u0e19\u0e34\u0e4b\u0e39", "\u0e02\u0e4a\u0e38", "\u0e17\u0e4d\u0e39", "\u0e27\u0e37\u0e3a", "\u0e11\u0e4e\u0e38", "\u0e14\u0e4c", "\u0e1a\u0e31\u0e47\u0e39", "\u0e09\u0e4b\u0e39", "\u0e20\u0e34\u0e4b\u0e3a", "\u0e1e\u0e34\u0e4e\u0e3a", "\u0e0e\u0e34\u0e48", "\u0e07\u0e35\u0e49\u0e3a", "\u0e0e\u0e33\u0e4b", "\u0e1a\u0e31\u0e48\u0e3a", "\u0e17\u0e35\u0e4b\u0e38", "\u0e02\u0e36\u0e4a\u0e39", "\u0e13\u0e35\u0e4d\u0e38", "\u0e1d\u0e31\u0e4c\u0e38", "\u0e2b\u0e33\u0e4c\u0e39", "\u0e28\u0e37\u0e4c\u0e38", "\u0e2b\u0e33\u0e4b\u0e3a", "\u0e20\u0e4d", "\u0e05\u0e35\u0e4b", "\u0e2d\u0e34\u0e48\u0e39", "\u0e18\u0e33\u0e48\u0e38", "\u0e01\u0e36\u0e3a", "\u0e08\u0e37\u0e47\u0e39", "\u0e21\u0e37\u0e4c", "\u0e19\u0e37\u0e4b\u0e3a", "\u0e29\u0e36\u0e4a\u0e38", "\u0e0d\u0e33\u0e4c\u0e3a", "\u0e0c\u0e35\u0e4a\u0e38", "\u0e0c\u0e38", "\u0e2b\u0e4a\u0e3a", "\u0e10\u0e35\u0e4a", "\u0e1c\u0e31\u0e4b\u0e3a", "\u0e07\u0e31\u0e47\u0e38", "\u0e17\u0e34\u0e47\u0e38", "\u0e1b\u0e35\u0e4d\u0e38", "\u0e0a\u0e33\u0e48\u0e38", "\u0e19\u0e36\u0e4c", "\u0e17\u0e33\u0e4e\u0e38", "\u0e11\u0e33\u0e47\u0e39", "\u0e02\u0e36\u0e4a", "\u0e0e\u0e4c\u0e3a", "\u0e17\u0e33\u0e4d", "\u0e13\u0e33", "\u0e0e\u0e38", "\u0e04\u0e34\u0e48\u0e39", "\u0e07\u0e36\u0e4d\u0e39", "\u0e29\u0e35\u0e49", "\u0e0b\u0e37\u0e4c\u0e38", "\u0e21\u0e48", "\u0e2b\u0e31\u0e4e\u0e3a", "\u0e2e\u0e37", "\u0e17\u0e33\u0e39", "\u0e2b\u0e34", "\u0e19\u0e34\u0e4c\u0e3a", "\u0e1d\u0e34\u0e38", "\u0e28\u0e34", "\u0e0d\u0e37\u0e39", "\u0e16\u0e35\u0e4b", "\u0e16\u0e35\u0e4b\u0e38", "\u0e23\u0e36\u0e39", "\u0e10\u0e33\u0e4a", "\u0e05\u0e31\u0e4d\u0e38", "\u0e21\u0e48\u0e38", "\u0e06\u0e31\u0e4b", "\u0e29\u0e36\u0e4d\u0e39", "\u0e15\u0e4b\u0e39", "\u0e04\u0e37\u0e49", "\u0e17\u0e37\u0e48\u0e38", "\u0e28\u0e31\u0e4b", "\u0e10\u0e31\u0e48\u0e38", "\u0e0d\u0e39", "\u0e23\u0e33\u0e4c\u0e3a", "\u0e14\u0e35\u0e4a\u0e3a", "\u0e2c\u0e34\u0e4c", "\u0e10\u0e34\u0e38", "\u0e1e\u0e48\u0e3a", "\u0e0b\u0e33\u0e48", "\u0e03\u0e37\u0e4b", "\u0e2a\u0e47\u0e38", "\u0e18\u0e34\u0e49\u0e3a", "\u0e25\u0e35\u0e3a", "\u0e2a\u0e48\u0e3a", "\u0e21\u0e35\u0e49\u0e39", "\u0e29\u0e35\u0e4c", "\u0e2b\u0e33\u0e48\u0e39", "\u0e23\u0e34\u0e4c", "\u0e01\u0e34\u0e47\u0e39", "\u0e09\u0e31\u0e4a\u0e38", "\u0e02\u0e49", "\u0e16\u0e48", "\u0e2b\u0e35\u0e4b\u0e3a", "\u0e17\u0e35\u0e4e\u0e38", "\u0e0e\u0e34\u0e4b\u0e38", "\u0e21\u0e37\u0e4d", "\u0e19\u0e35\u0e4d\u0e3a", "\u0e23\u0e4b", "\u0e11\u0e35\u0e4c\u0e3a", "\u0e09\u0e47\u0e38", "\u0e1f\u0e31\u0e4b\u0e3a", "\u0e18\u0e31\u0e4a\u0e38", "\u0e25\u0e36\u0e4e", "\u0e10\u0e31", "\u0e09\u0e4b\u0e38", "\u0e23\u0e4e\u0e38", "\u0e2a\u0e47\u0e3a", "\u0e21\u0e37\u0e4a", "\u0e16\u0e33\u0e4c\u0e3a", "\u0e1d\u0e33\u0e4d\u0e39", "\u0e1d\u0e37\u0e4d\u0e3a", "\u0e22\u0e37\u0e4c\u0e3a", "\u0e1b\u0e31\u0e4b\u0e3a", "\u0e04\u0e36\u0e49\u0e3a", "\u0e2e\u0e34\u0e4a", "\u0e13\u0e35\u0e48\u0e39", "\u0e08\u0e33\u0e4e\u0e3a", "\u0e23\u0e36\u0e47\u0e38", "\u0e2a\u0e37\u0e4c\u0e38", "\u0e17\u0e34\u0e47\u0e39", "\u0e0c\u0e31\u0e4b", "\u0e20\u0e31\u0e48\u0e39", "\u0e1f\u0e36\u0e4e\u0e39", "\u0e22\u0e33\u0e4a\u0e39", "\u0e2a\u0e31\u0e3a", "\u0e18\u0e33\u0e47\u0e38", "\u0e0f\u0e34\u0e4e\u0e38", "\u0e2d\u0e4a\u0e3a", "\u0e0f\u0e35\u0e48\u0e38", "\u0e2b\u0e37\u0e4b\u0e3a", "\u0e18\u0e4a\u0e38", "\u0e1b\u0e37\u0e49\u0e39", "\u0e13\u0e33\u0e38", "\u0e0b\u0e31\u0e47\u0e38", "\u0e1e\u0e31\u0e49", "\u0e01\u0e4e\u0e38", "\u0e2c\u0e36\u0e48", "\u0e15\u0e3a", "\u0e21\u0e33\u0e47\u0e3a", "\u0e2d\u0e35\u0e49\u0e38", "\u0e0d\u0e4c", "\u0e11\u0e36\u0e38", "\u0e2a\u0e34\u0e48\u0e3a", "\u0e05\u0e35\u0e4c\u0e39", "\u0e0c\u0e36\u0e4d\u0e38", "\u0e23\u0e35\u0e4a\u0e3a", "\u0e14\u0e36\u0e48\u0e3a", "\u0e14\u0e36\u0e4a\u0e3a", "\u0e10\u0e4a\u0e38", "\u0e13\u0e35\u0e49\u0e3a", "\u0e27\u0e35\u0e4d\u0e3a", "\u0e1a\u0e31\u0e48\u0e38", "\u0e1c\u0e37\u0e47", "\u0e25\u0e4a\u0e3a", "\u0e07\u0e35\u0e38", "\u0e21\u0e31\u0e47", "\u0e08\u0e34\u0e47\u0e3a", "\u0e25\u0e31", "\u0e06\u0e34\u0e4b\u0e39", "\u0e16\u0e33\u0e4c", "\u0e09\u0e31\u0e4e\u0e3a", "\u0e20\u0e36\u0e4a", "\u0e2e\u0e35\u0e4d\u0e39", "\u0e09\u0e34\u0e48\u0e3a", "\u0e12\u0e33\u0e4a\u0e39", "\u0e1e\u0e33\u0e49\u0e39", "\u0e1b\u0e34\u0e47", "\u0e2b\u0e37\u0e4d\u0e38", "\u0e2b\u0e37\u0e4c\u0e3a", "\u0e01\u0e4e\u0e3a", "\u0e0d\u0e31\u0e4b\u0e3a", "\u0e1e\u0e36\u0e4d", "\u0e0f\u0e35\u0e49\u0e3a", "\u0e2e\u0e36\u0e47", "\u0e2d\u0e36\u0e4a\u0e38", "\u0e11\u0e37\u0e4d\u0e38", "\u0e1c\u0e35\u0e48\u0e3a", "\u0e01\u0e35\u0e4d\u0e3a", "\u0e18\u0e4e", "\u0e15\u0e48\u0e38", "\u0e27\u0e34\u0e4e", "\u0e04\u0e34\u0e49\u0e38", "\u0e29\u0e35\u0e48\u0e3a", "\u0e29\u0e34", "\u0e12\u0e31\u0e4b\u0e39", "\u0e04\u0e35\u0e4d\u0e3a", "\u0e11\u0e49", "\u0e2e\u0e31\u0e4e\u0e38", "\u0e21\u0e33\u0e4e\u0e3a", "\u0e11\u0e31", "\u0e27\u0e33\u0e4c\u0e3a", "\u0e12\u0e36\u0e4c\u0e39", "\u0e07\u0e33\u0e47\u0e38", "\u0e06\u0e36\u0e4c\u0e38", "\u0e03\u0e4b\u0e3a", "\u0e11\u0e34", "\u0e1d\u0e36\u0e39", "\u0e06\u0e35\u0e4d", "\u0e29\u0e35\u0e47\u0e38", "\u0e1d\u0e36\u0e49", "\u0e2d\u0e37\u0e4e\u0e38", "\u0e29\u0e31\u0e49\u0e3a", "\u0e12\u0e35\u0e47\u0e39", "\u0e02\u0e34\u0e4a\u0e3a", "\u0e0b\u0e47", "\u0e22\u0e37\u0e4c", "\u0e08\u0e36\u0e4e", "\u0e27\u0e37\u0e4d", "\u0e1b\u0e34\u0e4c", "\u0e1a\u0e37\u0e4a\u0e38", "\u0e12\u0e34\u0e4b\u0e39", "\u0e02\u0e31", "\u0e0e\u0e31\u0e4b\u0e39", "\u0e02\u0e37\u0e4a\u0e3a", "\u0e04\u0e37\u0e4e\u0e39", "\u0e23\u0e35\u0e48\u0e39", "\u0e01\u0e34\u0e4e", "\u0e05\u0e34\u0e4e", "\u0e19\u0e31\u0e47\u0e39", "\u0e0c\u0e48\u0e39", "\u0e16\u0e4c\u0e3a", "\u0e22\u0e34\u0e4d\u0e38", "\u0e15\u0e35\u0e49", "\u0e1e\u0e37\u0e4e", "\u0e03\u0e31\u0e4a\u0e39", "\u0e0c\u0e35\u0e49\u0e3a", "\u0e2b\u0e33\u0e4b\u0e39", "\u0e21\u0e35\u0e49\u0e3a", "\u0e2e\u0e37\u0e49\u0e38", "\u0e1d\u0e34\u0e48\u0e38", "\u0e03\u0e37\u0e4a\u0e3a", "\u0e11\u0e34\u0e48\u0e39", "\u0e21\u0e31\u0e49", "\u0e1b\u0e48", "\u0e12\u0e37\u0e4d\u0e3a", "\u0e03\u0e36\u0e49", "\u0e2c\u0e34\u0e4c\u0e38", "\u0e21\u0e35\u0e3a", "\u0e23\u0e33\u0e4c\u0e38", "\u0e28\u0e4e\u0e39", "\u0e23\u0e33\u0e4d\u0e38", "\u0e2d\u0e35\u0e4c\u0e3a", "\u0e2e\u0e34\u0e38", "\u0e15\u0e31\u0e49\u0e39", "\u0e1c\u0e31\u0e49", "\u0e19\u0e35\u0e4c\u0e39", "\u0e06\u0e34\u0e4d\u0e3a", "\u0e0b\u0e35\u0e4e", "\u0e11\u0e37\u0e4d", "\u0e17\u0e35\u0e49\u0e39", "\u0e2d\u0e36\u0e47\u0e38", "\u0e0b\u0e36\u0e4b", "\u0e0c\u0e4b", "\u0e0e\u0e37\u0e47\u0e39", "\u0e0a\u0e34\u0e47", "\u0e15\u0e37\u0e3a", "\u0e06\u0e33\u0e4c\u0e3a", "\u0e05\u0e33\u0e4d", "\u0e22\u0e34\u0e48\u0e38", "\u0e0a\u0e37\u0e47\u0e3a", "\u0e08\u0e35\u0e3a", "\u0e1b\u0e4c\u0e3a", "\u0e21\u0e31\u0e48\u0e39", "\u0e2b\u0e33\u0e4a\u0e39", "\u0e2a\u0e31\u0e47\u0e39", "\u0e16\u0e31\u0e38", "\u0e2e\u0e35\u0e48\u0e38", "\u0e1a\u0e36", "\u0e23\u0e33\u0e48\u0e3a", "\u0e27\u0e33\u0e47", "\u0e1e\u0e34", "\u0e2a\u0e31\u0e48", "\u0e0f\u0e36\u0e4d", "\u0e01\u0e34\u0e47", "\u0e0e\u0e36\u0e49\u0e38", "\u0e2c\u0e34\u0e47", "\u0e15\u0e33\u0e4b\u0e3a", "\u0e06\u0e31\u0e38", "\u0e28\u0e31\u0e4a\u0e3a", "\u0e0b\u0e34\u0e49\u0e3a", "\u0e17\u0e35\u0e4b\u0e39", "\u0e07\u0e4a\u0e3a", "\u0e29\u0e31\u0e4c\u0e38", "\u0e25\u0e33\u0e4e", "\u0e22\u0e37\u0e4a", "\u0e2c\u0e31\u0e48", "\u0e09\u0e36\u0e4a", "\u0e19\u0e35\u0e47", "\u0e02\u0e35\u0e47", "\u0e2e\u0e31\u0e4c\u0e39", "\u0e01\u0e36\u0e4c", "\u0e2c\u0e4a", "\u0e28\u0e34\u0e4d", "\u0e19\u0e31\u0e4d\u0e38", "\u0e06\u0e35\u0e4a\u0e39", "\u0e0f\u0e4d\u0e39", "\u0e2a\u0e36\u0e4c", "\u0e16\u0e37\u0e4b\u0e38", "\u0e2a\u0e36\u0e47\u0e38", "\u0e1c\u0e31\u0e4a\u0e3a", "\u0e18\u0e31\u0e47\u0e38", "\u0e13\u0e35\u0e4d\u0e39", "\u0e0a\u0e31\u0e4b\u0e3a", "\u0e02\u0e37\u0e4e\u0e38", "\u0e21\u0e31\u0e4d", "\u0e28\u0e34\u0e4b\u0e38", "\u0e25\u0e36\u0e48\u0e38", "\u0e0b\u0e36", "\u0e0a\u0e34\u0e48\u0e39", "\u0e19\u0e33\u0e39", "\u0e0d\u0e37\u0e4a\u0e38", "\u0e13\u0e31\u0e4a\u0e39", "\u0e13\u0e4a\u0e38", "\u0e2b\u0e36\u0e4e", "\u0e21\u0e35\u0e4e\u0e3a", "\u0e0c\u0e34\u0e4b", "\u0e18\u0e36\u0e4c\u0e38", "\u0e1c\u0e35\u0e4c\u0e38", "\u0e05\u0e34\u0e47\u0e38", "\u0e10\u0e36\u0e4a\u0e38", "\u0e12\u0e31\u0e49\u0e3a", "\u0e28\u0e31\u0e47", "\u0e05\u0e37\u0e48", "\u0e1f\u0e36\u0e48\u0e38", "\u0e12\u0e35\u0e4a\u0e38", "\u0e17\u0e34\u0e4a", "\u0e21\u0e36\u0e3a", "\u0e17\u0e37\u0e4c\u0e39", "\u0e12\u0e35\u0e4e\u0e38", "\u0e19\u0e47\u0e3a", "\u0e2e\u0e4e", "\u0e0d\u0e4b\u0e38", "\u0e1d\u0e31\u0e39", "\u0e02\u0e34\u0e4b", "\u0e0b\u0e33\u0e4d\u0e3a", "\u0e28\u0e33\u0e4b\u0e38", "\u0e2b\u0e35\u0e49\u0e38", "\u0e03\u0e36\u0e38", "\u0e04\u0e35\u0e4d", "\u0e29\u0e31\u0e4c", "\u0e10\u0e37\u0e4b\u0e38", "\u0e0c\u0e33\u0e49\u0e3a", "\u0e19\u0e34\u0e47\u0e38", "\u0e27\u0e31\u0e4a\u0e3a", "\u0e1d\u0e31\u0e47\u0e38", "\u0e2d\u0e31\u0e4b\u0e39", "\u0e25\u0e49", "\u0e12\u0e37\u0e4c\u0e39", "\u0e14\u0e36\u0e3a", "\u0e2c\u0e31\u0e4a\u0e3a", "\u0e28\u0e31\u0e4c\u0e38", "\u0e1f\u0e35\u0e4b\u0e39", "\u0e16\u0e4e", "\u0e05\u0e34\u0e4c", "\u0e18\u0e35\u0e4a\u0e38", "\u0e2a\u0e34\u0e4a\u0e38", "\u0e17\u0e49\u0e38", "\u0e28\u0e37\u0e49\u0e3a", "\u0e21\u0e36\u0e4c\u0e3a", "\u0e21\u0e33\u0e4b\u0e38", "\u0e2a\u0e35\u0e4d\u0e3a", "\u0e20\u0e36\u0e39", "\u0e20\u0e38", "\u0e01\u0e36\u0e4d\u0e38", "\u0e0a\u0e33\u0e47\u0e39", "\u0e2a\u0e34\u0e4a\u0e39", "\u0e1a\u0e34\u0e4e\u0e38", "\u0e17\u0e31", "\u0e0d\u0e4e\u0e39", "\u0e2b\u0e4e\u0e38", "\u0e27\u0e34", "\u0e1a\u0e33\u0e4d\u0e39", "\u0e29\u0e31\u0e49\u0e38", "\u0e1c\u0e37\u0e4a\u0e39", "\u0e29\u0e37\u0e4b\u0e39", "\u0e1f\u0e35\u0e4a\u0e3a", "\u0e2d\u0e33\u0e4c\u0e38", "\u0e1b\u0e36\u0e4d\u0e38", "\u0e1e\u0e35\u0e49\u0e3a", "\u0e13\u0e37\u0e4a", "\u0e1a\u0e37\u0e48\u0e38", "\u0e1d\u0e36\u0e4a", "\u0e07\u0e34\u0e48\u0e38", "\u0e0c\u0e37\u0e47\u0e39", "\u0e21\u0e36\u0e48", "\u0e1e\u0e49", "\u0e14\u0e34\u0e4b", "\u0e15\u0e47\u0e39", "\u0e28\u0e37\u0e4b\u0e38", "\u0e09\u0e36\u0e47\u0e3a", "\u0e0e\u0e34\u0e4a", "\u0e10\u0e31\u0e47", "\u0e19\u0e33\u0e4e\u0e38", "\u0e0b\u0e35\u0e4d", "\u0e14\u0e38", "\u0e10", "\u0e0f\u0e33\u0e49", "\u0e28", "\u0e0a\u0e33\u0e4d\u0e3a", "\u0e0a\u0e33\u0e48\u0e3a", "\u0e15\u0e36\u0e4c\u0e38", "\u0e1c\u0e31\u0e4c", "\u0e22\u0e31\u0e47\u0e3a", "\u0e08\u0e36\u0e4d\u0e38", "\u0e0f\u0e31\u0e4a\u0e39", "\u0e17\u0e37\u0e4b\u0e39", "\u0e10\u0e4c", "\u0e0a\u0e36\u0e4b\u0e3a", "\u0e01\u0e48\u0e38", "\u0e14\u0e31\u0e4d", "\u0e07\u0e4a\u0e38", "\u0e09\u0e33", "\u0e05\u0e37\u0e4a\u0e3a", "\u0e0e\u0e36\u0e47\u0e39", "\u0e1d\u0e36\u0e4c\u0e39", "\u0e1c\u0e35\u0e4d\u0e39", "\u0e2d\u0e34\u0e4a\u0e38", "\u0e20\u0e37\u0e4d\u0e3a", "\u0e1d\u0e33\u0e49", "\u0e0b\u0e34\u0e4d\u0e38", "\u0e1c\u0e37\u0e4e", "\u0e0e\u0e36\u0e48\u0e3a", "\u0e1b\u0e36\u0e4d", "\u0e18\u0e36\u0e4a\u0e39", "\u0e06\u0e4b\u0e38", "\u0e18\u0e33\u0e4c\u0e39", "\u0e11\u0e34\u0e4d", "\u0e03\u0e31\u0e4d\u0e38", "\u0e2b\u0e4d", "\u0e18\u0e33\u0e4e", "\u0e17\u0e34\u0e48", "\u0e0b\u0e34\u0e4c\u0e38", "\u0e29\u0e37\u0e4c\u0e3a", "\u0e19\u0e37\u0e4a", "\u0e21\u0e37\u0e4e\u0e3a", "\u0e2d\u0e33\u0e4b\u0e3a", "\u0e01\u0e35\u0e4e\u0e38", "\u0e14\u0e36\u0e4a\u0e39", "\u0e27\u0e31\u0e4b", "\u0e05\u0e35\u0e48", "\u0e0f\u0e33\u0e4d", "\u0e2b\u0e37\u0e47\u0e39", "\u0e0a\u0e33\u0e4a\u0e3a", "\u0e1a\u0e4d", "\u0e23\u0e35\u0e49\u0e39", "\u0e2a\u0e36\u0e4c\u0e3a", "\u0e1b\u0e33\u0e49\u0e3a", "\u0e18\u0e34\u0e48\u0e39", "\u0e1d\u0e37\u0e48", "\u0e05\u0e37\u0e4e\u0e3a", "\u0e07\u0e4c\u0e38", "\u0e0b\u0e31\u0e48\u0e39", "\u0e0b\u0e37\u0e4a\u0e3a", "\u0e0d\u0e33\u0e49", "\u0e17\u0e37\u0e47", "\u0e1c\u0e31\u0e4a\u0e39", "\u0e20\u0e36\u0e4d", "\u0e1f\u0e33\u0e4b", "\u0e13\u0e34\u0e3a", "\u0e2d\u0e33\u0e48", "\u0e11\u0e4d\u0e38", "\u0e0b\u0e36\u0e47\u0e3a", "\u0e1a\u0e31\u0e49", "\u0e15\u0e37\u0e48\u0e39", "\u0e01\u0e37\u0e4a\u0e39", "\u0e14\u0e33\u0e48\u0e3a", "\u0e27\u0e36\u0e4d\u0e38", "\u0e0d\u0e47\u0e39", "\u0e17\u0e4a\u0e38", "\u0e28\u0e4d", "\u0e12\u0e34\u0e49", "\u0e25\u0e37\u0e39", "\u0e22\u0e37\u0e4b\u0e38", "\u0e05\u0e33\u0e48\u0e3a", "\u0e17\u0e35\u0e48\u0e3a", "\u0e15\u0e36\u0e4b\u0e3a", "\u0e20\u0e36\u0e48\u0e3a", "\u0e03\u0e31\u0e4b\u0e39", "\u0e1d\u0e36", "\u0e15\u0e38", "\u0e15\u0e35\u0e4b\u0e39", "\u0e19\u0e34\u0e48\u0e3a", "\u0e23\u0e35\u0e4a", "\u0e0a\u0e3a", "\u0e1c\u0e34\u0e4d\u0e39", "\u0e29\u0e33\u0e4b\u0e38", "\u0e28\u0e33", "\u0e05\u0e35\u0e49\u0e3a", "\u0e01\u0e33\u0e49\u0e38", "\u0e1b\u0e37\u0e39", "\u0e13\u0e35\u0e4b\u0e38", "\u0e16\u0e31\u0e48\u0e3a", "\u0e20\u0e33\u0e4e\u0e38", "\u0e02\u0e37\u0e49\u0e3a", "\u0e15\u0e33\u0e49", "\u0e2e\u0e33\u0e4b", "\u0e0b\u0e36\u0e4d\u0e39", "\u0e04\u0e39", "\u0e0f\u0e37\u0e48\u0e3a", "\u0e07\u0e37\u0e38", "\u0e0f\u0e31\u0e47", "\u0e1d\u0e34\u0e4a", "\u0e09\u0e33\u0e47\u0e39", "\u0e16\u0e31\u0e4b", "\u0e15\u0e31\u0e48", "\u0e12\u0e4d\u0e38", "\u0e18\u0e36\u0e4d", "\u0e07\u0e31\u0e4b\u0e39", "\u0e25\u0e33\u0e4e\u0e38", "\u0e01\u0e31\u0e4a\u0e3a", "\u0e2c\u0e37\u0e4d\u0e38", "\u0e0b\u0e33\u0e3a", "\u0e21\u0e36\u0e4d", "\u0e12\u0e36\u0e3a", "\u0e27\u0e4e\u0e39", "\u0e14\u0e4e\u0e38", "\u0e10\u0e36\u0e4b\u0e3a", "\u0e02\u0e37\u0e48\u0e3a", "\u0e2c\u0e34\u0e4d", "\u0e08\u0e35\u0e4c\u0e3a", "\u0e15\u0e33\u0e49\u0e38", "\u0e1c\u0e33\u0e4a\u0e38", "\u0e12\u0e4b\u0e39", "\u0e21\u0e37\u0e4d\u0e38", "\u0e2b\u0e48\u0e38", "\u0e1e\u0e36\u0e48\u0e39", "\u0e08\u0e4c\u0e3a", "\u0e0a\u0e36\u0e4c\u0e39", "\u0e19\u0e31\u0e48\u0e38", "\u0e2c\u0e34\u0e48\u0e3a", "\u0e0f\u0e34\u0e4d\u0e38", "\u0e17\u0e31\u0e4b\u0e39", "\u0e02\u0e48\u0e39", "\u0e0a\u0e31\u0e47\u0e3a", "\u0e2a\u0e36\u0e49", "\u0e08\u0e31", "\u0e15\u0e36\u0e4c", "\u0e1b\u0e36\u0e4b\u0e39", "\u0e07\u0e37\u0e4e\u0e3a", "\u0e0b\u0e36\u0e47\u0e39", "\u0e14\u0e49\u0e3a", "\u0e06\u0e37\u0e49", "\u0e1f\u0e33\u0e49\u0e3a", "\u0e0d\u0e34\u0e48\u0e39", "\u0e20\u0e4c\u0e3a", "\u0e22\u0e33\u0e4b", "\u0e22\u0e36\u0e4b\u0e39", "\u0e10\u0e36\u0e39", "\u0e2a\u0e35\u0e39", "\u0e16\u0e37\u0e4d", "\u0e10\u0e33\u0e48", "\u0e2b\u0e36\u0e4e\u0e39", "\u0e07\u0e37\u0e4c", "\u0e12\u0e48", "\u0e27\u0e35\u0e4c", "\u0e23\u0e31\u0e4a\u0e3a", "\u0e0d\u0e35\u0e4b", "\u0e06\u0e33\u0e4a\u0e3a", "\u0e1e\u0e33\u0e4c\u0e39", "\u0e22\u0e39", "\u0e12\u0e33\u0e4d\u0e39", "\u0e21\u0e34\u0e4e\u0e3a", "\u0e09\u0e35\u0e4d\u0e3a", "\u0e2e\u0e34\u0e4b\u0e38", "\u0e2d\u0e36\u0e4a\u0e3a", "\u0e16\u0e35\u0e47\u0e3a", "\u0e22\u0e36\u0e48\u0e3a", "\u0e1c\u0e37\u0e4c\u0e39", "\u0e03\u0e31\u0e4d", "\u0e19\u0e35\u0e4b\u0e3a", "\u0e0e\u0e33\u0e48\u0e3a", "\u0e09\u0e3a", "\u0e04\u0e35\u0e4c", "\u0e2e\u0e31\u0e48", "\u0e27\u0e36\u0e4a\u0e38", "\u0e0f\u0e37\u0e4e\u0e38", "\u0e20\u0e34\u0e49\u0e3a", "\u0e04\u0e33\u0e49\u0e38", "\u0e0e\u0e49\u0e3a", "\u0e10\u0e48\u0e3a", "\u0e19\u0e37\u0e47\u0e38", "\u0e11\u0e31\u0e4c\u0e39", "\u0e1d\u0e33\u0e4e\u0e3a", "\u0e12\u0e4c\u0e38", "\u0e07\u0e33\u0e47\u0e39", "\u0e1d\u0e37\u0e49\u0e38", "\u0e1e\u0e36\u0e47", "\u0e0b\u0e36\u0e4c\u0e39", "\u0e21\u0e33\u0e4d", "\u0e19\u0e34\u0e49\u0e3a", "\u0e0b\u0e31\u0e4c\u0e38", "\u0e19\u0e48", "\u0e23\u0e33\u0e4e\u0e38", "\u0e0f\u0e31\u0e4e\u0e39", "\u0e02\u0e33\u0e4c", "\u0e25\u0e48\u0e39", "\u0e0b\u0e35\u0e4a", "\u0e0b\u0e35\u0e4e\u0e39", "\u0e1e\u0e37\u0e4a\u0e3a", "\u0e1f\u0e31\u0e4e\u0e38", "\u0e1f\u0e37\u0e47", "\u0e21\u0e31", "\u0e20\u0e36\u0e4e\u0e39", "\u0e19\u0e33\u0e4e\u0e39", "\u0e0e\u0e35\u0e49\u0e38", "\u0e07\u0e35\u0e49", "\u0e23\u0e31\u0e4c\u0e3a", "\u0e22\u0e35\u0e4d\u0e3a", "\u0e13\u0e33\u0e4c", "\u0e0b\u0e49\u0e3a", "\u0e09\u0e36", "\u0e07\u0e34\u0e49\u0e39", "\u0e04\u0e4e\u0e39", "\u0e1c\u0e35\u0e48\u0e38", "\u0e01\u0e4b\u0e39", "\u0e05\u0e4a\u0e39", "\u0e1d\u0e33\u0e4e\u0e38", "\u0e11\u0e36\u0e48", "\u0e14\u0e31\u0e4e\u0e38", "\u0e2a\u0e33\u0e4e\u0e39", "\u0e07\u0e47\u0e39", "\u0e2b\u0e37\u0e4d", "\u0e2b\u0e37\u0e4a\u0e39", "\u0e01\u0e49\u0e3a", "\u0e01\u0e37\u0e47", "\u0e28\u0e34\u0e4e\u0e39", "\u0e02\u0e31\u0e49\u0e39", "\u0e07\u0e33\u0e4e\u0e3a", "\u0e0a\u0e35\u0e4b\u0e39", "\u0e11\u0e38", "\u0e15\u0e49\u0e38", "\u0e1b\u0e33\u0e4a\u0e38", "\u0e2a\u0e31\u0e48\u0e38", "\u0e17\u0e34\u0e4d", "\u0e07\u0e35\u0e4c", "\u0e03\u0e36\u0e4e\u0e38", "\u0e0d\u0e36\u0e4c\u0e38", "\u0e2e\u0e31\u0e48\u0e38", "\u0e20\u0e31\u0e47", "\u0e18\u0e34\u0e4a\u0e3a", "\u0e2e\u0e34\u0e4c\u0e39", "\u0e1f\u0e49\u0e3a", "\u0e1e\u0e31\u0e48", "\u0e1a\u0e34\u0e48\u0e39", "\u0e0e\u0e4c\u0e38", "\u0e1c\u0e31\u0e38", "\u0e0b\u0e35\u0e4d\u0e38", "\u0e2c\u0e4e\u0e3a", "\u0e05\u0e33\u0e4c\u0e3a", "\u0e25\u0e34\u0e4c\u0e38", "\u0e0a\u0e4b\u0e3a", "\u0e2c\u0e4d\u0e3a", "\u0e0d\u0e36\u0e49\u0e3a", "\u0e1f\u0e37\u0e49", "\u0e15\u0e37\u0e4d", "\u0e17\u0e37\u0e4c\u0e38", "\u0e05\u0e36\u0e4e\u0e39", "\u0e23\u0e33\u0e47\u0e39", "\u0e05\u0e37\u0e47", "\u0e15\u0e36\u0e47\u0e3a", "\u0e1e\u0e4c\u0e39", "\u0e01\u0e34\u0e49", "\u0e0b\u0e34\u0e4c\u0e3a", "\u0e2d\u0e35\u0e3a", "\u0e25\u0e31\u0e4d\u0e39", "\u0e0e\u0e37\u0e49\u0e39", "\u0e29\u0e37\u0e4b\u0e3a", "\u0e06\u0e48\u0e38", "\u0e1a\u0e37\u0e4b\u0e38", "\u0e27\u0e35\u0e48\u0e3a", "\u0e18\u0e36\u0e48", "\u0e03\u0e48\u0e39", "\u0e05\u0e35\u0e49", "\u0e28\u0e37\u0e4d\u0e38", "\u0e16\u0e36\u0e4c\u0e38", "\u0e22\u0e37\u0e4a\u0e3a", "\u0e21\u0e36\u0e48\u0e38", "\u0e14\u0e34\u0e4d", "\u0e20\u0e37\u0e4b\u0e38", "\u0e04\u0e36\u0e4b\u0e3a", "\u0e0b\u0e37\u0e47\u0e39", "\u0e13\u0e48", "\u0e1d\u0e34\u0e4a\u0e3a", "\u0e04\u0e37\u0e38", "\u0e21\u0e37\u0e49", "\u0e18\u0e34\u0e4c\u0e38", "\u0e19\u0e31\u0e4b", "\u0e12\u0e34\u0e4a\u0e39", "\u0e0f\u0e35\u0e3a", "\u0e1e\u0e34\u0e4b\u0e3a", "\u0e19\u0e36\u0e48\u0e38", "\u0e1a\u0e47\u0e38", "\u0e1f\u0e31\u0e49\u0e39", "\u0e27\u0e4d", "\u0e05\u0e4b\u0e38", "\u0e21\u0e33\u0e47\u0e39", "\u0e20\u0e37\u0e4a\u0e3a", "\u0e15\u0e36", "\u0e16\u0e31\u0e4d", "\u0e1d\u0e35\u0e3a", "\u0e0f\u0e33\u0e4c\u0e39", "\u0e1e\u0e31\u0e39", "\u0e1f\u0e34\u0e4a\u0e39", "\u0e17\u0e34\u0e4b\u0e39", "\u0e03\u0e36\u0e4e\u0e39", "\u0e07\u0e35\u0e4c\u0e3a", "\u0e29\u0e37\u0e48\u0e39", "\u0e1a\u0e34\u0e4d\u0e39", "\u0e0d\u0e37\u0e4c\u0e39", "\u0e18\u0e31\u0e49\u0e39", "\u0e1e\u0e34\u0e48\u0e38", "\u0e17\u0e34\u0e4d\u0e39", "\u0e2d\u0e4e\u0e38", "\u0e02\u0e33\u0e4b", "\u0e23\u0e37\u0e3a", "\u0e0d\u0e4a\u0e3a", "\u0e28\u0e33\u0e38", "\u0e01\u0e35\u0e48\u0e38", "\u0e23\u0e47", "\u0e07\u0e33\u0e49\u0e38", "\u0e23\u0e34\u0e4b\u0e39", "\u0e17\u0e4d\u0e3a", "\u0e1c\u0e33\u0e47\u0e39", "\u0e0c\u0e35\u0e4d\u0e38", "\u0e23\u0e36\u0e4d\u0e38"]}, "valid": {"fonts": ["DC-Palamongkol-Regular.ttf", "TH-Charm-of-AU-Regular.ttf", "JS-Sunsanee-Normal.ttf", "Kanit-Regular.ttf", "JS-Mookravee-Normal.ttf", "JS-Charnchai-Normal.ttf", "JS-Noklae-Normal.ttf", "JS-Jindara-Normal.ttf", "JS-Chodok-Bold.ttf", "Norasi-Regular.ttf", "JS-Prapakorn-Normal.ttf", "JS-Likhit-Normal.ttf", "JS-Pumpuang-Normal.ttf", "Umpush-Book.ttf", "JS-75-Pumpuang.ttf", "Pridi-Regular.ttf", "JS-Toomtam-Normal.ttf", "JS-Hariphan.ttf", "CmPrasanmit-Regular.ttf", "JS-Jetarin-Italic.ttf", "JS-Kobori-Allcaps-Bold.ttf"], "chars": ["\u0e2d\u0e37\u0e47\u0e39", "\u0e17\u0e37\u0e38", "\u0e0a\u0e37\u0e4d\u0e3a", "\u0e2c\u0e35\u0e38", "\u0e14\u0e31\u0e48\u0e39", "\u0e13\u0e33\u0e4d\u0e39", "\u0e0e\u0e35\u0e47", "\u0e20\u0e37\u0e4a\u0e38", "\u0e23\u0e4c", "\u0e27\u0e37\u0e4a\u0e3a", "\u0e1d\u0e33\u0e4e", "\u0e15\u0e35\u0e47\u0e39", "\u0e13\u0e36\u0e48\u0e3a", "\u0e2a\u0e35\u0e38", "\u0e14\u0e36\u0e4b\u0e38", "\u0e2c\u0e36\u0e4b\u0e38", "\u0e2a\u0e48", "\u0e12\u0e37\u0e3a", "\u0e27\u0e36\u0e4b\u0e38", "\u0e2a\u0e31\u0e4a\u0e3a", "\u0e07\u0e31\u0e47\u0e39", "\u0e21\u0e33\u0e49\u0e3a", "\u0e08\u0e37\u0e38", "\u0e06\u0e36\u0e4a", "\u0e0d\u0e36\u0e49\u0e38", "\u0e1d\u0e36\u0e48\u0e38", "\u0e09\u0e35\u0e49", "\u0e05\u0e35\u0e4d\u0e3a", "\u0e0a\u0e36\u0e4d", "\u0e2c\u0e37\u0e4c\u0e3a", "\u0e1b\u0e34\u0e47\u0e39", "\u0e12\u0e49\u0e3a", "\u0e02\u0e33\u0e4a\u0e3a", "\u0e1f\u0e36\u0e4d\u0e3a", "\u0e0c\u0e31\u0e38", "\u0e06\u0e33\u0e4d\u0e39", "\u0e10\u0e31\u0e49\u0e3a", "\u0e10\u0e36\u0e48\u0e39", "\u0e2b\u0e31\u0e4b\u0e38", "\u0e14\u0e31\u0e48\u0e38", "\u0e17\u0e35\u0e48\u0e38", "\u0e0e\u0e36\u0e4a", "\u0e1f\u0e35\u0e47\u0e38", "\u0e25\u0e35\u0e49\u0e39", "\u0e09\u0e33\u0e49\u0e39", "\u0e12\u0e33\u0e4d", "\u0e10\u0e36\u0e4d\u0e38", "\u0e1e\u0e31", "\u0e1d\u0e34\u0e4c\u0e38", "\u0e0e\u0e4d\u0e3a", "\u0e2a\u0e36\u0e4d\u0e39", "\u0e1b\u0e33\u0e4e", "\u0e2a\u0e36\u0e47\u0e3a", "\u0e21\u0e33\u0e4e\u0e39", "\u0e0f\u0e34\u0e4b", "\u0e25\u0e36\u0e4a\u0e3a", "\u0e02\u0e33\u0e48\u0e38", "\u0e1e\u0e35\u0e4e\u0e3a", "\u0e11\u0e35\u0e4b\u0e38", "\u0e17\u0e35\u0e4c", "\u0e22\u0e31\u0e49\u0e3a", "\u0e22\u0e36\u0e4c\u0e39", "\u0e0c\u0e33\u0e39", "\u0e15\u0e31\u0e48\u0e39", "\u0e0e\u0e35\u0e4c\u0e38", "\u0e0c\u0e31\u0e4a", "\u0e0d\u0e36\u0e4e\u0e3a", "\u0e0a\u0e33\u0e4a", "\u0e09\u0e33\u0e4b", "\u0e10\u0e37\u0e4c\u0e39", "\u0e06\u0e33\u0e48\u0e39", "\u0e14\u0e35\u0e48\u0e38", "\u0e0f\u0e37", "\u0e18\u0e35\u0e4d\u0e3a", "\u0e07\u0e33", "\u0e0f\u0e33\u0e3a", "\u0e1b\u0e33\u0e4d\u0e39", "\u0e07\u0e36\u0e4b", "\u0e15\u0e37\u0e4a\u0e38", "\u0e11\u0e31\u0e49", "\u0e2d\u0e36\u0e47\u0e3a", "\u0e2c\u0e49", "\u0e2e\u0e36\u0e4b\u0e38", "\u0e1b\u0e36\u0e4e\u0e3a", "\u0e1e\u0e31\u0e4c", "\u0e12\u0e34\u0e4d\u0e3a", "\u0e05\u0e47\u0e39", "\u0e19\u0e31\u0e4c\u0e3a", "\u0e0c\u0e33\u0e4d\u0e3a", "\u0e15\u0e34\u0e48\u0e3a", "\u0e23\u0e35\u0e4a\u0e38", "\u0e09\u0e37\u0e4b\u0e39", "\u0e12\u0e31\u0e4e\u0e3a", "\u0e21\u0e35\u0e47\u0e38", "\u0e16\u0e35\u0e3a", "\u0e21\u0e31\u0e4d\u0e39", "\u0e2d\u0e35\u0e4a\u0e39", "\u0e29\u0e35", "\u0e2a\u0e34\u0e4e\u0e3a", "\u0e0c\u0e37\u0e38", "\u0e23\u0e36\u0e4b\u0e38", "\u0e18\u0e33\u0e49\u0e39", "\u0e1c\u0e37\u0e4a", "\u0e2c\u0e31\u0e4a\u0e38", "\u0e17\u0e31\u0e39", "\u0e09\u0e31\u0e4b\u0e3a", "\u0e27\u0e33\u0e4a\u0e38", "\u0e08\u0e31\u0e4a\u0e3a", "\u0e10\u0e36\u0e4c\u0e38", "\u0e0c\u0e31\u0e49\u0e3a", "\u0e15\u0e33\u0e4c", "\u0e2a\u0e33\u0e4a\u0e39", "\u0e25\u0e34\u0e3a", "\u0e04\u0e37\u0e47\u0e3a", "\u0e18\u0e35\u0e4c", "\u0e06\u0e36\u0e3a", "\u0e21\u0e34\u0e4d", "\u0e09\u0e4e\u0e38", "\u0e12\u0e34\u0e47", "\u0e09\u0e49\u0e38", "\u0e1a\u0e33\u0e4b\u0e3a", "\u0e06\u0e33\u0e4c\u0e39", "\u0e25\u0e35\u0e4b\u0e3a", "\u0e10\u0e33\u0e4c\u0e38", "\u0e1b\u0e37\u0e48\u0e39", "\u0e1a\u0e37\u0e47", "\u0e06\u0e36\u0e47\u0e38", "\u0e14\u0e36\u0e47\u0e38", "\u0e18\u0e35\u0e4c\u0e39", "\u0e09\u0e37\u0e4d\u0e3a", "\u0e1f", "\u0e0d\u0e33\u0e4c\u0e38", "\u0e01\u0e31\u0e4c", "\u0e2c\u0e35\u0e4e\u0e3a", "\u0e11\u0e33\u0e4b\u0e39", "\u0e0e\u0e37\u0e4c", "\u0e0f\u0e35\u0e4c\u0e38", "\u0e2d\u0e33\u0e47", "\u0e1a\u0e4e\u0e38", "\u0e0f\u0e34\u0e49", "\u0e22\u0e34", "\u0e10\u0e34\u0e4e\u0e3a", "\u0e09\u0e37\u0e4d\u0e38", "\u0e27\u0e31\u0e4b\u0e38", "\u0e20\u0e4e\u0e3a", "\u0e2a\u0e33\u0e48", "\u0e1d\u0e35\u0e48\u0e38", "\u0e2b\u0e4b", "\u0e2e\u0e35\u0e47\u0e39", "\u0e02\u0e35\u0e4a\u0e39", "\u0e06\u0e35", "\u0e06\u0e34\u0e4c\u0e3a", "\u0e10\u0e33\u0e4c", "\u0e1d\u0e34\u0e4b\u0e38", "\u0e03\u0e37\u0e4e\u0e3a", "\u0e1f\u0e4b", "\u0e29\u0e33\u0e4c\u0e39", "\u0e21\u0e31\u0e4e", "\u0e0c\u0e4c\u0e3a", "\u0e25\u0e36\u0e38", "\u0e07\u0e35\u0e48\u0e39", "\u0e02\u0e35\u0e48\u0e38", "\u0e1b\u0e34\u0e4d", "\u0e05\u0e34\u0e48\u0e3a", "\u0e1d\u0e48\u0e38", "\u0e18\u0e33\u0e49\u0e3a", "\u0e0a\u0e36\u0e4d\u0e39", "\u0e28\u0e34\u0e4c\u0e39", "\u0e0d\u0e31\u0e48\u0e3a", "\u0e16\u0e39", "\u0e1e\u0e36\u0e3a", "\u0e1a\u0e31\u0e38", "\u0e02\u0e31\u0e4a", "\u0e28\u0e35\u0e4c\u0e38", "\u0e18\u0e37\u0e4c\u0e38", "\u0e22\u0e37\u0e4e\u0e39", "\u0e1e\u0e4e", "\u0e07\u0e35\u0e4d\u0e3a", "\u0e25", "\u0e1e\u0e36\u0e4a\u0e3a", "\u0e0d\u0e37\u0e48\u0e3a", "\u0e2c\u0e34\u0e39", "\u0e2e\u0e36\u0e4e\u0e39", "\u0e17\u0e34\u0e4c\u0e3a", "\u0e1c\u0e35\u0e4b", "\u0e01\u0e34\u0e48\u0e39", "\u0e07\u0e37\u0e4d\u0e39", "\u0e13\u0e31\u0e47\u0e38", "\u0e04\u0e36\u0e4e\u0e39", "\u0e0f\u0e47\u0e39", "\u0e1f\u0e31\u0e4a", "\u0e02\u0e33\u0e4d\u0e39", "\u0e27\u0e36\u0e48\u0e39", "\u0e18\u0e33\u0e4b\u0e3a", "\u0e2a\u0e36\u0e4a\u0e39", "\u0e04\u0e33\u0e39", "\u0e0a\u0e37\u0e4e\u0e3a", "\u0e08\u0e36\u0e47\u0e3a", "\u0e1a\u0e33\u0e3a", "\u0e15\u0e4c\u0e38", "\u0e23\u0e37\u0e49\u0e38", "\u0e14\u0e4d\u0e38", "\u0e06\u0e36\u0e4a\u0e38", "\u0e2b\u0e37\u0e47\u0e3a", "\u0e12\u0e33\u0e4b\u0e3a", "\u0e2c\u0e33\u0e48\u0e38", "\u0e11\u0e31\u0e4a\u0e38", "\u0e1f\u0e37\u0e4a\u0e39", "\u0e03\u0e34\u0e4a\u0e3a", "\u0e1e\u0e33\u0e47\u0e38", "\u0e03\u0e33\u0e48\u0e39", "\u0e1b\u0e48\u0e39", "\u0e15\u0e34\u0e4d\u0e3a", "\u0e13\u0e36\u0e4d\u0e3a", "\u0e2d\u0e33\u0e38", "\u0e2b\u0e36\u0e4b\u0e39", "\u0e22\u0e33\u0e4e", "\u0e20\u0e37\u0e47\u0e38", "\u0e2b\u0e31\u0e4c", "\u0e2b\u0e37\u0e48\u0e39", "\u0e13\u0e49", "\u0e14\u0e33\u0e4e\u0e38", "\u0e04\u0e33\u0e3a", "\u0e2d\u0e34\u0e47\u0e39", "\u0e2b\u0e34\u0e4b", "\u0e21\u0e31\u0e4a\u0e3a", "\u0e01\u0e35\u0e49\u0e3a", "\u0e18\u0e33\u0e47\u0e3a", "\u0e0a\u0e36\u0e49\u0e39", "\u0e0e\u0e36\u0e4c\u0e3a", "\u0e12\u0e37\u0e4d\u0e38", "\u0e1a\u0e36\u0e49", "\u0e23\u0e48", "\u0e10\u0e49\u0e39", "\u0e1a\u0e36\u0e4c\u0e39", "\u0e13\u0e37\u0e4d\u0e39", "\u0e1d\u0e36\u0e4a\u0e39", "\u0e2a\u0e37\u0e4e\u0e38", "\u0e0e\u0e31\u0e4e\u0e39", "\u0e22\u0e36\u0e49\u0e38", "\u0e11\u0e37\u0e47\u0e38", "\u0e2b\u0e31\u0e4c\u0e39", "\u0e02\u0e37\u0e39", "\u0e01\u0e33\u0e4b\u0e3a", "\u0e1f\u0e4d\u0e3a", "\u0e08\u0e33\u0e4b\u0e38", "\u0e22\u0e4c\u0e3a", "\u0e23\u0e37\u0e4e\u0e39", "\u0e29\u0e34\u0e4b\u0e38", "\u0e11\u0e31\u0e4b\u0e3a", "\u0e0b\u0e47\u0e39", "\u0e1e\u0e36\u0e4e\u0e3a", "\u0e2e\u0e33\u0e4a\u0e38", "\u0e1f\u0e31\u0e4d", "\u0e04\u0e31\u0e38", "\u0e03\u0e35\u0e4b\u0e38", "\u0e22\u0e4c\u0e38", "\u0e06\u0e38", "\u0e1f\u0e37\u0e4a\u0e38", "\u0e21\u0e31\u0e48", "\u0e13\u0e36\u0e4e\u0e38", "\u0e08\u0e31\u0e48\u0e38", "\u0e2e\u0e36\u0e38", "\u0e19\u0e37\u0e47\u0e3a", "\u0e0b\u0e47\u0e38", "\u0e07\u0e34\u0e49\u0e38", "\u0e1a\u0e36\u0e4d\u0e39", "\u0e14\u0e37\u0e4e", "\u0e06\u0e31\u0e4c\u0e39", "\u0e19\u0e33\u0e4c\u0e38", "\u0e0d\u0e35\u0e39", "\u0e07\u0e4d", "\u0e07\u0e37\u0e4e", "\u0e28\u0e36\u0e4e\u0e38", "\u0e03\u0e48\u0e38", "\u0e15\u0e36\u0e4b\u0e39", "\u0e03\u0e33\u0e4c\u0e38", "\u0e1d\u0e31\u0e38", "\u0e03\u0e37\u0e4a\u0e39", "\u0e01\u0e39", "\u0e04\u0e37\u0e39", "\u0e04\u0e36\u0e4c\u0e39", "\u0e0e\u0e34\u0e4c\u0e3a", "\u0e29\u0e33\u0e49\u0e38", "\u0e0e\u0e37\u0e4d\u0e38", "\u0e11\u0e35\u0e4c", "\u0e14\u0e34\u0e4b\u0e38", "\u0e2b\u0e35\u0e4b\u0e39", "\u0e17\u0e37\u0e47\u0e38", "\u0e2d\u0e36\u0e4b\u0e38", "\u0e19\u0e35\u0e4c\u0e38", "\u0e1b\u0e4b\u0e39", "\u0e2e\u0e36\u0e47\u0e3a", "\u0e16\u0e31\u0e48\u0e38", "\u0e02\u0e34\u0e49\u0e38", "\u0e19\u0e33\u0e4c\u0e39", "\u0e21\u0e34\u0e4c\u0e38", "\u0e2c\u0e37\u0e49", "\u0e25\u0e35\u0e4c\u0e3a", "\u0e2d\u0e34\u0e4a\u0e3a", "\u0e01\u0e37\u0e48\u0e3a", "\u0e0f\u0e38", "\u0e07\u0e31\u0e4d\u0e3a", "\u0e07\u0e31\u0e47", "\u0e05\u0e33\u0e4c\u0e38", "\u0e2c\u0e37\u0e4b", "\u0e0d\u0e34\u0e4c\u0e3a", "\u0e03\u0e35\u0e47\u0e38", "\u0e2a\u0e38", "\u0e03\u0e36\u0e4d", "\u0e13\u0e36\u0e4b\u0e39", "\u0e0c\u0e33\u0e48\u0e38", "\u0e21\u0e31\u0e4c\u0e38", "\u0e0b\u0e4d\u0e39", "\u0e22\u0e47\u0e38", "\u0e28\u0e33\u0e4d\u0e3a", "\u0e04\u0e33\u0e47\u0e39", "\u0e14\u0e31\u0e48\u0e3a", "\u0e0c\u0e37\u0e4d\u0e39", "\u0e2d\u0e33\u0e47\u0e38", "\u0e29\u0e33\u0e4a\u0e39", "\u0e0d\u0e37\u0e4a\u0e39", "\u0e11\u0e36\u0e4b\u0e38", "\u0e08\u0e31\u0e48\u0e39", "\u0e0c\u0e34\u0e4a\u0e3a", "\u0e03\u0e31\u0e4b\u0e38", "\u0e2e\u0e37\u0e47", "\u0e03\u0e36\u0e4b", "\u0e03\u0e34\u0e38", "\u0e20\u0e48\u0e3a", "\u0e09\u0e35\u0e4e\u0e3a", "\u0e1b\u0e31\u0e4e", "\u0e2d\u0e36\u0e4d\u0e39", "\u0e2a\u0e37\u0e47\u0e39", "\u0e28\u0e36\u0e49\u0e3a", "\u0e09\u0e31\u0e4a", "\u0e0a\u0e35\u0e49\u0e3a", "\u0e2d\u0e34\u0e48\u0e3a", "\u0e18\u0e37\u0e48\u0e38", "\u0e22\u0e31", "\u0e2b\u0e31\u0e4e\u0e38", "\u0e2c\u0e33\u0e49\u0e3a", "\u0e1f\u0e37\u0e4d\u0e3a", "\u0e2c\u0e34\u0e4d\u0e38", "\u0e1f\u0e31\u0e4e\u0e39", "\u0e21\u0e34\u0e3a", "\u0e0c\u0e37\u0e47\u0e38", "\u0e1c\u0e34\u0e4d", "\u0e14\u0e36", "\u0e11\u0e34\u0e4b", "\u0e1d\u0e33\u0e4b", "\u0e23\u0e33\u0e4b\u0e38", "\u0e09\u0e35\u0e4b", "\u0e1b\u0e49\u0e38", "\u0e0a\u0e36\u0e4b", "\u0e02\u0e4e\u0e39", "\u0e0d\u0e4c\u0e38", "\u0e0f\u0e35\u0e4e\u0e3a", "\u0e2d\u0e36\u0e48\u0e39", "\u0e15\u0e33\u0e38", "\u0e27\u0e47", "\u0e0d\u0e34\u0e4c\u0e39", "\u0e11\u0e36\u0e4e\u0e38", "\u0e02", "\u0e28\u0e31\u0e4d", "\u0e09\u0e31\u0e4e", "\u0e1b\u0e34\u0e48\u0e3a", "\u0e1a\u0e33\u0e4b\u0e39", "\u0e25\u0e33\u0e47\u0e39", "\u0e1b\u0e36", "\u0e23\u0e33\u0e49\u0e38", "\u0e04\u0e36\u0e4c\u0e3a", "\u0e27\u0e36\u0e4e\u0e3a", "\u0e0f\u0e37\u0e3a", "\u0e0d\u0e37\u0e4c\u0e3a", "\u0e17\u0e36\u0e4c\u0e38", "\u0e1d\u0e36\u0e4d\u0e3a", "\u0e22\u0e31\u0e4e\u0e38", "\u0e0d\u0e31\u0e4e\u0e38", "\u0e12\u0e37\u0e4e\u0e38", "\u0e29\u0e34\u0e4e\u0e3a", "\u0e0d\u0e47\u0e3a", "\u0e21\u0e34\u0e4d\u0e3a", "\u0e1e\u0e49\u0e38", "\u0e09\u0e34\u0e39", "\u0e25\u0e4b", "\u0e28\u0e31\u0e4c\u0e3a", "\u0e2b\u0e35\u0e48\u0e38", "\u0e27\u0e36\u0e4e", "\u0e2a\u0e35\u0e4e\u0e3a", "\u0e1f\u0e35\u0e38", "\u0e02\u0e4d\u0e3a", "\u0e03\u0e33\u0e4a\u0e38", "\u0e03\u0e49\u0e3a", "\u0e27\u0e36\u0e4c\u0e39", "\u0e04\u0e35\u0e49", "\u0e1b\u0e49\u0e39", "\u0e14\u0e4a\u0e39", "\u0e1c\u0e31\u0e47\u0e39", "\u0e1d\u0e33\u0e49\u0e38", "\u0e04\u0e31\u0e4b", "\u0e20\u0e36\u0e47\u0e38", "\u0e1b\u0e34\u0e49\u0e39", "\u0e1a\u0e31\u0e4d\u0e3a", "\u0e21\u0e4a\u0e39", "\u0e0e\u0e35\u0e4e\u0e39", "\u0e03\u0e31\u0e4b", "\u0e09\u0e34\u0e4d\u0e39", "\u0e2c\u0e36", "\u0e0a\u0e36\u0e4b\u0e38", "\u0e0a\u0e36\u0e4c", "\u0e14\u0e37\u0e48\u0e3a", "\u0e1a\u0e31\u0e4a", "\u0e20\u0e37\u0e4e", "\u0e23\u0e34\u0e48\u0e39", "\u0e13\u0e35", "\u0e04\u0e34\u0e49\u0e3a", "\u0e17\u0e33\u0e4b\u0e38", "\u0e29\u0e35\u0e47\u0e39", "\u0e1e\u0e34\u0e4d\u0e3a", "\u0e2a\u0e36\u0e4d\u0e38", "\u0e15\u0e34\u0e49\u0e3a", "\u0e11\u0e33\u0e4c", "\u0e28\u0e35\u0e49\u0e38", "\u0e0c\u0e36\u0e4d", "\u0e18\u0e37\u0e4b\u0e3a", "\u0e29\u0e37\u0e4a", "\u0e16\u0e35\u0e4c\u0e38", "\u0e05\u0e39", "\u0e16\u0e35\u0e4b\u0e39", "\u0e1d\u0e31\u0e4d\u0e3a", "\u0e0b\u0e33\u0e4c\u0e39", "\u0e10\u0e31\u0e4b\u0e38", "\u0e15\u0e33\u0e4b", "\u0e1d\u0e4d\u0e39", "\u0e0f\u0e34\u0e48\u0e39", "\u0e1e\u0e4a\u0e3a", "\u0e18\u0e31\u0e47", "\u0e21\u0e34\u0e49\u0e39", "\u0e1d\u0e37\u0e4c\u0e3a", "\u0e02\u0e31\u0e49\u0e38", "\u0e2d\u0e37\u0e4e\u0e39", "\u0e01\u0e36\u0e4a", "\u0e25\u0e36\u0e4a", "\u0e17\u0e34\u0e49\u0e39", "\u0e01\u0e35\u0e48", "\u0e17\u0e36\u0e4c\u0e39", "\u0e1a\u0e39", "\u0e27\u0e4a\u0e39", "\u0e10\u0e34\u0e4d\u0e38", "\u0e02\u0e31\u0e4a\u0e39", "\u0e03\u0e33\u0e4e\u0e3a", "\u0e06\u0e4e", "\u0e0e\u0e35\u0e4a\u0e38", "\u0e05\u0e36\u0e49\u0e39", "\u0e0c\u0e33\u0e4b", "\u0e13\u0e37\u0e49\u0e38", "\u0e06\u0e34\u0e4a", "\u0e0f\u0e36\u0e4c", "\u0e1a\u0e36\u0e48\u0e39", "\u0e20\u0e34\u0e47\u0e3a", "\u0e29\u0e34\u0e4e\u0e39", "\u0e21\u0e33\u0e3a", "\u0e23\u0e33\u0e4e\u0e39", "\u0e2c\u0e34\u0e4a", "\u0e0b\u0e36\u0e49\u0e3a", "\u0e2e\u0e36\u0e4e\u0e38", "\u0e2a\u0e33\u0e38", "\u0e08\u0e33\u0e4c", "\u0e22\u0e47\u0e39", "\u0e04\u0e36\u0e4b", "\u0e28\u0e33\u0e4a\u0e38", "\u0e1d\u0e36\u0e4c\u0e3a", "\u0e21\u0e34\u0e4b", "\u0e23\u0e34\u0e4a\u0e39", "\u0e13\u0e38", "\u0e0b\u0e4a\u0e39", "\u0e22\u0e34\u0e49\u0e3a", "\u0e20\u0e36\u0e4e\u0e3a", "\u0e21\u0e38", "\u0e21\u0e31\u0e4d\u0e3a", "\u0e1f\u0e37\u0e48", "\u0e14\u0e36\u0e4a", "\u0e08\u0e31\u0e4b\u0e39", "\u0e2b\u0e4c", "\u0e15\u0e31\u0e49\u0e3a", "\u0e0b\u0e34\u0e4d\u0e39", "\u0e12\u0e48\u0e39", "\u0e0e\u0e4b\u0e39", "\u0e1b\u0e31\u0e48", "\u0e23\u0e35\u0e47\u0e38", "\u0e09\u0e35\u0e47\u0e38", "\u0e27\u0e4e\u0e3a", "\u0e22\u0e4a", "\u0e2c\u0e37\u0e38", "\u0e05\u0e36\u0e49\u0e3a", "\u0e1f\u0e48\u0e3a", "\u0e1f\u0e37\u0e4a", "\u0e2c\u0e33\u0e49", "\u0e11\u0e36\u0e4c", "\u0e17\u0e33\u0e4a\u0e3a", "\u0e11\u0e37\u0e48\u0e3a", "\u0e0e\u0e34\u0e49\u0e3a", "\u0e10\u0e33\u0e4e\u0e3a", "\u0e1e\u0e34\u0e4d\u0e38", "\u0e07\u0e4a", "\u0e17\u0e31\u0e4c\u0e3a", "\u0e28\u0e35\u0e4c\u0e3a", "\u0e1d\u0e4a", "\u0e03\u0e37\u0e4d\u0e3a", "\u0e15\u0e37\u0e4e\u0e3a", "\u0e2c\u0e37\u0e4d\u0e3a", "\u0e0b\u0e33\u0e48\u0e38", "\u0e1a\u0e37\u0e4c", "\u0e01\u0e33", "\u0e2c\u0e4e", "\u0e2a\u0e31\u0e4a", "\u0e29\u0e31\u0e47\u0e39", "\u0e08\u0e35\u0e49\u0e39", "\u0e27\u0e33\u0e4b\u0e3a", "\u0e2d\u0e36\u0e38", "\u0e18\u0e33\u0e47", "\u0e09\u0e4d\u0e39", "\u0e08\u0e34\u0e4d\u0e3a", "\u0e06\u0e33\u0e4a\u0e38", "\u0e2b\u0e37\u0e4a\u0e3a", "\u0e0a\u0e37\u0e48\u0e38", "\u0e27\u0e37\u0e4b\u0e3a", "\u0e29\u0e33\u0e4c", "\u0e2b\u0e33\u0e3a", "\u0e04\u0e4a", "\u0e09\u0e37\u0e4e", "\u0e18\u0e36\u0e47\u0e38", "\u0e12\u0e4c", "\u0e2e\u0e34\u0e49\u0e3a", "\u0e1b\u0e31\u0e49", "\u0e03\u0e38", "\u0e1e\u0e35\u0e4d\u0e39", "\u0e2c\u0e36\u0e4a\u0e39", "\u0e19\u0e37\u0e4a\u0e38", "\u0e03\u0e36\u0e4c", "\u0e1a\u0e31\u0e4c\u0e3a", "\u0e05\u0e48\u0e3a", "\u0e1e\u0e33\u0e48\u0e39", "\u0e2d\u0e33\u0e4a\u0e39", "\u0e17\u0e34\u0e4d\u0e38", "\u0e1f\u0e34\u0e4d\u0e39", "\u0e1d\u0e37\u0e4e\u0e38", "\u0e21\u0e37\u0e48\u0e38", "\u0e21\u0e34\u0e48", "\u0e1b\u0e35\u0e4d\u0e3a", "\u0e08\u0e35\u0e4b\u0e39", "\u0e14\u0e36\u0e4b\u0e3a", "\u0e1e\u0e37\u0e4a\u0e38", "\u0e2a\u0e33\u0e4a\u0e3a", "\u0e27\u0e34\u0e47\u0e38", "\u0e1d\u0e36\u0e4a\u0e38", "\u0e1a\u0e33\u0e4d", "\u0e20\u0e37\u0e4e\u0e39", "\u0e1f\u0e36\u0e4b", "\u0e27\u0e36\u0e47\u0e39", "\u0e28\u0e35\u0e4d", "\u0e01\u0e33\u0e4a\u0e3a", "\u0e0b\u0e37\u0e4b\u0e38", "\u0e07\u0e37\u0e49", "\u0e0e\u0e35\u0e47\u0e3a", "\u0e06\u0e35\u0e4a\u0e3a", "\u0e12\u0e31\u0e48\u0e38", "\u0e14\u0e37\u0e3a", "\u0e08\u0e4b", "\u0e09\u0e36\u0e4c", "\u0e1c\u0e33\u0e4d\u0e38", "\u0e16\u0e37\u0e49\u0e39", "\u0e28\u0e49", "\u0e18\u0e35\u0e4e\u0e3a", "\u0e0d\u0e33\u0e4d\u0e38", "\u0e27\u0e34\u0e4c\u0e3a", "\u0e0f\u0e31\u0e4e\u0e38", "\u0e07\u0e33\u0e49", "\u0e16\u0e35\u0e4e\u0e38", "\u0e1e\u0e4b\u0e39", "\u0e20\u0e35\u0e4c\u0e39", "\u0e1b\u0e34\u0e4d\u0e39", "\u0e16\u0e35\u0e48\u0e38", "\u0e0f\u0e33\u0e4e\u0e39", "\u0e0b\u0e31\u0e4a\u0e39", "\u0e1a\u0e35\u0e4b\u0e3a", "\u0e22\u0e37", "\u0e0a\u0e34\u0e4a\u0e38", "\u0e1b\u0e36\u0e48\u0e39", "\u0e0b\u0e34\u0e4e", "\u0e11\u0e33\u0e4a\u0e38", "\u0e2d\u0e38", "\u0e0e\u0e37\u0e48", "\u0e27\u0e36\u0e4c", "\u0e06\u0e34\u0e4c\u0e39", "\u0e0c\u0e36\u0e47\u0e3a", "\u0e20\u0e4a", "\u0e0e\u0e37\u0e4e", "\u0e0a\u0e35\u0e4a", "\u0e11\u0e37\u0e49\u0e38", "\u0e16\u0e47\u0e3a", "\u0e11\u0e36\u0e4d\u0e39", "\u0e2e\u0e34\u0e39", "\u0e0e\u0e31\u0e4b", "\u0e07\u0e34\u0e4b", "\u0e1e\u0e33\u0e4a\u0e38", "\u0e19\u0e33\u0e4a\u0e3a", "\u0e18\u0e47", "\u0e10\u0e31\u0e4e\u0e38", "\u0e1f\u0e35\u0e49\u0e39", "\u0e13\u0e36\u0e4e\u0e39", "\u0e13\u0e33\u0e39", "\u0e25\u0e34\u0e4d", "\u0e01\u0e37\u0e4e\u0e39", "\u0e02\u0e34\u0e49\u0e3a", "\u0e07\u0e31\u0e4c\u0e3a", "\u0e12\u0e48\u0e3a", "\u0e11\u0e35\u0e49\u0e39", "\u0e28\u0e34\u0e47\u0e39", "\u0e05\u0e34", "\u0e0c\u0e37\u0e4b\u0e3a", "\u0e1c\u0e4d\u0e39", "\u0e08\u0e34\u0e4e\u0e3a", "\u0e0e\u0e4e\u0e38", "\u0e2e\u0e34\u0e4e\u0e3a", "\u0e23\u0e31\u0e4b\u0e39", "\u0e1e\u0e33\u0e4b\u0e3a", "\u0e0f\u0e34\u0e49\u0e38", "\u0e09\u0e38", "\u0e2a\u0e33\u0e39", "\u0e13\u0e31\u0e48\u0e3a", "\u0e28\u0e35\u0e4a\u0e3a", "\u0e14\u0e35\u0e48\u0e39", "\u0e0a\u0e37\u0e4a\u0e39", "\u0e19\u0e36\u0e4e\u0e3a", "\u0e29\u0e36\u0e49\u0e38", "\u0e2b\u0e35\u0e4c\u0e3a", "\u0e1c\u0e34\u0e4c\u0e39", "\u0e11\u0e35\u0e4e\u0e39", "\u0e05\u0e31\u0e4a\u0e38", "\u0e03\u0e33\u0e4e\u0e38", "\u0e0c\u0e37\u0e48", "\u0e2a\u0e37\u0e49", "\u0e1f\u0e31\u0e4b\u0e38", "\u0e17\u0e33\u0e47\u0e39", "\u0e2a\u0e37\u0e48", "\u0e2c\u0e31\u0e4d", "\u0e0b\u0e37\u0e48\u0e39", "\u0e0a\u0e34\u0e48", "\u0e23\u0e35\u0e4e\u0e39", "\u0e16\u0e37\u0e4b\u0e3a", "\u0e16\u0e33\u0e38", "\u0e14\u0e37\u0e4a", "\u0e08\u0e36\u0e4c\u0e3a", "\u0e1a\u0e31\u0e4b\u0e3a", "\u0e16\u0e33\u0e47\u0e3a", "\u0e21\u0e36\u0e48\u0e39", "\u0e0e\u0e37\u0e4e\u0e3a", "\u0e15\u0e33\u0e48\u0e39", "\u0e29\u0e33\u0e4d\u0e39", "\u0e25\u0e4b\u0e3a", "\u0e1b\u0e34\u0e4a\u0e39", "\u0e03\u0e33\u0e48\u0e3a", "\u0e29\u0e31\u0e4e\u0e39", "\u0e02\u0e34\u0e48\u0e39", "\u0e05\u0e34\u0e47", "\u0e2e", "\u0e07\u0e34\u0e48", "\u0e0d\u0e34\u0e4d", "\u0e0f\u0e36\u0e48\u0e38", "\u0e03\u0e34\u0e4c\u0e38", "\u0e16\u0e36\u0e49\u0e3a", "\u0e06\u0e4c\u0e39", "\u0e0a\u0e37\u0e49\u0e39", "\u0e0e\u0e37\u0e4d", "\u0e2c\u0e31\u0e49\u0e38", "\u0e12\u0e4d\u0e39", "\u0e0c\u0e37\u0e4b", "\u0e07\u0e34\u0e47\u0e38", "\u0e0c\u0e36\u0e4a", "\u0e01\u0e34\u0e4d\u0e38", "\u0e0b\u0e34\u0e4a\u0e39", "\u0e2a\u0e34\u0e4a", "\u0e14\u0e47", "\u0e1b\u0e33\u0e49\u0e38", "\u0e19\u0e3a", "\u0e2e\u0e33\u0e48\u0e38", "\u0e04\u0e4b\u0e39", "\u0e1b\u0e37\u0e4d", "\u0e2e\u0e37\u0e4a\u0e39", "\u0e0c\u0e36\u0e3a", "\u0e0f\u0e37\u0e4c\u0e3a", "\u0e2c\u0e33\u0e4c\u0e3a", "\u0e14\u0e34\u0e48", "\u0e0c\u0e4a\u0e39", "\u0e14\u0e31\u0e4b\u0e39", "\u0e27\u0e34\u0e4d\u0e39", "\u0e0f\u0e37\u0e39", "\u0e0b\u0e33\u0e4a\u0e3a", "\u0e04\u0e35\u0e39", "\u0e03\u0e35\u0e4e\u0e3a", "\u0e0b\u0e37\u0e4d", "\u0e0b\u0e31\u0e4d", "\u0e1c\u0e37\u0e4c\u0e38", "\u0e07\u0e35\u0e4b\u0e3a", "\u0e17\u0e48\u0e38", "\u0e14\u0e31\u0e4c\u0e39", "\u0e17\u0e37\u0e4a\u0e38", "\u0e11\u0e34\u0e4c\u0e39", "\u0e2d\u0e33\u0e4c", "\u0e0d\u0e37\u0e4b\u0e38", "\u0e2d\u0e34\u0e4d", "\u0e04\u0e34\u0e47", "\u0e1a\u0e36\u0e48\u0e38", "\u0e1f\u0e31\u0e47\u0e38", "\u0e2b\u0e4c\u0e3a", "\u0e2c\u0e37\u0e4d", "\u0e11\u0e36\u0e47\u0e39", "\u0e1c\u0e37\u0e49\u0e3a", "\u0e2d\u0e31\u0e48\u0e3a", "\u0e06\u0e33\u0e47\u0e3a", "\u0e25\u0e35\u0e4b\u0e38", "\u0e08\u0e4e\u0e38", "\u0e07\u0e34\u0e39", "\u0e29\u0e34\u0e3a", "\u0e18\u0e33\u0e4a\u0e3a", "\u0e16\u0e47\u0e38", "\u0e2b\u0e31\u0e3a", "\u0e21\u0e36\u0e4b", "\u0e06\u0e35\u0e49\u0e3a", "\u0e17\u0e34\u0e4a\u0e3a", "\u0e07\u0e36\u0e49\u0e39", "\u0e15\u0e36\u0e48\u0e39", "\u0e29\u0e34\u0e48\u0e38", "\u0e2a\u0e34\u0e4c\u0e39", "\u0e14\u0e34\u0e4e\u0e39", "\u0e21\u0e49\u0e38", "\u0e12\u0e34\u0e4c\u0e38", "\u0e02\u0e35\u0e47\u0e3a", "\u0e11\u0e33", "\u0e08\u0e35\u0e4b", "\u0e06\u0e36\u0e4e\u0e38", "\u0e2d\u0e4c\u0e3a", "\u0e0a\u0e34\u0e4b\u0e38", "\u0e06\u0e33\u0e49", "\u0e27\u0e33\u0e4e", "\u0e1e\u0e35\u0e47\u0e3a", "\u0e2a\u0e4e\u0e39", "\u0e2b\u0e33\u0e4d\u0e38", "\u0e11\u0e34\u0e49", "\u0e19\u0e4c\u0e39", "\u0e15\u0e36\u0e48\u0e3a", "\u0e1b\u0e35\u0e4b\u0e3a", "\u0e18\u0e31\u0e4d\u0e39", "\u0e16\u0e36\u0e4b\u0e39", "\u0e1d\u0e35\u0e48\u0e39", "\u0e12\u0e3a", "\u0e03\u0e33\u0e4b\u0e39", "\u0e11\u0e4a\u0e38", "\u0e1c\u0e35\u0e4e\u0e38", "\u0e0e\u0e47", "\u0e07\u0e36\u0e49\u0e3a", "\u0e10\u0e4a\u0e39", "\u0e06\u0e4d\u0e3a", "\u0e29\u0e31\u0e47\u0e38", "\u0e06\u0e34\u0e3a", "\u0e09\u0e48\u0e38", "\u0e2d\u0e33\u0e4b", "\u0e2b\u0e31\u0e49\u0e38", "\u0e06\u0e4c\u0e3a", "\u0e07\u0e31\u0e4b\u0e38", "\u0e11\u0e35\u0e4a", "\u0e2b\u0e31\u0e4a\u0e39", "\u0e07", "\u0e2b\u0e31\u0e39", "\u0e25\u0e31\u0e48\u0e3a", "\u0e14\u0e31\u0e4a", "\u0e05\u0e31\u0e47", "\u0e07\u0e35\u0e4b\u0e39", "\u0e12\u0e37\u0e4a\u0e39", "\u0e2c\u0e35\u0e4b\u0e39", "\u0e28\u0e33\u0e49", "\u0e1f\u0e31\u0e4b", "\u0e03\u0e33\u0e4a", "\u0e01\u0e36\u0e4c\u0e3a", "\u0e06\u0e31\u0e47", "\u0e01\u0e36\u0e4d\u0e3a", "\u0e2d\u0e37\u0e4e", "\u0e20\u0e35\u0e4e\u0e38", "\u0e27\u0e35\u0e47\u0e38", "\u0e18\u0e35\u0e4b", "\u0e22\u0e36\u0e4d\u0e38", "\u0e03\u0e35\u0e49\u0e3a", "\u0e2c\u0e34\u0e4b", "\u0e1d\u0e33\u0e4d", "\u0e05\u0e4b\u0e3a", "\u0e01\u0e47\u0e39", "\u0e16\u0e34\u0e4b", "\u0e2c\u0e33\u0e4c\u0e39", "\u0e10\u0e33\u0e4a\u0e3a", "\u0e06\u0e31\u0e47\u0e39", "\u0e11\u0e34\u0e4b\u0e3a", "\u0e05\u0e37\u0e4b", "\u0e02\u0e37\u0e47\u0e39", "\u0e18\u0e34\u0e49\u0e38", "\u0e25\u0e36\u0e4d\u0e38", "\u0e01\u0e34\u0e4b", "\u0e2b\u0e36\u0e49\u0e3a", "\u0e01\u0e37\u0e4c\u0e3a", "\u0e09\u0e35\u0e47\u0e39", "\u0e0e\u0e37\u0e48\u0e39", "\u0e16\u0e34\u0e47\u0e38", "\u0e2b\u0e35\u0e4d\u0e38", "\u0e1b\u0e33\u0e4e\u0e38", "\u0e0f\u0e37\u0e4d", "\u0e0f\u0e31\u0e4c\u0e3a", "\u0e15\u0e37\u0e47\u0e39", "\u0e1c\u0e33\u0e4d\u0e3a", "\u0e09\u0e37\u0e48", "\u0e16\u0e36\u0e4e\u0e38", "\u0e20\u0e35\u0e48\u0e39", "\u0e2b\u0e33\u0e48\u0e38", "\u0e02\u0e34\u0e4c", "\u0e27\u0e35\u0e4e\u0e39", "\u0e18\u0e36\u0e4a", "\u0e02\u0e4d", "\u0e2b\u0e47\u0e39", "\u0e1a\u0e35", "\u0e0c\u0e36\u0e47", "\u0e0b\u0e34\u0e4e\u0e39", "\u0e20\u0e31\u0e3a", "\u0e18\u0e47\u0e3a", "\u0e0f\u0e33\u0e48\u0e3a", "\u0e02\u0e33\u0e4b\u0e39", "\u0e2a\u0e31\u0e4e\u0e3a", "\u0e0c\u0e34\u0e48", "\u0e0a\u0e34\u0e49", "\u0e1b\u0e33\u0e4e\u0e39", "\u0e28\u0e37\u0e47", "\u0e0e\u0e35\u0e48\u0e38", "\u0e2d\u0e31\u0e4a\u0e38", "\u0e0e\u0e34\u0e4b\u0e3a", "\u0e0d\u0e33\u0e4b\u0e39", "\u0e1b\u0e34\u0e4a\u0e3a", "\u0e28\u0e34\u0e4e\u0e38", "\u0e15\u0e31\u0e4d", "\u0e1f\u0e34\u0e4b\u0e39", "\u0e22\u0e4e\u0e3a", "\u0e0d\u0e33\u0e49\u0e39", "\u0e01\u0e34\u0e4c\u0e3a", "\u0e01\u0e35\u0e48\u0e3a", "\u0e0d\u0e37\u0e47\u0e3a", "\u0e1e\u0e33\u0e3a", "\u0e29\u0e4b", "\u0e15\u0e31\u0e4b\u0e38", "\u0e10\u0e35\u0e4b\u0e3a", "\u0e22\u0e33\u0e49\u0e38", "\u0e1c\u0e35\u0e4d\u0e3a", "\u0e20\u0e33\u0e4e", "\u0e09\u0e37\u0e4c", "\u0e07\u0e47\u0e3a", "\u0e2c\u0e33\u0e47\u0e39", "\u0e0c\u0e36\u0e4b\u0e3a", "\u0e2e\u0e35\u0e49", "\u0e27\u0e33\u0e48\u0e38", "\u0e0c\u0e31\u0e4e\u0e39", "\u0e0f\u0e35\u0e4d\u0e38", "\u0e13\u0e36\u0e39", "\u0e29\u0e33\u0e49\u0e39", "\u0e19\u0e33\u0e3a", "\u0e0a\u0e35\u0e47", "\u0e01\u0e35\u0e4e", "\u0e15\u0e4d\u0e38", "\u0e13\u0e33\u0e47", "\u0e2c\u0e33\u0e4a\u0e38", "\u0e04\u0e35\u0e48\u0e38", "\u0e11\u0e35\u0e47", "\u0e15\u0e47", "\u0e25\u0e37\u0e49\u0e3a", "\u0e23\u0e31\u0e4c\u0e38", "\u0e1b\u0e31\u0e48\u0e39", "\u0e0a\u0e37\u0e4b", "\u0e06\u0e35\u0e4b", "\u0e11\u0e33\u0e48\u0e38", "\u0e22\u0e31\u0e4e\u0e3a", "\u0e0c\u0e36\u0e48\u0e39", "\u0e14\u0e37\u0e47", "\u0e2a\u0e31\u0e47\u0e3a", "\u0e08\u0e35\u0e48", "\u0e0b\u0e34\u0e4e\u0e38", "\u0e18\u0e4e\u0e39", "\u0e13\u0e36\u0e49\u0e39", "\u0e20\u0e37\u0e48\u0e3a", "\u0e1f\u0e37\u0e4b\u0e3a", "\u0e1e\u0e34\u0e4e\u0e39", "\u0e0b\u0e36\u0e4e\u0e39", "\u0e1b\u0e31\u0e3a", "\u0e12\u0e31\u0e49\u0e38", "\u0e2d\u0e35\u0e4e\u0e39", "\u0e03\u0e31\u0e47\u0e39", "\u0e14\u0e36\u0e49\u0e38", "\u0e12\u0e33\u0e49\u0e38", "\u0e28\u0e48\u0e39", "\u0e16\u0e4b", "\u0e23\u0e35\u0e4d", "\u0e13\u0e33\u0e49", "\u0e03\u0e35\u0e49\u0e39", "\u0e0f\u0e36\u0e4d\u0e39", "\u0e21\u0e31\u0e47\u0e3a", "\u0e0c\u0e4a", "\u0e06\u0e36", "\u0e16\u0e34\u0e4a\u0e39", "\u0e03\u0e37\u0e47\u0e38", "\u0e10\u0e36\u0e47", "\u0e2a\u0e36\u0e4a", "\u0e2d\u0e36\u0e4e\u0e3a", "\u0e09\u0e35", "\u0e15\u0e31\u0e47\u0e39", "\u0e08\u0e37\u0e4e", "\u0e19\u0e36\u0e4a", "\u0e13\u0e31\u0e48\u0e38", "\u0e0a\u0e35\u0e49\u0e38", "\u0e1d\u0e36\u0e49\u0e3a", "\u0e0b\u0e36\u0e4b\u0e38", "\u0e27\u0e31\u0e3a", "\u0e12\u0e35\u0e3a", "\u0e0f\u0e4a\u0e3a", "\u0e1d\u0e47\u0e38", "\u0e21\u0e34\u0e49", "\u0e20\u0e33\u0e49", "\u0e18\u0e35\u0e48\u0e3a", "\u0e1b\u0e36\u0e49\u0e39", "\u0e2a\u0e35\u0e4a\u0e3a", "\u0e06\u0e36\u0e4a\u0e39", "\u0e1c\u0e4c\u0e38", "\u0e14\u0e31\u0e4e\u0e3a", "\u0e11\u0e37\u0e49\u0e39", "\u0e12\u0e37\u0e4c\u0e38", "\u0e2e\u0e36\u0e3a", "\u0e28\u0e37\u0e47\u0e38", "\u0e04\u0e35\u0e4b\u0e3a", "\u0e0e\u0e34\u0e3a", "\u0e01\u0e37\u0e48\u0e39", "\u0e1e\u0e34\u0e49\u0e3a", "\u0e03\u0e33\u0e4c\u0e39", "\u0e28\u0e37\u0e47\u0e39", "\u0e19\u0e35\u0e3a", "\u0e1a\u0e35\u0e4e\u0e39", "\u0e01\u0e31\u0e48\u0e39", "\u0e05\u0e35\u0e4b\u0e39", "\u0e05\u0e35\u0e4b\u0e3a", "\u0e16\u0e31\u0e4a\u0e38", "\u0e0c\u0e36\u0e48\u0e38", "\u0e0a\u0e31\u0e48\u0e38", "\u0e17\u0e37\u0e49\u0e39", "\u0e09\u0e36\u0e4e\u0e3a", "\u0e1a\u0e34\u0e49\u0e38", "\u0e2c\u0e35\u0e4d\u0e3a", "\u0e1b\u0e33\u0e49", "\u0e29\u0e36", "\u0e0f\u0e37\u0e4a\u0e38", "\u0e13\u0e34\u0e49\u0e38", "\u0e02\u0e35\u0e4e\u0e39", "\u0e03\u0e35\u0e4a", "\u0e0d\u0e31\u0e4d", "\u0e07\u0e34\u0e4c\u0e38", "\u0e17\u0e31\u0e4a\u0e39", "\u0e28\u0e34\u0e47\u0e3a", "\u0e23\u0e31\u0e4d\u0e3a", "\u0e2a\u0e33\u0e4a\u0e38", "\u0e18\u0e34\u0e48\u0e38", "\u0e12\u0e34\u0e4d\u0e38", "\u0e12\u0e34\u0e4b\u0e38", "\u0e2d\u0e35\u0e49\u0e3a", "\u0e1e\u0e36\u0e4d\u0e3a", "\u0e15\u0e33\u0e4c\u0e3a", "\u0e1d\u0e33\u0e4b\u0e3a", "\u0e13\u0e35\u0e4c\u0e38", "\u0e1a\u0e48", "\u0e08\u0e34\u0e48\u0e39", "\u0e0c\u0e49", "\u0e1d\u0e31\u0e4b\u0e39", "\u0e25\u0e33\u0e4b\u0e38", "\u0e10\u0e37\u0e49\u0e38", "\u0e1c\u0e34\u0e38", "\u0e2d\u0e37", "\u0e09\u0e31\u0e4d", "\u0e0c\u0e4c\u0e39", "\u0e19\u0e36\u0e4a\u0e39", "\u0e27\u0e35", "\u0e28\u0e34\u0e3a", "\u0e04\u0e34\u0e4c\u0e39", "\u0e1a\u0e37\u0e4e\u0e39", "\u0e13\u0e35\u0e4a", "\u0e29\u0e37\u0e48\u0e3a", "\u0e06\u0e37\u0e4e\u0e39", "\u0e22\u0e36\u0e3a", "\u0e1b\u0e35\u0e39", "\u0e10\u0e37\u0e49", "\u0e1d\u0e35\u0e49\u0e38", "\u0e04\u0e35\u0e48", "\u0e09\u0e36\u0e3a", "\u0e08\u0e37\u0e49\u0e38", "\u0e20\u0e35\u0e4b\u0e38", "\u0e0e\u0e34\u0e4e\u0e38", "\u0e1d\u0e35\u0e49\u0e3a", "\u0e09\u0e34\u0e4b", "\u0e01\u0e31\u0e4b\u0e39", "\u0e2d\u0e33\u0e4a\u0e38", "\u0e02\u0e4e", "\u0e23\u0e33\u0e4d", "\u0e25\u0e4e\u0e3a", "\u0e1b\u0e33\u0e47\u0e38", "\u0e27\u0e33\u0e4d\u0e3a", "\u0e1d\u0e31\u0e48\u0e3a", "\u0e1e\u0e31\u0e47\u0e39", "\u0e07\u0e37\u0e3a", "\u0e03\u0e34\u0e4d\u0e3a", "\u0e14\u0e35\u0e48\u0e3a", "\u0e29\u0e33\u0e4e", "\u0e23\u0e31\u0e4a\u0e38", "\u0e2e\u0e35", "\u0e1e\u0e35\u0e4a\u0e3a", "\u0e1d\u0e33\u0e4e\u0e39", "\u0e28\u0e36\u0e3a", "\u0e18\u0e34\u0e4c", "\u0e1a\u0e34\u0e4c\u0e38", "\u0e25\u0e4a", "\u0e13\u0e4a\u0e3a", "\u0e27\u0e34\u0e4c\u0e39", "\u0e2c\u0e34\u0e3a", "\u0e1c\u0e37\u0e4c", "\u0e2a\u0e35\u0e4a\u0e38", "\u0e04\u0e35\u0e47\u0e38", "\u0e01\u0e33\u0e38", "\u0e0a\u0e36\u0e4a\u0e39", "\u0e2c\u0e36\u0e3a", "\u0e03\u0e33\u0e38", "\u0e18\u0e35\u0e47\u0e38", "\u0e14\u0e31\u0e4a\u0e39", "\u0e04\u0e37\u0e4e\u0e38", "\u0e0c\u0e35\u0e49\u0e39", "\u0e07\u0e35\u0e49\u0e39", "\u0e19\u0e37\u0e48\u0e39", "\u0e0d\u0e34\u0e4b\u0e39", "\u0e12\u0e4b\u0e38", "\u0e20\u0e36\u0e4d\u0e39", "\u0e09\u0e37\u0e47\u0e3a", "\u0e20\u0e37\u0e4d\u0e38", "\u0e28\u0e36\u0e4d\u0e39", "\u0e04\u0e37\u0e48", "\u0e21\u0e34\u0e47\u0e3a", "\u0e02\u0e33\u0e4a\u0e38", "\u0e28\u0e37\u0e49\u0e39", "\u0e22\u0e36\u0e48", "\u0e21\u0e4b", "\u0e11\u0e33\u0e4a", "\u0e13\u0e34\u0e4e\u0e39", "\u0e12\u0e35\u0e4b\u0e3a", "\u0e15\u0e31\u0e4a\u0e3a", "\u0e2e\u0e31\u0e4b\u0e39", "\u0e29\u0e33\u0e39", "\u0e02\u0e31\u0e4e\u0e3a", "\u0e14\u0e34\u0e4e", "\u0e15\u0e36\u0e47", "\u0e05\u0e33\u0e47\u0e3a", "\u0e22\u0e4b\u0e38", "\u0e14\u0e36\u0e4e\u0e39", "\u0e21\u0e36\u0e4c\u0e39", "\u0e01\u0e37\u0e48\u0e38", "\u0e2a\u0e35\u0e48\u0e38", "\u0e07\u0e34\u0e47\u0e3a", "\u0e23\u0e34\u0e38", "\u0e12\u0e35\u0e4b", "\u0e2e\u0e34\u0e4e\u0e38", "\u0e21\u0e31\u0e4a\u0e39", "\u0e09\u0e34\u0e38", "\u0e2b\u0e33\u0e48\u0e3a", "\u0e25\u0e31\u0e49\u0e39", "\u0e17\u0e33", "\u0e0c\u0e35\u0e4c\u0e39", "\u0e0f\u0e33\u0e48\u0e38", "\u0e0e\u0e4c\u0e39", "\u0e17\u0e36\u0e4e\u0e38", "\u0e17\u0e31\u0e48\u0e3a", "\u0e0a\u0e36\u0e48\u0e38", "\u0e08\u0e31\u0e49", "\u0e22\u0e34\u0e4a", "\u0e0d\u0e34\u0e4e\u0e39", "\u0e2e\u0e34\u0e4d", "\u0e2a\u0e34\u0e47\u0e39", "\u0e02\u0e49\u0e38", "\u0e25\u0e31\u0e4b\u0e3a", "\u0e2d\u0e34", "\u0e06\u0e34\u0e4b\u0e38", "\u0e01\u0e33\u0e4a\u0e39", "\u0e16\u0e31\u0e48", "\u0e22\u0e31\u0e4b\u0e39", "\u0e01\u0e37\u0e49\u0e39", "\u0e0b\u0e34\u0e4a", "\u0e0d\u0e34\u0e47\u0e38", "\u0e10\u0e35\u0e4e\u0e38", "\u0e0e\u0e35\u0e47\u0e38", "\u0e2c\u0e33\u0e39", "\u0e1d\u0e33\u0e47", "\u0e1b\u0e35\u0e4a\u0e3a", "\u0e14\u0e33\u0e47\u0e38", "\u0e0a\u0e4e"]}}
================================================
FILE: models/__init__.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
from .ma_core import MACore
from .discriminator import Discriminator
from .aux_classifier import AuxClassifier
================================================
FILE: models/aux_classifier.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
from functools import partial
import torch.nn as nn
from .modules import ResBlock, Flatten
class AuxClassifier(nn.Module):
def __init__(self, C, C_out, norm='BN', activ='relu', pad_type='reflect',
conv_dropout=0., clf_dropout=0.):
super().__init__()
ResBlk = partial(ResBlock, norm=norm, activ=activ, pad_type=pad_type, dropout=conv_dropout)
self.layers = nn.ModuleList([
ResBlk(C, C*2, 3, 1, downsample=True),
ResBlk(C*2, C*2, 3, 1),
nn.AdaptiveAvgPool2d(1),
Flatten(1),
nn.Dropout(clf_dropout),
nn.Linear(C*2, C_out)
])
def forward(self, x):
for layer in self.layers:
x = layer(x)
return x
================================================
FILE: models/comp_encoder.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
from functools import partial
import torch.nn as nn
import torch
from .modules import ConvBlock, ResBlock, GCBlock, SAFFNBlock
class ComponentEncoder(nn.Module):
""" Component image decomposer
Encode the glyph into each component-wise features
"""
def __init__(self, C_in, C, norm='none', activ='relu', pad_type='reflect',
sa=None, n_comp_types=3):
super().__init__()
self.n_heads = n_comp_types
ConvBlk = partial(ConvBlock, norm=norm, activ=activ, pad_type=pad_type)
ResBlk = partial(ResBlock, norm=norm, activ=activ, pad_type=pad_type)
SAFFNBlk = partial(SAFFNBlock, **sa)
self.shared = nn.ModuleList([
ConvBlk(C_in, C, 3, 1, 1, norm='none', activ='none'), # 128x128
ConvBlk(C*1, C*2, 3, 1, 1, downsample=True), # 64x64
GCBlock(C*2),
ConvBlk(C*2, C*4, 3, 1, 1, downsample=True), # 32x32
SAFFNBlk(C*4, size=32, rel_pos=True),
])
self.heads = nn.ModuleList([
nn.ModuleList([
ResBlk(C*4, C*4, 3, 1),
SAFFNBlk(C*4, size=32, rel_pos=False),
ResBlk(C*4, C*4, 3, 1),
ResBlk(C*4, C*8, 3, 1, downsample=True), # 16x16
SAFFNBlk(C*8, size=16, rel_pos=False),
ResBlk(C*8, C*8)
]) for _ in range(self.n_heads)
])
# skip featuremap indices. Since shared featuremap is idx=0,
# featuremap index starts from 1 in each head.
self.skip_layers = [3]
# final output shape
self.final_shape = (C*8, 16, 16)
def forward(self, x):
# foward in shared
for layer in self.shared:
x = layer(x)
# forward in heads
feats = [x]
xs = [x] * self.n_heads
n_layers = len(self.heads[0])
for layer_idx in range(n_layers):
for head_idx, head in enumerate(self.heads):
layer = head[layer_idx]
xs[head_idx] = layer(xs[head_idx])
comp_feature = torch.stack(xs, dim=1) # [B, n_comp_types, C, H, W]
feats.append(comp_feature)
return feats
def filter_skips(self, feats):
if self.skip_layers is None:
return None
return [feats[i] for i in self.skip_layers]
================================================
FILE: models/decoder.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
from functools import partial
import torch
import torch.nn as nn
from .modules import ConvBlock, ResBlock, HourGlass
class Integrator(nn.Module):
"""Integrate component type-wise features"""
def __init__(self, C, n_comps=3, norm='none', activ='none', C_in=None):
super().__init__()
C_in = (C_in or C) * n_comps
self.integrate_layer = ConvBlock(C_in, C, 1, 1, 0, norm=norm, activ=activ)
def forward(self, comps):
"""
Args:
comps [B, n_comps, C, H, W]: component features
"""
inputs = comps.flatten(1, 2)
out = self.integrate_layer(inputs)
return out
class Decoder(nn.Module):
def __init__(self, C, C_out, size, norm='IN', activ='relu', pad_type='reflect', n_comp_types=3):
super().__init__()
ConvBlk = partial(ConvBlock, norm=norm, activ=activ, pad_type=pad_type)
ResBlk = partial(ResBlock, norm=norm, activ=activ, pad_type=pad_type)
# Hourglass block downsamples the featuremap to 1x1 where IN makes trouble.
HGBlk = partial(HourGlass, size=size, norm='BN', activ=activ, pad_type=pad_type)
IntegrateBlk = partial(
Integrator, norm='none', activ='none', n_comps=n_comp_types
)
self.layers = nn.ModuleList([
IntegrateBlk(C*8),
HGBlk(C*8, C*16, n_downs=4),
ResBlk(C*8, C*8, 3, 1),
ResBlk(C*8, C*8, 3, 1),
ConvBlk(C*8, C*4, 3, 1, 1, upsample=True), # 32x32
ConvBlk(C*12, C*8, 3, 1, 1), # enc-skip
ConvBlk(C*8, C*8, 3, 1, 1),
ConvBlk(C*8, C*4, 3, 1, 1),
ConvBlk(C*4, C*2, 3, 1, 1, upsample=True), # 64x64
ConvBlk(C*2, C*1, 3, 1, 1, upsample=True), # 128x128
ConvBlk(C*1, C_out, 3, 1, 1)
])
self.skip_indices = [5]
self.skip_layers = nn.ModuleList([IntegrateBlk(C*8, C_in=C*4)])
self.out = nn.Tanh()
def forward(self, comps, skips=None):
"""
Args:
comps [B, n_comps, C, H, W]: component features
skips: skip features
"""
if skips is not None:
assert len(skips) == 1
skip_idx = self.skip_indices[0]
skip_layer = self.skip_layers[0]
skip_feat = skips[0]
x = comps
for i, layer in enumerate(self.layers):
if i == skip_idx:
skip_feat = skip_layer(skip_feat) # integrate skip features
x = torch.cat([x, skip_feat], dim=1)
x = layer(x)
return self.out(x)
================================================
FILE: models/discriminator.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
from functools import partial
import torch
import torch.nn as nn
from .modules import ResBlock, ConvBlock, w_norm_dispatch, activ_dispatch
class MultitaskDiscriminator(nn.Module):
def __init__(self, C, n_fonts, n_chars, use_rx=True, w_norm='spectral', activ='none'):
super().__init__()
self.use_rx = use_rx
self.activ = activ_dispatch(activ)()
w_norm = w_norm_dispatch(w_norm)
self.font_emb = w_norm(nn.Embedding(n_fonts, C))
self.char_emb = w_norm(nn.Embedding(n_chars, C))
if use_rx:
self.rx = w_norm(nn.Conv2d(C, 1, kernel_size=1, padding=0))
def forward(self, x, font_indices, char_indices):
"""
Args:
x: [B, C, H, W]
font_indices: [B]
char_indices: [B]
Return:
[rx_logit, font_logit, char_logit]; [B, 1, H, W]
"""
x = self.activ(x)
font_emb = self.font_emb(font_indices) # [B, C]
char_emb = self.char_emb(char_indices) # [B, (3), C]
if hasattr(self, "rx"):
rx_out = self.rx(x) # [B, 1, H, W]
ret = [rx_out]
else:
ret = [torch.as_tensor(0.0)] # dummy
font_out = torch.einsum('bchw,bc->bhw', x, font_emb).unsqueeze(1)
char_out = torch.einsum('bchw,bc->bhw', x, char_emb).unsqueeze(1)
ret += [font_out, char_out]
return ret
class Discriminator(nn.Module):
def __init__(self, C, n_fonts, n_chars, activ='relu', gap_activ='relu', w_norm='spectral',
use_rx=False, pad_type='reflect'):
super().__init__()
ConvBlk = partial(ConvBlock, w_norm=w_norm, activ=activ, pad_type=pad_type)
ResBlk = partial(ResBlock, w_norm=w_norm, activ=activ, pad_type=pad_type)
feats = [
ConvBlk(1, C, stride=2, activ='none'), # 64x64 (stirde==2)
ResBlk(C*1, C*2, downsample=True), # 32x32
ResBlk(C*2, C*4, downsample=True), # 16x16
ResBlk(C*4, C*8, downsample=True), # 8x8
ResBlk(C*8, C*16, downsample=False), # 8x8
ResBlk(C*16, C*32, downsample=False), # 8x8
ResBlk(C*32, C*32, downsample=False), # 8x8
]
self.feats = nn.ModuleList(feats)
gap_activ = activ_dispatch(gap_activ)
self.gap = nn.Sequential(
gap_activ(),
nn.AdaptiveAvgPool2d(1)
)
self.projD = MultitaskDiscriminator(C*32, n_fonts, n_chars, use_rx=use_rx, w_norm=w_norm)
def forward(self, x, font_indices, char_indices, out_feats=False):
feats = []
for layer in self.feats:
x = layer(x)
feats.append(x)
x = self.gap(x) # final features
ret = self.projD(x, font_indices, char_indices)
if out_feats:
ret.append(feats)
return ret
@property
def use_rx(self):
return self.projD.use_rx
================================================
FILE: models/ma_core.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import torch.nn as nn
from .comp_encoder import ComponentEncoder
from .decoder import Decoder
from .memory import Memory
class MACore(nn.Module):
""" Memory-augmented HFG """
def __init__(self, C_in, C, C_out, comp_enc, dec, n_comps, n_comp_types, language):
"""
Args:
C_in: 1
C: unit of channel size
C_out: 1
comp_enc: component encoder configs
dec: decoder configs
n_comps: # of total component instances.
n_comp_types: # of component types. kor=3, thai=4.
"""
super().__init__()
self.component_encoder = ComponentEncoder(
C_in, C, **comp_enc, n_comp_types=n_comp_types
)
self.mem_shape = self.component_encoder.final_shape
self.memory = Memory(self.mem_shape, n_comps, persistent=True, language=language)
# setup skip memory
if self.component_encoder.skip_layers is not None:
# use dynamic memory only
self.skip_memory = Memory(self.mem_shape, n_comps, persistent=False, language=language)
skip_layers = self.component_encoder.skip_layers
assert skip_layers is None or len(skip_layers) == 1, "Only supports #skip_layers <= 1"
self.decoder = Decoder(
C, C_out, self.mem_shape[-1], **dec, n_comp_types=n_comp_types
)
def reset_dynamic_memory(self):
self.memory.reset_dynamic()
if hasattr(self, 'skip_memory'):
self.skip_memory.reset_dynamic()
def encode_write(self, style_ids, comp_ids, style_imgs, reset_dynamic_memory=True):
""" Encode feature from input data and write it to memory
Args:
# batch size B can be different with infer phase
style_ids [B]: style index
comp_ids [B, n_comp_types]: component ids of style chars
style_imgs [B, 1, 128, 128]: eq_fonts
"""
if reset_dynamic_memory:
# reset dynamic memory before write
self.reset_dynamic_memory()
# encode & write component feature
feats = self.component_encoder(style_imgs) # [B, n_comp_types, C, H, W]
comp_feats = feats[-1]
skips = self.component_encoder.filter_skips(feats) # filter skip features
self.memory.write(style_ids, comp_ids, comp_feats)
if hasattr(self, 'skip_memory'):
self.skip_memory.write(style_ids, comp_ids, skips[0])
return comp_feats
def read_decode(self, target_style_ids, target_comp_ids):
""" Read feature from memory and decode it
Args:
# batch size B can be different with write phase
target_style_ids: [B]
target_comp_ids: [B, n_comp_types]
"""
# read memory w/ or w/o persistent memory
# [B, n_comp_types, C, H, W]
comp_feats = self.memory.read(target_style_ids, target_comp_ids)
skips = None
if hasattr(self, 'skip_memory'):
skip_feats = self.skip_memory.read(target_style_ids, target_comp_ids)
skips = [skip_feats]
out = self.decoder(comp_feats, skips)
return out
================================================
FILE: models/memory.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import numpy as np
import torch
import torch.nn as nn
from models.modules import split_dim, ConvBlock
import datasets.kor_decompose as kor
import datasets.thai_decompose as thai
def comp_id_to_addr(ids, language):
""" Component id to memory address converter
Args:
ids [B, 3 or 4], torch.tensor: [B, 3] -> kor, [B, 4] -> thai.
"""
ids = ids.clone()
if language == 'kor':
ids[:, 1] += kor.N_CHO
ids[:, 2] += kor.N_CHO + kor.N_JUNG
elif language == 'thai':
ids[:, 1] += thai.N_CONSONANTS
ids[:, 2] += thai.N_CONSONANTS + thai.N_UPPERS
ids[:, 3] += thai.N_CONSONANTS + thai.N_UPPERS + thai.N_HIGHESTS
else:
raise ValueError(language)
return ids
class DynamicMemory(nn.Module):
# NOTE the dynamic memory can be accelerated by using torch tensor instead of python dict.
def __init__(self):
super().__init__()
self.memory = {}
self.reset()
def write(self, style_ids, comp_addrs, comp_feats):
""" Batch write
Args:
style_ids: [B]
comp_addrs: [B, 3]
comp_feats: [B, 3, mem_shape]
"""
assert len(style_ids) == len(comp_addrs) == len(comp_feats), "Input sizes are different"
# batch iter
for style_id, comp_addrs_per_char, comp_feats_per_char in zip(style_ids,
comp_addrs,
comp_feats):
# comp iter
for comp_addr, comp_feat in zip(comp_addrs_per_char, comp_feats_per_char):
self.write_point(style_id, comp_addr, comp_feat)
def read(self, style_ids, comp_addrs, reduction='mean'):
""" Batch read
Args:
style_ids: [B]
comp_addrs: [B, 3]
reduction: reduction method if multiple features exist in sample memory address:
['mean' (default), 'first', 'rand', 'none']
"""
out = []
for style_id, comp_addrs_per_char in zip(style_ids, comp_addrs):
char_feats = []
for comp_addr in comp_addrs_per_char:
comp_feat = self.read_point(style_id, comp_addr, reduction)
char_feats.append(comp_feat)
char_feats = torch.stack(char_feats) # [3, mem_shape]
out.append(char_feats)
out = torch.stack(out) # [B, 3, mem_shape]
return out
def write_point(self, style_id, comp_addr, data):
self.memory.setdefault(style_id.item(), {}) \
.setdefault(comp_addr.item(), []) \
.append(data)
def read_point(self, style_id, comp_addr, reduction='mean'):
""" Point read """
comp_feats = self.memory[style_id.item()][comp_addr.item()]
return self.reduce_features(comp_feats, reduction)
def reduce_features(self, feats, reduction='mean'):
if len(feats) == 1:
return feats[0]
if reduction == 'mean':
return torch.stack(feats).mean(dim=0)
elif reduction == 'first':
return feats[0]
elif reduction == 'rand':
return np.random.choice(feats)
elif reduction == 'none':
return feats
else:
raise ValueError(reduction)
def reset(self):
self.memory = {}
def reset_batch(self, style_ids, comp_addrs):
for style_id, comp_addrs_per_char in zip(style_ids, comp_addrs):
for comp_addr in comp_addrs_per_char:
self.reset_point(style_id, comp_addr)
def reset_point(self, style_id, comp_addr):
self.memory[style_id.item()].pop(comp_addr.item())
class PersistentMemory(nn.Module):
def __init__(self, n_comps, mem_shape):
"""
Args:
mem_shape: (C, H, W) tuple (3-elem)
"""
super().__init__()
self.shape = mem_shape
self.bias = nn.Parameter(torch.randn(n_comps, *mem_shape))
C = mem_shape[0]
self.hypernet = nn.Sequential(
ConvBlock(C, C),
ConvBlock(C, C),
ConvBlock(C, C)
)
def read(self, comp_addrs):
b = self.bias[comp_addrs] # [B, 3, mem_shape]
return b
def forward(self, x, comp_addrs):
"""
Args:
x: [B, 3, *mem_shape]
comp_addr: [B, 3]
"""
b = self.read(comp_addrs) # [B, 3, *mem_shape] * 2
B = b.size(0)
b = b.flatten(0, 1)
b = self.hypernet(b)
b = split_dim(b, 0, B)
return x + b
class Memory(nn.Module):
# n_components: # of total comopnents. 19 + 21 + 28 = 68 in kr.
STYLE_ADDR = -1
def __init__(self, mem_shape, n_comps, persistent, language):
"""
Args:
mem_shape (tuple [3]):
memory shape in (C, H, W) tuple, which is same as encoded feature shape
n_comps: # of total components, which identify persistent memory size
"""
super().__init__()
self.dynamic_memory = DynamicMemory()
self.mem_shape = mem_shape
self.persistent = persistent
self.language = language
if persistent:
self.persistent_memory = PersistentMemory(n_comps, mem_shape)
def write(self, style_ids, comp_ids, comp_feats):
""" Write data into dynamic memory """
comp_addrs = comp_id_to_addr(comp_ids, self.language)
self.dynamic_memory.write(style_ids, comp_addrs, comp_feats)
def read(self, style_ids, comp_ids):
""" Read data from memory (dynamic w/ or w/o persistent)
Args:
comp_ids [B, 3]
"""
# memory shape = [B, 3, mem_shape]
comp_addrs = comp_id_to_addr(comp_ids, self.language)
mem = self.dynamic_memory.read(style_ids, comp_addrs)
if self.persistent:
mem = self.persistent_memory(mem, comp_addrs)
return mem
def reset_style(self, style_ids):
style_addrs = self.get_style_addr(len(style_ids))
self.dynamic_memory.reset_batch(style_ids, style_addrs)
def write_style(self, style_ids, style_codes):
style_addrs = self.get_style_addr(len(style_ids))
self.dynamic_memory.write(style_ids, style_addrs, style_codes.unsqueeze(1))
def read_style(self, style_ids):
style_addrs = self.get_style_addr(len(style_ids))
return self.dynamic_memory.read(style_ids, style_addrs).squeeze(1)
def get_style_addr(self, N):
return torch.full([N, 1], self.STYLE_ADDR, dtype=torch.long)
def reset_dynamic(self):
""" Reset dynamic memory """
self.dynamic_memory.reset()
================================================
FILE: models/modules/__init__.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
from .modules import *
from .blocks import *
from .self_attention import *
================================================
FILE: models/modules/blocks.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
from functools import partial
import torch
import torch.nn as nn
import torch.nn.functional as F
from .modules import spectral_norm
class Flatten(nn.Module):
def __init__(self, start_dim=1, end_dim=-1):
super(Flatten, self).__init__()
self.start_dim = start_dim
self.end_dim = end_dim
def forward(self, input):
return input.flatten(self.start_dim, self.end_dim)
def dispatcher(dispatch_fn):
def decorated(key, *args):
if callable(key):
return key
if key is None:
key = 'none'
return dispatch_fn(key, *args)
return decorated
@dispatcher
def norm_dispatch(norm):
return {
'none': nn.Identity,
'in': partial(nn.InstanceNorm2d, affine=False), # false as default
'bn': nn.BatchNorm2d,
}[norm.lower()]
@dispatcher
def w_norm_dispatch(w_norm):
# Unlike other dispatcher, w_norm is function, not class.
return {
'spectral': spectral_norm,
'none': lambda x: x
}[w_norm.lower()]
@dispatcher
def activ_dispatch(activ):
return {
"none": nn.Identity,
"relu": nn.ReLU,
"lrelu": partial(nn.LeakyReLU, negative_slope=0.2)
}[activ.lower()]
@dispatcher
def pad_dispatch(pad_type):
return {
"zero": nn.ZeroPad2d,
"replicate": nn.ReplicationPad2d,
"reflect": nn.ReflectionPad2d
}[pad_type.lower()]
class LinearBlock(nn.Module):
"""Pre-activate linear block"""
def __init__(self, C_in, C_out, norm='none', activ='relu', bias=True, w_norm='none',
dropout=0.):
super().__init__()
activ = activ_dispatch(activ)
if norm.lower() == 'bn':
norm = nn.BatchNorm1d
elif norm.lower() == 'none':
norm = nn.Identity
else:
raise ValueError(f"LinearBlock supports BN only (but {norm} is given)")
w_norm = w_norm_dispatch(w_norm)
self.norm = norm(C_in)
self.activ = activ()
if dropout > 0.:
self.dropout = nn.Dropout(p=dropout)
self.linear = w_norm(nn.Linear(C_in, C_out, bias))
def forward(self, x):
x = self.norm(x)
x = self.activ(x)
if hasattr(self, 'dropout'):
x = self.dropout(x)
return self.linear(x)
class ConvBlock(nn.Module):
"""Pre-activate conv block"""
def __init__(self, C_in, C_out, kernel_size=3, stride=1, padding=1, norm='none',
activ='relu', bias=True, upsample=False, downsample=False, w_norm='none',
pad_type='zero', dropout=0.):
if kernel_size == 1:
assert padding == 0
super().__init__()
self.C_in = C_in
self.C_out = C_out
activ = activ_dispatch(activ)
norm = norm_dispatch(norm)
w_norm = w_norm_dispatch(w_norm)
pad = pad_dispatch(pad_type)
self.upsample = upsample
self.downsample = downsample
self.norm = norm(C_in)
self.activ = activ()
if dropout > 0.:
self.dropout = nn.Dropout2d(p=dropout)
self.pad = pad(padding)
self.conv = w_norm(nn.Conv2d(C_in, C_out, kernel_size, stride, bias=bias))
def forward(self, x):
x = self.norm(x)
x = self.activ(x)
if self.upsample:
x = F.interpolate(x, scale_factor=2)
if hasattr(self, 'dropout'):
x = self.dropout(x)
x = self.conv(self.pad(x))
if self.downsample:
x = F.avg_pool2d(x, 2)
return x
class ResBlock(nn.Module):
"""Pre-activate residual block"""
def __init__(self, C_in, C_out, kernel_size=3, padding=1, upsample=False, downsample=False,
norm='none', w_norm='none', activ='relu', pad_type='zero', dropout=0.):
assert not (upsample and downsample)
super().__init__()
w_norm = w_norm_dispatch(w_norm)
self.C_in = C_in
self.C_out = C_out
self.upsample = upsample
self.downsample = downsample
self.conv1 = ConvBlock(C_in, C_out, kernel_size, 1, padding, norm, activ,
upsample=upsample, w_norm=w_norm, pad_type=pad_type,
dropout=dropout)
self.conv2 = ConvBlock(C_out, C_out, kernel_size, 1, padding, norm, activ,
w_norm=w_norm, pad_type=pad_type, dropout=dropout)
if C_in != C_out or upsample or downsample:
self.skip = w_norm(nn.Conv2d(C_in, C_out, 1))
def forward(self, x):
out = x
out = self.conv1(out)
out = self.conv2(out)
if self.downsample:
out = F.avg_pool2d(out, 2)
if hasattr(self, 'skip'):
if self.upsample:
x = F.interpolate(x, scale_factor=2)
x = self.skip(x)
if self.downsample:
x = F.avg_pool2d(x, 2)
out = out + x
return out
class Upsample1x1(nn.Module):
"""Upsample 1x1 to 2x2 using Linear"""
def __init__(self, C_in, C_out, norm='none', activ='relu', w_norm='none'):
assert norm.lower() != 'in', 'Do not use instance norm for 1x1 spatial size'
super().__init__()
self.C_in = C_in
self.C_out = C_out
self.proj = ConvBlock(
C_in, C_out*4, 1, 1, 0, norm=norm, activ=activ, w_norm=w_norm
)
def forward(self, x):
# x: [B, C_in, 1, 1]
x = self.proj(x) # [B, C_out*4, 1, 1]
B, C = x.shape[:2]
return x.view(B, C//4, 2, 2)
class HourGlass(nn.Module):
"""U-net like hourglass module"""
def __init__(self, C_in, C_max, size, n_downs, n_mids=1, norm='none', activ='relu',
w_norm='none', pad_type='zero'):
"""
Args:
C_max: maximum C_out of left downsampling block's output
"""
super().__init__()
assert size == n_downs ** 2, "HGBlock assume that the spatial size is downsampled to 1x1."
self.C_in = C_in
ConvBlk = partial(ConvBlock, norm=norm, activ=activ, w_norm=w_norm, pad_type=pad_type)
self.lefts = nn.ModuleList()
c_in = C_in
for i in range(n_downs):
c_out = min(c_in*2, C_max)
self.lefts.append(ConvBlk(c_in, c_out, downsample=True))
c_in = c_out
# 1x1 conv for mids
self.mids = nn.Sequential(
*[
ConvBlk(c_in, c_out, kernel_size=1, padding=0)
for _ in range(n_mids)
]
)
self.rights = nn.ModuleList()
for i, lb in enumerate(self.lefts[::-1]):
c_out = lb.C_in
c_in = lb.C_out
channel_in = c_in*2 if i else c_in # for channel concat
if i == 0:
block = Upsample1x1(channel_in, c_out, norm=norm, activ=activ, w_norm=w_norm)
else:
block = ConvBlk(channel_in, c_out, upsample=True)
self.rights.append(block)
def forward(self, x):
features = []
for lb in self.lefts:
x = lb(x)
features.append(x)
assert x.shape[-2:] == torch.Size((1, 1))
for i, (rb, lf) in enumerate(zip(self.rights, features[::-1])):
if i:
x = torch.cat([x, lf], dim=1)
x = rb(x)
return x
================================================
FILE: models/modules/modules.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
"""
import torch.nn as nn
def split_dim(x, dim, n_chunks):
shape = x.shape
assert shape[dim] % n_chunks == 0
return x.view(*shape[:dim], n_chunks, shape[dim] // n_chunks, *shape[dim+1:])
def weights_init(init_type='default'):
"""Adopted and modified from FUNIT
Copyright (C) 2019 NVIDIA Corporation. All rights reserved.
Licensed under the CC BY-NC-SA 4.0 license
(https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode).
"""
def init_fun(m):
classname = m.__class__.__name__
if (classname.find('Conv') == 0 or classname.find('Linear') == 0) and hasattr(m, 'weight'):
if init_type == 'gaussian':
nn.init.normal_(m.weight.data, 0.0, 0.02)
elif init_type == 'xavier':
nn.init.xavier_normal_(m.weight.data, gain=2**0.5)
elif init_type == 'kaiming':
nn.init.kaiming_normal_(m.weight.data, a=0, mode='fan_in')
elif init_type == 'orthogonal':
nn.init.orthogonal_(m.weight.data, gain=2**0.5)
elif init_type == 'default':
pass
else:
assert 0, "Unsupported initialization: {}".format(init_type)
if hasattr(m, 'bias') and m.bias is not None:
nn.init.constant_(m.bias.data, 0.0)
return init_fun
def spectral_norm(module):
""" init & apply spectral norm """
nn.init.xavier_uniform_(module.weight, 2 ** 0.5)
if hasattr(module, 'bias') and module.bias is not None:
module.bias.data.zero_()
return nn.utils.spectral_norm(module)
================================================
FILE: models/modules/self_attention.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import torch
import torch.nn as nn
import torch.nn.functional as F
from .modules import split_dim
from .blocks import w_norm_dispatch, ConvBlock, norm_dispatch
class Attention(nn.Module):
def __init__(self, C_in_q, C_in_kv, C_qk, C_v, w_norm='none', scale=False, n_heads=1,
down_kv=False, rel_pos_size=None):
"""
Args:
C_in_q: query source (encoder feature x)
C_in_kv: key/value source (decoder feature y)
C_qk: inner query/key dim, which should be same
C_v: inner value dim, which same as output dim
down_kv: Area attention for lightweight self-attention
w/ mean pooling.
rel_pos_size: height & width for relative positional embedding.
If None or 0 is given, do not use relative positional embedding.
"""
super().__init__()
self.n_heads = n_heads
self.down_kv = down_kv
w_norm = w_norm_dispatch(w_norm)
self.q_proj = w_norm(nn.Conv1d(C_in_q, C_qk, 1))
self.k_proj = w_norm(nn.Conv1d(C_in_kv, C_qk, 1))
self.v_proj = w_norm(nn.Conv1d(C_in_kv, C_v, 1))
self.out = w_norm(nn.Conv2d(C_v, C_v, 1))
if scale:
self.scale = 1. / (C_qk ** 0.5)
if rel_pos_size:
C_h_qk = C_qk // n_heads
self.rel_pos = RelativePositionalEmbedding2d(
C_h_qk, rel_pos_size, rel_pos_size, down_kv=down_kv
)
def forward(self, x, y):
""" Attend from x (decoder) to y (encoder)
Args:
x: decoder feature
y: encoder feature
"""
B, C, H, W = x.shape
flat_x = x.flatten(start_dim=2) # [B, C, H*W]
if not self.down_kv:
flat_y = y.flatten(start_dim=2)
else:
y_down = F.avg_pool2d(y, 2)
flat_y = y_down.flatten(2) # [B, C, H*W/4]
query = self.q_proj(flat_x) # [B, C_qk, H*W]
key = self.k_proj(flat_y) # [B, C_qk, H*W]
value = self.v_proj(flat_y) # [B, C, H*W]
query = split_dim(query, 1, self.n_heads)
key = split_dim(key, 1, self.n_heads)
value = split_dim(value, 1, self.n_heads)
attn_score = torch.einsum('bhcq,bhck->bhqk', query, key) # [B, n_heads, H*W, H*W]
if hasattr(self, 'rel_pos'):
attn_score += self.rel_pos(query)
if hasattr(self, 'scale'):
attn_score *= self.scale
attn_w = F.softmax(attn_score, dim=-1)
attn_out = torch.einsum('bhqk,bhck->bhcq', attn_w, value).reshape(B, C, H, W)
out = self.out(attn_out)
return out
class AttentionFFNBlock(nn.Module):
""" Transformer-like attention + ffn block """
def __init__(self, C_in_q, C_in_kv, C_qk, C_v, size, scale=True, norm='ln',
dropout=0.1, activ='relu', n_heads=1, ffn_mult=4, area=False, rel_pos=False):
super().__init__()
self.C_out = C_v
if rel_pos:
rel_pos = size
self.attn = Attention(
C_in_q, C_in_kv, C_qk, C_v,
scale=scale, n_heads=n_heads, down_kv=area, rel_pos_size=rel_pos
)
self.dropout = nn.Dropout2d(dropout)
self.ffn = nn.Sequential(
ConvBlock(C_v, C_v*ffn_mult, 1, 1, 0, activ='none'),
nn.Dropout2d(dropout),
ConvBlock(C_v*ffn_mult, C_v, 1, 1, 0, activ=activ)
)
if norm == 'ln':
self.norm = nn.LayerNorm([C_v, size, size])
else:
norm = norm_dispatch(norm)
self.norm = norm(C_v)
def forward(self, x, y):
skip = x
x = self.norm(x)
x = self.attn(x, y)
x = self.dropout(x)
x = self.ffn(x)
x += skip
return x
class SAFFNBlock(AttentionFFNBlock):
def __init__(self, C, size, C_qk_ratio=0.25, scale=True, norm='ln', dropout=0.1, activ='relu',
n_heads=1, ffn_mult=4, area=False, rel_pos=False):
C_in_q = C
C_in_kv = C
C_qk = int(C * C_qk_ratio)
C_v = C
super().__init__(
C_in_q, C_in_kv, C_qk, C_v, size, scale, norm, dropout, activ, n_heads,
ffn_mult, area, rel_pos
)
self.C_in = C
def forward(self, x):
return super().forward(x, x)
class GlobalContext(nn.Module):
""" Global-context """
def __init__(self, C, bottleneck_ratio=0.25, w_norm='none'):
super().__init__()
C_bottleneck = int(C * bottleneck_ratio)
w_norm = w_norm_dispatch(w_norm)
self.k_proj = w_norm(nn.Conv2d(C, 1, 1))
self.transform = nn.Sequential(
w_norm(nn.Linear(C, C_bottleneck)),
nn.LayerNorm(C_bottleneck),
nn.ReLU(),
w_norm(nn.Linear(C_bottleneck, C))
)
def forward(self, x):
# x: [B, C, H, W]
context_logits = self.k_proj(x) # [B, 1, H, W]
context_weights = F.softmax(context_logits.flatten(1), dim=1) # [B, HW]
context = torch.einsum('bci,bi->bc', x.flatten(2), context_weights)
out = self.transform(context)
return out[..., None, None]
class GCBlock(nn.Module):
""" Global-context block """
def __init__(self, C, bottleneck_ratio=0.25, w_norm='none'):
super().__init__()
self.gc = GlobalContext(C, bottleneck_ratio, w_norm)
def forward(self, x):
gc = self.gc(x)
return x + gc
class RelativePositionalEmbedding2d(nn.Module):
""" Learned relative positional embedding
return Q * (R_x + R_y) for input Q and learned embedding R
"""
def __init__(self, emb_dim, H, W, down_kv=False):
super().__init__()
self.H = H
self.W = W
self.down_kv = down_kv
self.h_emb = nn.Embedding(H*2-1, emb_dim)
self.w_emb = nn.Embedding(W*2-1, emb_dim)
rel_y, rel_x = self.rel_grid()
self.register_buffer('rel_y', rel_y)
self.register_buffer('rel_x', rel_x)
def rel_grid(self):
# rel_y in [-(H-1), (H-1)]
# rel_x in [-(W-1), (W-1)]
y, x = torch.meshgrid(torch.arange(self.H), torch.arange(self.W))
# rel_y[i, j] = j_y - i_y
# rel_x[i, j] = j_x - i_x
rel_y = y.reshape(1, -1) - y.reshape(-1, 1)
rel_x = x.reshape(1, -1) - x.reshape(-1, 1)
if self.down_kv:
def down(x):
n_q, n_k = x.shape
x = x.view(n_q, 1, int(n_k**0.5), int(n_k**0.5))
return (F.avg_pool2d(x.float(), 2) - 0.5).flatten(1).long()
rel_y = down(rel_y)
rel_x = down(rel_x)
# shifting negative values to semi-positive values (>=0)
rel_y += (self.H-1)
rel_x += (self.W-1)
return rel_y, rel_x
def forward(self, query):
"""
Args:
query: [B, n_heads, C_qk, H*W]
return:
[B, n_heads, H*W, H*W]
"""
r_x = self.w_emb(self.rel_x) # [H*W, H*W, C_qk]
r_y = self.h_emb(self.rel_y) # [H*W, H*W, C_qk]
S_rel = torch.einsum('bhci,ijc->bhij', query, r_x + r_y)
return S_rel
================================================
FILE: requirements.txt
================================================
torch==1.1.0
torchvision==0.2.2
h5py==2.9.0
numpy==1.17.2
Pillow==6.2.0
sconf==0.2.1
tqdm==4.47.0
tensorboard==2.0.0
tensorboardX==1.9
fontTools==4.12.1
fire==0.2.1
================================================
FILE: scripts/prepare_dataset.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import os
import json
from itertools import chain
from functools import reduce
from pathlib import Path
from tqdm import tqdm
import h5py as h5
import fire
import numpy as np
from PIL import Image, ImageDraw, ImageFont, features
from fontTools.ttLib import TTFont
from logger import Logger
from datasets import thai_decompose as thai
CODE_RANGE = {
'kor': [[0x0021, 0x007E], [0x3131, 0x3163], [0xAC00, 0xD7A3]],
'thai': [[0x0E01, 0x0E3A], [0x0E3F, 0x0E5B]]
}
def get_code_points(language):
codes = set()
code_range = CODE_RANGE[language]
for rangemin, rangemax in code_range:
for codepoint in range(rangemin, rangemax+1):
codes.add(chr(codepoint))
return codes
def dump_to_hdf5(dump_path, font_name, images, chars, compression=None):
with h5.File(dump_path, 'w') as f:
dset = f.create_group('dataset')
dset.attrs['font_name'] = font_name
N = len(images)
dset.create_dataset('images', (N, 128, 128), np.uint8, compression=compression,
data=np.stack(images))
data = np.array(chars)
dset.create_dataset('chars', data.shape, np.int, compression=compression,
data=np.array(chars))
class FontProcessor(object):
def __init__(self, language, resize_method="bilinear", font_size_factor=2, sample_size=128):
if language == 'thai':
assert features.check('raqm'), 'Please install raqm first for thai font rendering'
self.logger = Logger.get(file_path='preparedata.log', level='error')
self.language = language
self.targetcodes = get_code_points(self.language)
if resize_method == 'bilinear':
self.resize_method = Image.BILINEAR
else:
raise ValueError('Invalid resize method: {}'.format(resize_method))
self.sample_size = sample_size
self.font_size = self.sample_size * font_size_factor
def ord(self, char):
if self.language == 'kor':
return ord(char)
elif self.language == 'thai':
return thai.decompose_ords(char)
else:
raise ValueError(self.language)
def is_renderable_char(self, font, ch):
ch = self.fix_char_order_if_thai(ch)
try:
size = reduce(lambda x, y: x * y, font.getsize(ch))
except OSError:
self.logger.warning('{}, "{}" ({}) cannot be opened'.format(font, ch, self.ord(ch)))
return False
if not size:
self.logger.warning('{}, "{}" ({}) has size {}'.format(
font, ch, self.ord(ch), font.getsize(ch))
)
return False
return True
def avail_chars(self, targetfontpath, pilfont):
ttfont = TTFont(targetfontpath)
existing_chars = {chr(key) for table in ttfont['cmap'].tables for key in table.cmap.keys()}
rendercheckedchars = {ch for ch in existing_chars if self.is_renderable_char(pilfont, ch)}
return rendercheckedchars
def get_charsize(self, char, font):
char = self.fix_char_order_if_thai(char)
size_x, size_y = font.getsize(char)
offset_x, offset_y = font.getoffset(char)
return size_x-offset_x, size_y-offset_y
def render_center_no_offset(self, char, font, fontmaxsize, size=128, margin=0):
char = self.fix_char_order_if_thai(char)
size_x, size_y = font.getsize(char)
offset_x, offset_y = font.getoffset(char)
roi_w = size_x-offset_x
roi_h = size_y-offset_y
img = Image.new('L', (roi_w, roi_h), 255)
draw = ImageDraw.Draw(img)
draw.text((-offset_x, -offset_y), char, font=font)
if img.size[0] == 0 or img.size[1] == 0:
self.logger.warning(
'{}, "{}" ({}) is empty (size=0)'.format(font, char, self.ord(char))
)
return False
npimg = 255 - np.array(img)
if not npimg.sum():
self.logger.warning(
'{}, "{}" ({}) is empty (no black)'.format(font, char, self.ord(char))
)
return False
wmin = npimg.sum(0).nonzero()[0].min()
wmax = npimg.sum(0).nonzero()[0].max()
hmin = npimg.sum(1).nonzero()[0].min()
hmax = npimg.sum(1).nonzero()[0].max()
npimg = 255 - npimg[hmin:hmax+1, wmin:wmax+1]
canvas_size = int(fontmaxsize*(1+margin))
left_margin = (canvas_size - roi_w)//2
right_margin = canvas_size - roi_w - left_margin
top_margin = (canvas_size - roi_h)//2
bottom_margin = canvas_size - roi_h - top_margin
npimg = np.pad(npimg, ((top_margin, bottom_margin), (left_margin, right_margin)),
'constant', constant_values=255)
img = Image.fromarray(npimg).resize((size, size), resample=self.resize_method)
return img
def dump_fonts(self, fonts, dump_dir, compression=None):
"""
calculates maximum size of available codepoints
target text character is rendered accordingly
relative size within each font are maintained proportionally
relative size across fonts are adjusted
(Maximum size codepoint to be maintained in the canvas)
"""
self.logger.info('# Font candidates: {}'.format(len(fonts)))
dump_dir = Path(dump_dir)
dump_dir.mkdir(parents=True, exist_ok=True)
assert dump_dir.is_dir()
n_fonts = len(fonts)
for i, targetfontpath in enumerate(fonts):
targetfontname = os.path.basename(targetfontpath) # w/ ext
font_name = os.path.splitext(targetfontname)[0] # w/o ext
hdf5_name = "{}.hdf5".format(font_name)
dump_path = dump_dir / hdf5_name
if dump_path.exists():
continue
font = ImageFont.truetype(targetfontpath, self.font_size)
codepoints = self.avail_chars(targetfontpath, font)
# available & desired fonts
codepoints = codepoints & self.targetcodes # avail chars
if self.language == 'kor':
if len(codepoints) == 0:
self.logger.error("Font {} don't have any valid chars".format(targetfontname))
continue
elif self.language == 'thai':
if codepoints != self.targetcodes:
self.logger.error("Font {} don't have full components ({}, {})".format(
targetfontname, len(codepoints), len(self.targetcodes)))
continue
codepoints = list(thai.complete_chars())
else:
raise ValueError(self.language)
# max rendered size
sizes = [self.get_charsize(codepoint, font) for codepoint in codepoints]
fontmaxsize = max(chain(*sizes))
images = []
chars = []
c = 0
for codepoint in tqdm(codepoints, desc=f"{i+1}. {font_name}"):
if not codepoint:
self.logger.error("Wrong codepoint: {}".format(codepoint))
raise ValueError(codepoint)
img = self.render_center_no_offset(codepoint, font, fontmaxsize,
size=self.sample_size, margin=0)
if not img:
continue
images.append(img)
chars.append(self.ord(codepoint))
dump_to_hdf5(dump_path, targetfontname, images, chars, compression=compression)
self.logger.info("[{:3d}/{:3d}] {} has {} valid chars and {} images...".format(
i+1, n_fonts, font_name, len(codepoints), len(images)))
def fix_char_order_if_thai(self, char):
""" Fix character component order for correct rendering
consonant - upper - highest - lower
=> consonant - lower - upper - highest
"""
if self.language == 'thai':
ords = thai.decompose_ords(char)
char = thai.compose(ords[0], ords[3], ords[1], ords[2])
return char
def main(language, fonts_dir, meta_path, dump_dir):
"""
Args:
language: kor / thai
fonts_dir: font directory that has ttf files
meta_path: meta file path
dump_dir: dataset dir
"""
fonts_dir = Path(fonts_dir)
meta = json.load(open(meta_path))
allfonts = set(meta['train']['fonts'] + meta['valid']['fonts'])
fonts = [
str(fname) for fname in fonts_dir.rglob("*.ttf") if fname.name in allfonts
]
assert len(allfonts) == len(fonts)
processor = FontProcessor(language)
processor.dump_fonts(fonts, dump_dir)
if __name__ == '__main__':
fire.Fire(main)
================================================
FILE: ssim.py
================================================
from math import exp
import torch
import torch.nn.functional as F
###############################################################################
# SSIM and MS-SSIM
# from https://github.com/jorge-pessoa/pytorch-msssim
###############################################################################
def gaussian(window_size, sigma):
gauss = torch.Tensor(
[exp(-(x - window_size//2)**2/float(2*sigma**2)) for x in range(window_size)]
)
return gauss/gauss.sum()
def create_window(window_size, channel=1):
_1D_window = gaussian(window_size, 1.5).unsqueeze(1)
_2D_window = _1D_window.mm(_1D_window.t()).float().unsqueeze(0).unsqueeze(0)
window = _2D_window.expand(channel, 1, window_size, window_size).contiguous()
return window
def ssim(img1, img2, window_size=11, window=None, size_average=True, full=False, val_range=None):
# Value range can be different from 255. Other common ranges are 1 (sigmoid) and 2 (tanh).
if val_range is None:
if torch.max(img1) > 128:
max_val = 255
else:
max_val = 1
if torch.min(img1) < -0.5:
min_val = -1
else:
min_val = 0
L = max_val - min_val
else:
L = val_range
padd = 0
(_, channel, height, width) = img1.size()
if window is None:
real_size = min(window_size, height, width)
window = create_window(real_size, channel=channel).to(img1.device)
mu1 = F.conv2d(img1, window, padding=padd, groups=channel)
mu2 = F.conv2d(img2, window, padding=padd, groups=channel)
mu1_sq = mu1.pow(2)
mu2_sq = mu2.pow(2)
mu1_mu2 = mu1 * mu2
sigma1_sq = F.conv2d(img1 * img1, window, padding=padd, groups=channel) - mu1_sq
sigma2_sq = F.conv2d(img2 * img2, window, padding=padd, groups=channel) - mu2_sq
sigma12 = F.conv2d(img1 * img2, window, padding=padd, groups=channel) - mu1_mu2
C1 = (0.01 * L) ** 2
C2 = (0.03 * L) ** 2
v1 = 2.0 * sigma12 + C2
v2 = sigma1_sq + sigma2_sq + C2
cs = torch.mean(v1 / v2) # contrast sensitivity
ssim_map = ((2 * mu1_mu2 + C1) * v1) / ((mu1_sq + mu2_sq + C1) * v2)
if size_average:
ret = ssim_map.mean()
else:
ret = ssim_map.mean(1).mean(1).mean(1)
if full:
return ret, cs
return ret
def msssim(img1, img2, weights=None, window_size=11, window=None, size_average=True,
val_range=None, normalize=False):
if weights is None:
weights = torch.FloatTensor([0.0448, 0.2856, 0.3001, 0.2363, 0.1333]).to(img1.device)
levels = weights.size(0)
mssim = []
mcs = []
for _ in range(levels):
sim, cs = ssim(
img1, img2, window_size=window_size, window=window, size_average=size_average,
full=True, val_range=val_range
)
mssim.append(sim)
mcs.append(cs)
img1 = F.avg_pool2d(img1, (2, 2))
img2 = F.avg_pool2d(img2, (2, 2))
mssim = torch.stack(mssim)
mcs = torch.stack(mcs)
# Normalize (to avoid NaNs during training unstable models, not compliant with original definition)
if normalize:
mssim = (mssim + 1) / 2
mcs = (mcs + 1) / 2
pow1 = mcs ** weights
pow2 = mssim ** weights
# From Matlab implementation https://ece.uwaterloo.ca/~z70wang/research/iwssim/
output = torch.prod(pow1[:-1] * pow2[-1])
return output
# Classes to re-use window
class SSIM(torch.nn.Module):
def __init__(self, window_size=11, size_average=True, val_range=None, channel=1):
super(SSIM, self).__init__()
self.window_size = window_size
self.size_average = size_average
self.val_range = val_range
self.channel = channel
window = create_window(window_size, channel)
self.register_buffer('window', window)
def forward(self, img1, img2):
assert self.channel == img1.size(1)
return ssim(
img1, img2, window=self.window, window_size=self.window_size,
size_average=self.size_average, val_range=self.val_range
)
class MSSSIM(torch.nn.Module):
def __init__(self, weights=None, window_size=11, size_average=True, val_range=None, channel=1,
normalize=False):
super(MSSSIM, self).__init__()
self.window_size = window_size
self.size_average = size_average
self.val_range = val_range
self.channel = channel
self.normalize = normalize
if weights is None:
weights = [0.0448, 0.2856, 0.3001, 0.2363, 0.1333]
self.register_buffer('weights', torch.as_tensor(weights))
window = create_window(window_size, channel)
self.register_buffer('window', window)
def forward(self, img1, img2):
assert img1.size(1) == self.channel
return msssim(
img1, img2, weights=self.weights,
window_size=self.window_size, window=self.window, size_average=self.size_average,
val_range=self.val_range, normalize=self.normalize
)
================================================
FILE: train.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import sys
import json
from pathlib import Path
import argparse
import random
import torch
from torch.utils.data import DataLoader
import torch.optim as optim
from torchvision import transforms
import numpy as np
from sconf import Config, dump_args
from logger import Logger
from models import MACore, Discriminator, AuxClassifier
from models.modules import weights_init
from datasets import HDF5Data, get_ma_dataset, get_ma_val_dataset
import datasets.kor_decompose as kor
import datasets.thai_decompose as thai
import utils
from trainer import Trainer, load_checkpoint
from evaluator import Evaluator
def get_dset_loader(data, avail_fonts, avail_chars, transform, shuffle, cfg, content_font=None):
dset, collate_fn = get_ma_dataset(
data,
avail_fonts,
avail_chars=avail_chars,
transform=transform,
**cfg.get('dset_args', {}),
content_font=content_font,
language=cfg['language']
)
loader = DataLoader(dset, batch_size=cfg['batch_size'], shuffle=shuffle,
num_workers=cfg['n_workers'], collate_fn=collate_fn)
return dset, loader
def get_val_dset_loader(data, avail_fonts, avail_chars, trn_avail_chars, transform,
batch_size, n_workers=2, n_max_match=3, content_font=None, language=None):
style_avails = {
font_name: trn_avail_chars for font_name in avail_fonts
}
dset, collate_fn = get_ma_val_dataset(
data,
avail_fonts,
avail_chars,
style_avails,
n_max_match=n_max_match,
transform=transform,
ret_targets=True,
first_shuffle=True,
content_font=content_font,
language=language
)
loader = DataLoader(dset, batch_size=batch_size, shuffle=False,
num_workers=n_workers, collate_fn=collate_fn)
return dset, loader
def setup_args_and_config():
parser = argparse.ArgumentParser('MaHFG')
parser.add_argument("name")
parser.add_argument("config_paths", nargs="+")
parser.add_argument("--show", action="store_true", default=False)
parser.add_argument("--resume", default=None)
parser.add_argument("--log_lv", default='info')
parser.add_argument("--debug", default=False, action="store_true")
parser.add_argument("--tb-image", default=False, action="store_true",
help="Write image log to tensorboard")
parser.add_argument("--deterministic", default=False, action="store_true")
args, left_argv = parser.parse_known_args()
assert not args.name.endswith(".yaml")
cfg = Config(*args.config_paths, colorize_modified_item=True)
cfg.argv_update(left_argv)
if args.debug:
cfg['print_freq'] = 1
cfg['tb_freq'] = 1
cfg['max_iter'] = 10
# cfg['save'] = 'last'
cfg['val_freq'] = 5
cfg['save_freq'] = 10
args.name += "_debug"
args.tb_image = True
args.log_lv = 'debug'
cfg['data_dir'] = Path(cfg['data_dir'])
assert cfg['save_freq'] % cfg['val_freq'] == 0
return args, cfg
def setup_language_dependent(cfg):
if cfg['language'] == 'kor':
content_font = "NanumBarunpenR.ttf"
n_comp_types = 3 # cho, jung, jong
n_comps = kor.N_COMPONENTS
elif cfg['language'] == 'thai':
content_font = "NotoSansThai-Regular.ttf"
n_comp_types = 4 # consonant, upper, highest, lower
n_comps = thai.N_COMPONENTS
else:
raise ValueError(cfg['language'])
return content_font, n_comp_types, n_comps
def setup_data(cfg, val_transform):
""" setup data, meta_data, and check cross-validation flag
Return (tuple): (data, meta_data)
data (HDF5Data)
meta_data (dict)
"""
hdf5_paths = list(cfg['data_dir'].glob("*.hdf5"))
hdf5_data = HDF5Data(hdf5_paths, val_transform, language=cfg['language'])
# setup meta data
meta = json.load(open(cfg['data_meta']))
return hdf5_data, meta
def setup_cv_dset_loader(hdf5_data, meta, val_transform, n_comp_types, content_font, cfg):
trn_chars = meta['train']['chars']
batch_size = cfg['batch_size'] * 3
n_workers = cfg['n_workers']
n_max_match = n_comp_types # for validation dset
# seen fonts, unseen chars -> same as original unseen validation
sfuc_dset, sfuc_loader = get_val_dset_loader(
hdf5_data, meta['train']['fonts'], meta['valid']['chars'], trn_chars, val_transform,
batch_size, n_workers, n_max_match, content_font, cfg['language']
)
# unseen fonts, seen chars
ufsc_dset, ufsc_loader = get_val_dset_loader(
hdf5_data, meta['valid']['fonts'], meta['train']['chars'], trn_chars, val_transform,
batch_size, n_workers, n_max_match, content_font, cfg['language']
)
# unseen fonts, unseen chars
ufuc_dset, ufuc_loader = get_val_dset_loader(
hdf5_data, meta['valid']['fonts'], meta['valid']['chars'], trn_chars, val_transform,
batch_size, n_workers, n_max_match, content_font, cfg['language']
)
# setup val_loaders
val_loaders = {
"SeenFonts-UnseenChars": sfuc_loader,
"UnseenFonts-SeenChars": ufsc_loader,
"UnseenFonts-UnseenChars": ufuc_loader
}
return val_loaders
def main():
############################
# argument setup
############################
args, cfg = setup_args_and_config()
if args.show:
print("### Run Argv:\n> {}".format(' '.join(sys.argv)))
print("### Run Arguments:")
s = dump_args(args)
print(s + '\n')
print("### Configs:")
print(cfg.dumps())
sys.exit()
timestamp = utils.timestamp()
unique_name = "{}_{}".format(timestamp, args.name)
cfg['unique_name'] = unique_name # for save directory
cfg['name'] = args.name
utils.makedirs('logs')
utils.makedirs(Path('checkpoints', unique_name))
# logger
logger_path = Path('logs', f"{unique_name}.log")
logger = Logger.get(file_path=logger_path, level=args.log_lv, colorize=True)
# writer
image_scale = 0.6
writer_path = Path('runs', unique_name)
if args.tb_image:
writer = utils.TBWriter(writer_path, scale=image_scale)
else:
image_path = Path('images', unique_name)
writer = utils.TBDiskWriter(writer_path, image_path, scale=image_scale)
# log default informations
args_str = dump_args(args)
logger.info("Run Argv:\n> {}".format(' '.join(sys.argv)))
logger.info("Args:\n{}".format(args_str))
logger.info("Configs:\n{}".format(cfg.dumps()))
logger.info("Unique name: {}".format(unique_name))
# seed
np.random.seed(cfg['seed'])
torch.manual_seed(cfg['seed'])
random.seed(cfg['seed'])
if args.deterministic:
# https://discuss.pytorch.org/t/how-to-get-deterministic-behavior/18177/16
# https://pytorch.org/docs/stable/notes/randomness.html
torch.backends.cudnn.benchmark = False
torch.backends.cudnn.deterministic = True
cfg['n_workers'] = 0
logger.info("#" * 80)
logger.info("# Deterministic option is activated !")
logger.info("#" * 80)
else:
torch.backends.cudnn.benchmark = True
############################
# setup dataset & loader
############################
logger.info("Get dataset ...")
# setup language dependent values
content_font, n_comp_types, n_comps = setup_language_dependent(cfg)
# setup transform
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize([0.5], [0.5])
])
# setup data
hdf5_data, meta = setup_data(cfg, transform)
# setup dataset
trn_dset, loader = get_dset_loader(
hdf5_data, meta['train']['fonts'], meta['train']['chars'], transform, True, cfg,
content_font=content_font
)
logger.info("### Training dataset ###")
logger.info("# of avail fonts = {}".format(trn_dset.n_fonts))
logger.info(f"Total {len(loader)} iterations per epochs")
logger.info("# of avail items = {}".format(trn_dset.n_avails))
logger.info(f"#fonts = {trn_dset.n_fonts}, #chars = {trn_dset.n_chars}")
val_loaders = setup_cv_dset_loader(
hdf5_data, meta, transform, n_comp_types, content_font, cfg
)
sfuc_loader = val_loaders['SeenFonts-UnseenChars']
sfuc_dset = sfuc_loader.dataset
ufsc_loader = val_loaders['UnseenFonts-SeenChars']
ufsc_dset = ufsc_loader.dataset
ufuc_loader = val_loaders['UnseenFonts-UnseenChars']
ufuc_dset = ufuc_loader.dataset
logger.info("### Cross-validation datasets ###")
logger.info(
"Seen fonts, Unseen chars | "
"#items = {}, #fonts = {}, #chars = {}, #steps = {}".format(
len(sfuc_dset), len(sfuc_dset.fonts), len(sfuc_dset.chars), len(sfuc_loader)))
logger.info(
"Unseen fonts, Seen chars | "
"#items = {}, #fonts = {}, #chars = {}, #steps = {}".format(
len(ufsc_dset), len(ufsc_dset.fonts), len(ufsc_dset.chars), len(ufsc_loader)))
logger.info(
"Unseen fonts, Unseen chars | "
"#items = {}, #fonts = {}, #chars = {}, #steps = {}".format(
len(ufuc_dset), len(ufuc_dset.fonts), len(ufuc_dset.chars), len(ufuc_loader)))
############################
# build model
############################
logger.info("Build model ...")
# generator
g_kwargs = cfg.get('g_args', {})
gen = MACore(
1, cfg['C'], 1, **g_kwargs, n_comps=n_comps, n_comp_types=n_comp_types,
language=cfg['language']
)
gen.cuda()
gen.apply(weights_init(cfg['init']))
d_kwargs = cfg.get('d_args', {})
disc = Discriminator(cfg['C'], trn_dset.n_fonts, trn_dset.n_chars, **d_kwargs)
disc.cuda()
disc.apply(weights_init(cfg['init']))
if cfg['ac_w'] > 0.:
C = gen.mem_shape[0]
aux_clf = AuxClassifier(C, n_comps, **cfg['ac_args'])
aux_clf.cuda()
aux_clf.apply(weights_init(cfg['init']))
else:
aux_clf = None
assert cfg['ac_gen_w'] == 0., "ac_gen loss is only available with ac loss"
# setup optimizer
g_optim = optim.Adam(gen.parameters(), lr=cfg['g_lr'], betas=cfg['adam_betas'])
d_optim = optim.Adam(disc.parameters(), lr=cfg['d_lr'], betas=cfg['adam_betas'])
ac_optim = optim.Adam(aux_clf.parameters(), lr=cfg['g_lr'], betas=cfg['adam_betas']) \
if aux_clf is not None else None
# resume checkpoint
st_step = 1
if args.resume:
st_step, loss = load_checkpoint(args.resume, gen, disc, aux_clf, g_optim, d_optim, ac_optim)
logger.info("Resumed checkpoint from {} (Step {}, Loss {:7.3f})".format(
args.resume, st_step-1, loss))
############################
# setup validation
############################
evaluator = Evaluator(
hdf5_data, trn_dset.avails, logger, writer, cfg['batch_size'],
content_font=content_font, transform=transform, language=cfg['language'],
val_loaders=val_loaders, meta=meta
)
if args.debug:
evaluator.n_cv_batches = 10
logger.info("Change CV batches to 10 for debugging")
############################
# start training
############################
trainer = Trainer(
gen, disc, g_optim, d_optim, aux_clf, ac_optim,
writer, logger, evaluator, cfg
)
trainer.train(loader, st_step)
if __name__ == "__main__":
main()
================================================
FILE: trainer.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import copy
from pathlib import Path
import torch
import torch.nn as nn
import torch.nn.functional as F
import utils
from datasets import cyclize
from models.memory import comp_id_to_addr
from criterions import hinge_g_loss, hinge_d_loss
def has_bn(model):
for m in model.modules():
if isinstance(m, (nn.BatchNorm1d, nn.BatchNorm2d, nn.BatchNorm3d)):
return True
return False
def load_checkpoint(path, gen, disc, aux_clf, g_optim, d_optim, ac_optim):
ckpt = torch.load(path)
gen.load_state_dict(ckpt['generator'])
g_optim.load_state_dict(ckpt['optimizer'])
if disc is not None:
disc.load_state_dict(ckpt['discriminator'])
d_optim.load_state_dict(ckpt['d_optimizer'])
if aux_clf is not None:
aux_clf.load_state_dict(ckpt['aux_clf'])
ac_optim.load_state_dict(ckpt['ac_optimizer'])
# NOTE epoch is step
st_epoch = ckpt['epoch'] + 1
loss = ckpt['loss']
return st_epoch, loss
class Trainer:
def __init__(self, gen, disc, g_optim, d_optim, aux_clf, ac_optim,
writer, logger, evaluator, cfg):
self.gen = gen
self.gen_ema = copy.deepcopy(self.gen)
self.is_bn_gen = has_bn(self.gen)
self.disc = disc
self.g_optim = g_optim
self.d_optim = d_optim
self.aux_clf = aux_clf
self.ac_optim = ac_optim
self.writer = writer
self.logger = logger
self.evaluator = evaluator
self.cfg = cfg
self.step = 1
self.language = cfg['language']
self.g_losses = {}
self.d_losses = {}
self.ac_losses = {}
def clear_losses(self):
""" Integrate & clear loss dict """
# g losses
loss_dic = {k: v.item() for k, v in self.g_losses.items()}
loss_dic['g_total'] = sum(loss_dic.values())
# d losses
loss_dic.update({k: v.item() for k, v in self.d_losses.items()})
# ac losses
loss_dic.update({k: v.item() for k, v in self.ac_losses.items()})
self.g_losses = {}
self.d_losses = {}
self.ac_losses = {}
return loss_dic
def accum_g(self, decay=0.999):
par1 = dict(self.gen_ema.named_parameters())
par2 = dict(self.gen.named_parameters())
for k in par1.keys():
par1[k].data.mul_(decay).add_(1 - decay, par2[k].data)
def sync_g_ema(self, style_ids, style_comp_ids, style_imgs, trg_ids, trg_comp_ids):
""" update running stats for BN & update max singular value for SN """
org_train_mode = self.gen_ema.training
with torch.no_grad():
self.gen_ema.train()
self.gen_ema.encode_write(style_ids, style_comp_ids, style_imgs)
self.gen_ema.read_decode(trg_ids, trg_comp_ids)
self.gen_ema.train(org_train_mode)
def train(self, loader, st_step=1, val=None):
val = val or {}
self.gen.train()
self.disc.train()
# loss stats
losses = utils.AverageMeters("g_total", "pixel", "disc", "gen", "fm", "ac", "ac_gen")
# discriminator stats
discs = utils.AverageMeters("real", "fake",
"real_font", "real_char", "fake_font", "fake_char",
"real_acc", "fake_acc", "real_font_acc", "real_char_acc",
"fake_font_acc", "fake_char_acc")
# etc stats
stats = utils.AverageMeters("B_style", "B_target", "ac_acc", "ac_gen_acc")
self.step = st_step
self.clear_losses()
self.logger.info("Start training ...")
for (style_ids, style_char_ids, style_comp_ids, style_imgs,
trg_ids, trg_char_ids, trg_comp_ids, trg_imgs, *content_imgs) in cyclize(loader):
B = trg_imgs.size(0)
stats.updates({
"B_style": style_imgs.size(0),
"B_target": B
})
style_ids = style_ids.cuda()
# style_char_ids = style_char_ids.cuda()
style_comp_ids = style_comp_ids.cuda()
style_imgs = style_imgs.cuda()
trg_ids = trg_ids.cuda()
trg_char_ids = trg_char_ids.cuda()
trg_comp_ids = trg_comp_ids.cuda()
trg_imgs = trg_imgs.cuda()
# infer
comp_feats = self.gen.encode_write(style_ids, style_comp_ids, style_imgs)
out = self.gen.read_decode(trg_ids, trg_comp_ids)
# D loss
real, real_font, real_char, real_feats = self.disc(
trg_imgs, trg_ids, trg_char_ids, out_feats=True
)
fake, fake_font, fake_char = self.disc(out.detach(), trg_ids, trg_char_ids)
self.add_gan_d_loss(real, real_font, real_char, fake, fake_font, fake_char)
self.d_optim.zero_grad()
self.d_backward()
self.d_optim.step()
# G loss
fake, fake_font, fake_char, fake_feats = self.disc(
out, trg_ids, trg_char_ids, out_feats=True
)
self.add_gan_g_loss(real, real_font, real_char, fake, fake_font, fake_char)
# feature matching loss
self.add_fm_loss(real_feats, fake_feats)
# disc stats
racc = lambda x: (x > 0.).float().mean().item()
facc = lambda x: (x < 0.).float().mean().item()
discs.updates({
"real": real.mean().item(),
"fake": fake.mean().item(),
"real_font": real_font.mean().item(),
"real_char": real_char.mean().item(),
"fake_font": fake_font.mean().item(),
"fake_char": fake_char.mean().item(),
'real_acc': racc(real),
'fake_acc': facc(fake),
'real_font_acc': racc(real_font),
'real_char_acc': racc(real_char),
'fake_font_acc': facc(fake_font),
'fake_char_acc': facc(fake_char)
}, B)
# pixel loss
self.add_pixel_loss(out, trg_imgs)
self.g_optim.zero_grad()
# NOTE ac loss generates & leaves grads to G.
# so g_optim.zero_grad() should place in front of ac loss and
# g_backward() should follow ac loss.
if self.aux_clf is not None:
self.add_ac_losses_and_update_stats(
comp_feats, style_comp_ids, out, trg_comp_ids, stats
)
self.ac_optim.zero_grad()
self.ac_backward(retain_graph=True)
self.ac_optim.step()
self.g_backward()
self.g_optim.step()
loss_dic = self.clear_losses()
losses.updates(loss_dic, B)
# generator EMA
self.accum_g()
if self.is_bn_gen:
self.sync_g_ema(style_ids, style_comp_ids, style_imgs, trg_ids, trg_comp_ids)
# after step
if self.step % self.cfg['tb_freq'] == 0:
self.plot(losses, discs, stats)
if self.step % self.cfg['print_freq'] == 0:
self.log(losses, discs, stats)
losses.resets()
discs.resets()
stats.resets()
if self.step % self.cfg['val_freq'] == 0:
epoch = self.step / len(loader)
self.logger.info("Validation at Epoch = {:.3f}".format(epoch))
self.evaluator.merge_and_log_image('d1', out, trg_imgs, self.step)
self.evaluator.validation(self.gen, self.step)
# if non-BN generator, sync max singular value of spectral norm.
if not self.is_bn_gen:
self.sync_g_ema(style_ids, style_comp_ids, style_imgs, trg_ids, trg_comp_ids)
self.evaluator.validation(self.gen_ema, self.step, extra_tag='_EMA')
# save freq == val freq
self.save(
loss_dic['g_total'], self.cfg['save'],
self.cfg.get('save_freq', self.cfg['val_freq'])
)
if self.step >= self.cfg['max_iter']:
self.logger.info("Iteration finished.")
break
self.step += 1
def add_pixel_loss(self, out, target):
loss = F.l1_loss(out, target, reduction='mean') * self.cfg['pixel_w']
self.g_losses['pixel'] = loss
return loss
def add_gan_g_loss(self, real, real_font, real_char, fake, fake_font, fake_char):
if self.cfg['gan_w'] == 0.:
return 0.
g_loss = hinge_g_loss(real_font.detach(), fake_font) + \
hinge_g_loss(real_char.detach(), fake_char)
if self.disc.use_rx:
g_loss += hinge_g_loss(real.detach(), fake)
g_loss *= self.cfg['gan_w']
self.g_losses['gen'] = g_loss
return g_loss
def add_gan_d_loss(self, real, real_font, real_char, fake, fake_font, fake_char):
if self.cfg['gan_w'] == 0.:
return 0.
d_loss = hinge_d_loss(real_font, fake_font) + \
hinge_d_loss(real_char, fake_char)
if self.disc.use_rx:
d_loss += hinge_d_loss(real, fake)
d_loss *= self.cfg['gan_w']
self.d_losses['disc'] = d_loss
return d_loss
def add_fm_loss(self, real_feats, fake_feats):
if self.cfg['fm_w'] == 0.:
return 0.
fm_loss = 0.
for real_f, fake_f in zip(real_feats, fake_feats):
fm_loss += F.l1_loss(real_f.detach(), fake_f)
fm_loss = fm_loss / len(real_feats) * self.cfg['fm_w']
self.g_losses['fm'] = fm_loss
return fm_loss
def add_ac_losses_and_update_stats(self, comp_feats, style_comp_ids, generated,
trg_comp_ids, stats):
# 1. ac(enc(x)) loss
loss, acc = self.infer_ac(comp_feats, style_comp_ids)
self.ac_losses['ac'] = loss * self.cfg['ac_w']
stats.ac_acc.update(acc, style_comp_ids.numel())
# 2. ac(enc(fake)) loss
# Freeze second encoder to prevent cheating by encoder
with utils.temporary_freeze(self.gen.component_encoder):
feats = self.gen.component_encoder(generated)
gen_comp_feats = feats[-1]
loss, acc = self.infer_ac(gen_comp_feats, trg_comp_ids)
self.ac_losses['ac_gen'] = loss * self.cfg['ac_w']
stats.ac_gen_acc.update(acc, trg_comp_ids.numel())
def infer_ac(self, comp_feats, comp_ids):
""" Auxiliary classifier loss on style or output features """
comp_addrs = comp_id_to_addr(comp_ids, self.language)
comp_feats_flat = comp_feats.flatten(0, 1)
comp_addrs_flat = comp_addrs.flatten(0, 1)
aux_out = self.aux_clf(comp_feats_flat)
loss = F.cross_entropy(aux_out, comp_addrs_flat)
acc = utils.accuracy(aux_out, comp_addrs_flat)
return loss, acc
def d_backward(self):
with utils.temporary_freeze(self.gen):
d_loss = sum(self.d_losses.values())
d_loss.backward()
def g_backward(self):
with utils.temporary_freeze(self.disc):
g_loss = sum(self.g_losses.values())
g_loss.backward()
def ac_backward(self, retain_graph):
if self.aux_clf is None:
return
org_grads = utils.freeze(self.gen.memory.persistent_memory)
if 'ac' in self.ac_losses:
self.ac_losses['ac'].backward(retain_graph=retain_graph)
if 'ac_gen' in self.ac_losses:
with utils.temporary_freeze(self.aux_clf):
self.ac_losses['ac_gen'].backward(retain_graph=retain_graph)
utils.unfreeze(self.gen.memory.persistent_memory, org_grads)
def save(self, cur_loss, method, save_freq=None):
"""
Args:
method: all / last
all: save checkpoint by step
last: save checkpoint to 'last.pth'
all-last: save checkpoint by step per save_freq and
save checkpoint to 'last.pth' always
"""
if method not in ['all', 'last', 'all-last']:
return
step_save = False
last_save = False
if method == 'all' or (method == 'all-last' and self.step % save_freq == 0):
step_save = True
if method in ('last', 'all-last'):
last_save = True
assert step_save or last_save
save_dic = {
'generator': self.gen.state_dict(),
'generator_ema': self.gen_ema.state_dict(),
'discriminator': self.disc.state_dict(),
'd_optimizer': self.d_optim.state_dict(),
'optimizer': self.g_optim.state_dict(),
'epoch': self.step,
'loss': cur_loss
}
if self.aux_clf is not None:
save_dic['aux_clf'] = self.aux_clf.state_dict()
save_dic['ac_optimizer'] = self.ac_optim.state_dict()
ckpt_dir = Path("checkpoints", self.cfg['unique_name'])
step_ckpt_name = "{:06d}-{}.pth".format(self.step, self.cfg['name'])
last_ckpt_name = "last.pth"
step_ckpt_path = ckpt_dir / step_ckpt_name
last_ckpt_path = ckpt_dir / last_ckpt_name
log = ""
if step_save:
torch.save(save_dic, str(step_ckpt_path))
log = "Checkpoint is saved to {}".format(step_ckpt_path)
if last_save:
utils.rm(last_ckpt_path)
last_ckpt_path.symlink_to(step_ckpt_path.absolute())
log += " w/ {} symlink".format(last_ckpt_name)
if not step_save and last_save:
utils.rm(last_ckpt_path)
torch.save(save_dic, str(last_ckpt_path))
log = "Checkpoint is saved to {}".format(last_ckpt_path)
self.logger.info("{}\n".format(log))
def plot(self, losses, discs, stats):
tag_scalar_dic = {
'train/g_total_loss': losses.g_total.val,
'train/pixel_loss': losses.pixel.val,
'train/d_loss': losses.disc.val,
'train/g_loss': losses.gen.val,
'train/d_real_font': discs.real_font.val,
'train/d_real_char': discs.real_char.val,
'train/d_fake_font': discs.fake_font.val,
'train/d_fake_char': discs.fake_char.val,
'train/d_real_font_acc': discs.real_font_acc.val,
'train/d_real_char_acc': discs.real_char_acc.val,
'train/d_fake_font_acc': discs.fake_font_acc.val,
'train/d_fake_char_acc': discs.fake_char_acc.val
}
if self.disc.use_rx:
tag_scalar_dic.update({
'train/d_real': discs.real.val,
'train/d_fake': discs.fake.val,
'train/d_real_acc': discs.real_acc.val,
'train/d_fake_acc': discs.fake_acc.val
})
if self.cfg['fm_w'] > 0.:
tag_scalar_dic['train/feature_matching'] = losses.fm.val
if self.aux_clf is not None:
tag_scalar_dic.update({
'train/ac_loss': losses.ac.val,
'train/ac_acc': stats.ac_acc.val,
'train/ac_gen_loss': losses.ac_gen.val,
'train/ac_gen_acc': stats.ac_gen_acc.val
})
self.writer.add_scalars(tag_scalar_dic, self.step)
def log(self, losses, discs, stats):
self.logger.info(
" Step {step:7d}: L1 {L.pixel.avg:7.4f} D {L.disc.avg:7.3f} G {L.gen.avg:7.3f}"
" FM {L.fm.avg:7.3f} AC {S.ac_acc.avg:5.1%} AC_gen {S.ac_gen_acc.avg:5.1%}"
" R {D.real_acc.avg:7.3f} F {D.fake_acc.avg:7.3f}"
" R_font {D.real_font_acc.avg:7.3f} F_font {D.fake_font_acc.avg:7.3f}"
" R_char {D.real_char_acc.avg:7.3f} F_char {D.fake_char_acc.avg:7.3f}"
" B_stl {S.B_style.avg:5.1f} B_trg {S.B_target.avg:5.1f}"
.format(step=self.step, L=losses, D=discs, S=stats))
================================================
FILE: utils/__init__.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
from .utils import *
from .visualize import *
from .writer import *
================================================
FILE: utils/utils.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import os
import shutil
from contextlib import contextmanager
from datetime import datetime
import errno
class AverageMeter():
""" Computes and stores the average and current value """
def __init__(self):
self.reset()
def reset(self):
""" Reset all statistics """
self.val = 0
self.avg = 0
self.sum = 0
self.count = 0
def update(self, val, n=1):
""" Update statistics """
self.val = val
self.sum += val * n
self.count += n
self.avg = self.sum / self.count
def __repr__(self):
return "{:.3f} (val={:.3f}, count={})".format(self.avg, self.val, self.count)
class AverageMeters():
def __init__(self, *keys):
self.keys = keys
for k in keys:
setattr(self, k, AverageMeter())
def resets(self):
for k in self.keys:
getattr(self, k).reset()
def updates(self, dic, n=1):
for k, v in dic.items():
getattr(self, k).update(v, n)
def __repr__(self):
return " ".join(["{}: {}".format(k, str(getattr(self, k))) for k in self.keys])
def accuracy(out, target):
pred = out.max(1)[1]
corr = (pred == target).sum().item()
B = len(target)
acc = float(corr) / B
return acc
@contextmanager
def temporary_freeze(module):
org_grads = freeze(module)
yield
unfreeze(module, org_grads)
def freeze(module):
if module is None:
return None
org = []
module.eval()
for p in module.parameters():
org.append(p.requires_grad)
p.requires_grad_(False)
return org
def unfreeze(module, org=None):
if module is None:
return
module.train()
if org is not None:
org = iter(org)
for p in module.parameters():
grad = next(org) if org else True
p.requires_grad_(grad)
def makedirs(path):
if not os.path.exists(path):
try:
os.makedirs(path)
except OSError as exc:
if exc.errno != errno.EEXIST:
raise
def rm(path):
""" remove dir recursively """
if os.path.isdir(path):
shutil.rmtree(path)
elif os.path.exists(path):
os.remove(path)
def cp(src, dst):
shutil.copy2(src, dst)
def timestamp(fmt="%y%m%d_%H-%M-%S"):
return datetime.now().strftime(fmt)
================================================
FILE: utils/visualize.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
import torch
from torchvision import utils as tv_utils
from PIL import Image
def make_merged_grid(batchs, merge_dim, **kwargs):
""" Generate grid for each batch and integrate them with sep bar
Args:
merge_dim: 1 => height-wise merge, 2=> width-wise merge.
"""
sep_bar_size = 12
out = []
for batch in batchs:
grid = to_grid(batch, 'torch', **kwargs).cpu()
shape = list(grid.size())
shape[merge_dim] = sep_bar_size
sep_bar = torch.zeros(*shape)
out += [grid, sep_bar]
# remove last sep_bar
return torch.cat(out[:-1], dim=merge_dim)
def make_comparable_grid(*batches, nrow):
assert all(len(batches[0]) == len(batch) for batch in batches[1:])
N = len(batches[0])
grids = []
for i in range(0, N, nrow):
rows = [batch[i:i+nrow] for batch in batches]
row = torch.cat(rows)
grid = to_grid(row, 'torch', nrow=nrow)
grids.append(grid)
C, _H, W = grid.shape
sep_bar = torch.zeros(C, 10, W)
grids.append(sep_bar)
return torch.cat(grids[:-1], dim=1)
def normalize(tensor, eps=1e-5):
""" Normalize tensor to [0, 1] """
# eps=1e-5 is same as make_grid in torchvision.
minv, maxv = tensor.min(), tensor.max()
tensor = (tensor - minv) / (maxv - minv + eps)
return tensor
def to_grid(tensor, to, **kwargs):
""" Integrated functions of make_grid and save_image
Possible conversions:
torch: torch tensor [0, 1]
numpy: numpy ndarr [0, 255]
pil: PIL image
"""
to = to.lower()
grid = tv_utils.make_grid(tensor, **kwargs, normalize=True)
if to == 'torch':
return grid
ndarr = grid.mul(255).clamp(0, 255).byte().permute(1, 2, 0).cpu().numpy()
if to == 'numpy':
return ndarr
im = Image.fromarray(ndarr)
if to == 'pil':
return im
raise ValueError("Not supported target format `{}`".format(to))
def save_tensor_to_image(tensor, filepath, scale=None):
""" Save torch tensor to filepath
Same as torchvision.save_image; only scale factor is difference.
"""
tensor = normalize(tensor)
ndarr = tensor.mul(255).clamp(0, 255).byte().permute(1, 2, 0).cpu().numpy()
if ndarr.shape[-1] == 1:
ndarr = ndarr.squeeze(-1)
im = Image.fromarray(ndarr)
if scale:
size = tuple(map(lambda v: int(v*scale), im.size))
im = im.resize(size, resample=Image.BILINEAR)
im.save(filepath)
def textboxes(chars, data):
images = [data.get_from_reffont(char) for char in chars]
return images
================================================
FILE: utils/writer.py
================================================
"""
DMFont
Copyright (c) 2020-present NAVER Corp.
MIT license
"""
from pathlib import Path
import torch.nn.functional as F
from . import save_tensor_to_image
class Writer:
def add_scalars(self, tag_scalar_dic, global_step):
raise NotImplementedError()
def add_image(self, tag, img_tensor, global_step):
raise NotImplementedError()
class DiskWriter(Writer):
def __init__(self, img_path, scale=None):
self.img_dir = Path(img_path)
self.img_dir.mkdir(parents=True, exist_ok=True)
self.scale = scale
def add_scalars(self, tag_scalar_dic, global_step):
pass
def add_image(self, tag, img_tensor, global_step):
path = self.img_dir / "{:07d}-{}.png".format(global_step, tag)
save_tensor_to_image(img_tensor, path, self.scale)
class TBWriter(Writer):
def __init__(self, dir_path, scale=None):
from tensorboardX import SummaryWriter
self.writer = SummaryWriter(dir_path, flush_secs=30)
self.scale = scale
def add_scalars(self, tag_scalar_dic, global_step):
for tag, scalar in tag_scalar_dic.items():
self.writer.add_scalar(tag, scalar, global_step)
def add_image(self, tag, img_tensor, global_step):
if self.scale:
img_tensor = F.interpolate(
img_tensor.unsqueeze(0), scale_factor=self.scale, mode='bilinear',
align_corners=False
).squeeze(0)
self.writer.add_image(tag, img_tensor, global_step)
class TBDiskWriter(TBWriter):
def __init__(self, dir_path, img_path, scale=None):
super().__init__(dir_path)
# composition
self._disk_writer = DiskWriter(img_path, scale)
def add_image(self, tag, img_tensor, global_step):
return self._disk_writer.add_image(tag, img_tensor, global_step)