diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..7ba7cece3d6571b80de37d45ffeb8ad72642b36d --- /dev/null +++ b/LICENSE @@ -0,0 +1,28 @@ +BSD 3-Clause License + +Copyright (c) 2023, Multilingual NLP Team at Alibaba DAMO Academy + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE_Lavis.md b/LICENSE_Lavis.md new file mode 100644 index 0000000000000000000000000000000000000000..9ba97919e5b9568c8b9c42ea85251f01049a220e --- /dev/null +++ b/LICENSE_Lavis.md @@ -0,0 +1,14 @@ +BSD 3-Clause License + +Copyright (c) 2022 Salesforce, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE_Minigpt4.md b/LICENSE_Minigpt4.md new file mode 100644 index 0000000000000000000000000000000000000000..9d5f2f9b2b609b8e8628051fea6a408de9d959dc --- /dev/null +++ b/LICENSE_Minigpt4.md @@ -0,0 +1,14 @@ +BSD 3-Clause License + +Copyright 2023 Deyao Zhu +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README copy.md b/README copy.md new file mode 100644 index 0000000000000000000000000000000000000000..22d8d0323420a25db7269a7b1eebc308d85c9e2c --- /dev/null +++ b/README copy.md @@ -0,0 +1,244 @@ +

+Video-LLaMA +

+ + + +# Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding + + +This is the repo for the Video-LLaMA project, which is working on empowering large language models with video and audio understanding capabilities. + +
+ + + + +
+ +## News +- [08.03] **NOTE**: Release the LLaMA-2-Chat version of **Video-LLaMA**, including its pre-trained and instruction-tuned checkpoints. We uploaded full weights on Huggingface ([7B-Pretrained](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-7B-Pretrained),[7B-Finetuned](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-7B-Finetuned),[13B-Pretrained](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-13B-Pretrained),[13B-Finetuned](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-13B-Finetuned)), just for your convenience and secondary development. Welcome to try. +- [06.14] **NOTE**: the current online interactive demo is primarily for English chatting and it may **NOT** be a good option to ask Chinese questions since Vicuna/LLaMA does not represent Chinese texts very well. +- [06.13] **NOTE**: the audio support is **ONLY** for Vicuna-7B by now although we have several VL checkpoints available for other decoders. +- [06.10] **NOTE**: we have NOT updated the HF demo yet because the whole framework (with audio branch) cannot run normally on A10-24G. The current running demo is still the previous version of Video-LLaMA. We will fix this issue soon. +- [06.08] 🚀🚀 Release the checkpoints of the audio-supported Video-LLaMA. Documentation and example outputs are also updated. +- [05.22] 🚀🚀 Interactive demo online, try our Video-LLaMA (with **Vicuna-7B** as language decoder) at [Hugging Face](https://huggingface.co/spaces/DAMO-NLP-SG/Video-LLaMA) and [ModelScope](https://pre.modelscope.cn/studios/damo/video-llama/summary)!! +- [05.22] ⭐️ Release **Video-LLaMA v2** built with Vicuna-7B +- [05.18] 🚀🚀 Support video-grounded chat in Chinese + - [**Video-LLaMA-BiLLA**](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-billa7b-zh.pth): we introduce [BiLLa-7B](https://huggingface.co/Neutralzz/BiLLa-7B-SFT) as language decoder and fine-tune the video-language aligned model (i.e., stage 1 model) with machine-translated [VideoChat](https://github.com/OpenGVLab/InternVideo/tree/main/Data/instruction_data) instructions. + - [**Video-LLaMA-Ziya**](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-ziya13b-zh.pth): same with Video-LLaMA-BiLLA but the language decoder is changed to [Ziya-13B](https://huggingface.co/IDEA-CCNL/Ziya-LLaMA-13B-v1). +- [05.18] ⭐️ Create a Hugging Face [repo](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series) to store the model weights of all the variants of our Video-LLaMA. +- [05.15] ⭐️ Release [**Video-LLaMA v2**](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-vicuna13b-v2.pth): we use the training data provided by [VideoChat](https://github.com/OpenGVLab/InternVideo/tree/main/Data/instruction_data) to further enhance the instruction-following capability of Video-LLaMA. +- [05.07] Release the initial version of **Video-LLaMA**, including its pre-trained and instruction-tuned checkpoints. + +

+Video-LLaMA +

+ +## Introduction + + +- Video-LLaMA is built on top of [BLIP-2](https://github.com/salesforce/LAVIS/tree/main/projects/blip2) and [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4). It is composed of two core components: (1) Vision-Language (VL) Branch and (2) Audio-Language (AL) Branch. + - **VL Branch** (Visual encoder: ViT-G/14 + BLIP-2 Q-Former) + - A two-layer video Q-Former and a frame embedding layer (applied to the embeddings of each frame) are introduced to compute video representations. + - We train VL Branch on the Webvid-2M video caption dataset with a video-to-text generation task. We also add image-text pairs (~595K image captions from [LLaVA](https://github.com/haotian-liu/LLaVA)) into the pre-training dataset to enhance the understanding of static visual concepts. + - After pre-training, we further fine-tune our VL Branch using the instruction-tuning data from [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4), [LLaVA](https://github.com/haotian-liu/LLaVA) and [VideoChat](https://github.com/OpenGVLab/Ask-Anything). + - **AL Branch** (Audio encoder: ImageBind-Huge) + - A two-layer audio Q-Former and a audio segment embedding layer (applied to the embedding of each audio segment) are introduced to compute audio representations. + - As the used audio encoder (i.e., ImageBind) is already aligned across multiple modalities, we train AL Branch on video/image instrucaption data only, just to connect the output of ImageBind to language decoder. +- Note that only the Video/Audio Q-Former, positional embedding layers and the linear layers are trainable during cross-modal training. + + + +## Example Outputs + + +- **Video with background sound** + +

+ + +

+ + +- **Video without sound effects** +

+ + +

+ +- **Static image** +

+ + +

+ + + +## Pre-trained & Fine-tuned Checkpoints + +The following checkpoints store learnable parameters (positional embedding layers, Video/Audio Q-former and linear projection layers) only. + +#### Vision-Language Branch +| Checkpoint | Link | Note | +|:------------|-------------|-------------| +| pretrain-vicuna7b | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/pretrain_vicuna7b-v2.pth) | Pre-trained on WebVid (2.5M video-caption pairs) and LLaVA-CC3M (595k image-caption pairs) | +| finetune-vicuna7b-v2 | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-vicuna7b-v2.pth) | Fine-tuned on the instruction-tuning data from [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4), [LLaVA](https://github.com/haotian-liu/LLaVA) and [VideoChat](https://github.com/OpenGVLab/Ask-Anything)| +| pretrain-vicuna13b | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/pretrain-vicuna13b.pth) | Pre-trained on WebVid (2.5M video-caption pairs) and LLaVA-CC3M (595k image-caption pairs) | +| finetune-vicuna13b-v2 | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-vicuna13b-v2.pth) | Fine-tuned on the instruction-tuning data from [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4), [LLaVA](https://github.com/haotian-liu/LLaVA) and [VideoChat](https://github.com/OpenGVLab/Ask-Anything)| +| pretrain-ziya13b-zh | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/pretrain-ziya13b-zh.pth) | Pre-trained with Chinese LLM [Ziya-13B](https://huggingface.co/IDEA-CCNL/Ziya-LLaMA-13B-v1) | +| finetune-ziya13b-zh | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-ziya13b-zh.pth) | Fine-tuned on machine-translated [VideoChat](https://github.com/OpenGVLab/Ask-Anything) instruction-following dataset (in Chinese)| +| pretrain-billa7b-zh | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/pretrain-billa7b-zh.pth) | Pre-trained with Chinese LLM [BiLLA-7B](https://huggingface.co/IDEA-CCNL/Ziya-LLaMA-13B-v1) | +| finetune-billa7b-zh | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-billa7b-zh.pth) | Fine-tuned on machine-translated [VideoChat](https://github.com/OpenGVLab/Ask-Anything) instruction-following dataset (in Chinese) | + +#### Audio-Language Branch +| Checkpoint | Link | Note | +|:------------|-------------|-------------| +| pretrain-vicuna7b | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/pretrain_vicuna7b_audiobranch.pth) | Pre-trained on WebVid (2.5M video-caption pairs) and LLaVA-CC3M (595k image-caption pairs) | +| finetune-vicuna7b-v2 | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune_vicuna7b_audiobranch.pth) | Fine-tuned on the instruction-tuning data from [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4), [LLaVA](https://github.com/haotian-liu/LLaVA) and [VideoChat](https://github.com/OpenGVLab/Ask-Anything)| + + +## Usage +#### Enviroment Preparation + +First, install ffmpeg. +``` +apt update +apt install ffmpeg +``` +Then, create a conda environment: +``` +conda env create -f environment.yml +conda activate videollama +``` + + +## Prerequisites + +Before using the repository, make sure you have obtained the following checkpoints: + +#### Pre-trained Language Decoder + +- Get the original LLaMA weights in the Hugging Face format by following the instructions [here](https://huggingface.co/docs/transformers/main/model_doc/llama). +- Download Vicuna delta weights :point_right: [[7B](https://huggingface.co/lmsys/vicuna-7b-delta-v0)][[13B](https://huggingface.co/lmsys/vicuna-13b-delta-v0)] (Note: we use **v0 weights** instead of v1.1 weights). +- Use the following command to add delta weights to the original LLaMA weights to obtain the Vicuna weights: + +``` +python apply_delta.py \ + --base /path/to/llama-13b \ + --target /output/path/to/vicuna-13b --delta /path/to/vicuna-13b-delta +``` + +#### Pre-trained Visual Encoder in Vision-Language Branch +- Download the MiniGPT-4 model (trained linear layer) from this [link](https://drive.google.com/file/d/1a4zLvaiDBr-36pasffmgpvH5P7CKmpze/view). + +#### Pre-trained Audio Encoder in Audio-Language Branch +- Download the weight of ImageBind from this [link](https://github.com/facebookresearch/ImageBind). + +## Download Learnable Weights +Use `git-lfs` to download the learnable weights of our Video-LLaMA (i.e., positional embedding layer + Q-Former + linear projection layer): +```bash +git lfs install +git clone https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series +``` +The above commands will download the model weights of all the Video-LLaMA variants. For sure, you can choose to download the weights on demand. For example, if you want to run Video-LLaMA with Vicuna-7B as language decoder locally, then: +```bash +wget https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-vicuna7b-v2.pth +wget https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune_vicuna7b_audiobranch.pth +``` +should meet the requirement. + +## How to Run Demo Locally + +Firstly, set the `llama_model`, `imagebind_ckpt_path`, `ckpt` and `ckpt_2` in [eval_configs/video_llama_eval_withaudio.yaml](./eval_configs/video_llama_eval_withaudio.yaml). +Then run the script: +``` +python demo_audiovideo.py \ + --cfg-path eval_configs/video_llama_eval_withaudio.yaml --model_type vicuna --gpu-id 0 +``` + +## Training + +The training of each cross-modal branch (i.e., VL branch or AL branch) in Video-LLaMA consists of two stages, + +1. Pre-training on the [Webvid-2.5M](https://github.com/m-bain/webvid) video caption dataset and [LLaVA-CC3M]((https://github.com/haotian-liu/LLaVA)) image caption dataset. + +2. Fine-tuning using the image-based instruction-tuning data from [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4)/[LLaVA](https://github.com/haotian-liu/LLaVA) and the video-based instruction-tuning data from [VideoChat](https://github.com/OpenGVLab/Ask-Anything). + +### 1. Pre-training +#### Data Preparation +Download the metadata and video following the instruction from the official Github repo of [Webvid](https://github.com/m-bain/webvid). +The folder structure of the dataset is shown below: +``` +|webvid_train_data +|──filter_annotation +|────0.tsv +|──videos +|────000001_000050 +|──────1066674784.mp4 +``` +``` +|cc3m +|──filter_cap.json +|──image +|────GCC_train_000000000.jpg +|────... +``` +#### Script +Config the the checkpoint and dataset paths in [video_llama_stage1_pretrain.yaml](./train_configs/video_llama_stage1_pretrain.yaml). +Run the script: +``` +conda activate videollama +torchrun --nproc_per_node=8 train.py --cfg-path ./train_configs/video_llama_stage1_pretrain.yaml +``` + +### 2. Instruction Fine-tuning +#### Data +For now, the fine-tuning dataset consists of: +* 150K image-based instructions from LLaVA [[link](https://huggingface.co/datasets/liuhaotian/LLaVA-Instruct-150K/raw/main/llava_instruct_150k.json)] +* 3K image-based instructions from MiniGPT-4 [[link](https://github.com/Vision-CAIR/MiniGPT-4/blob/main/dataset/README_2_STAGE.md)] +* 11K video-based instructions from VideoChat [[link](https://github.com/OpenGVLab/InternVideo/tree/main/Data/instruction_data)] + +#### Script +Config the checkpoint and dataset paths in [video_llama_stage2_finetune.yaml](./train_configs/video_llama_stage2_finetune.yaml). +``` +conda activate videollama +torchrun --nproc_per_node=8 train.py --cfg-path ./train_configs/video_llama_stage2_finetune.yaml +``` + +## Recommended GPUs +* Pre-training: 8xA100 (80G) +* Instruction-tuning: 8xA100 (80G) +* Inference: 1xA100 (40G/80G) or 1xA6000 + +## Acknowledgement +We are grateful for the following awesome projects our Video-LLaMA arising from: +* [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4): Enhancing Vision-language Understanding with Advanced Large Language Models +* [FastChat](https://github.com/lm-sys/FastChat): An Open Platform for Training, Serving, and Evaluating Large Language Model based Chatbots +* [BLIP-2](https://github.com/salesforce/LAVIS/tree/main/projects/blip2): Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models +* [EVA-CLIP](https://github.com/baaivision/EVA/tree/master/EVA-CLIP): Improved Training Techniques for CLIP at Scale +* [ImageBind](https://github.com/facebookresearch/ImageBind): One Embedding Space To Bind Them All +* [LLaMA](https://github.com/facebookresearch/llama): Open and Efficient Foundation Language Models +* [VideoChat](https://github.com/OpenGVLab/Ask-Anything): Chat-Centric Video Understanding +* [LLaVA](https://github.com/haotian-liu/LLaVA): Large Language and Vision Assistant +* [WebVid](https://github.com/m-bain/webvid): A Large-scale Video-Text dataset +* [mPLUG-Owl](https://github.com/X-PLUG/mPLUG-Owl/tree/main): Modularization Empowers Large Language Models with Multimodality + +The logo of Video-LLaMA is generated by [Midjourney](https://www.midjourney.com/). + + +## Term of Use +Our Video-LLaMA is just a research preview intended for non-commercial use only. You must **NOT** use our Video-LLaMA for any illegal, harmful, violent, racist, or sexual purposes. You are strictly prohibited from engaging in any activity that will potentially violate these guidelines. + +## Citation +If you find our project useful, hope you can star our repo and cite our paper as follows: +``` +@article{damonlpsg2023videollama, + author = {Zhang, Hang and Li, Xin and Bing, Lidong}, + title = {Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding}, + year = 2023, + journal = {arXiv preprint arXiv:2306.02858}, + url = {https://arxiv.org/abs/2306.02858} +} +``` + diff --git a/README.md b/README.md index a1ad2306f551f74b325eae47d0b6f7874f912cde..6c3dc5480fb7663bc7eb10181a7d7fa79d781356 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,249 @@ ---- -title: Video Llama2 Test -emoji: 👀 -colorFrom: gray -colorTo: pink -sdk: gradio -sdk_version: 3.47.1 -app_file: app.py -pinned: false -license: bsd-3-clause ---- - -Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference +

+Video-LLaMA +

+ + + +# Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding + + +This is the repo for the Video-LLaMA project, which is working on empowering large language models with video and audio understanding capabilities. + +
+ + + + + +
+ +## News +- [08.03] 🚀🚀 Release **Video-LLaMA-2** with [Llama-2-7B/13B-Chat](https://huggingface.co/meta-llama) as language decoder + - **NO** delta weights and separate Q-former weights anymore, full weights to run Video-LLaMA are all here :point_right: [[7B](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-7B-Finetuned)][[13B](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-13B-Finetuned)] + - Allow further customization starting from our pre-trained checkpoints [[7B-Pretrained](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-7B-Pretrained)] [[13B-Pretrained](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-13B-Pretrained)] +- [06.14] **NOTE**: The current online interactive demo is primarily for English chatting and it may **NOT** be a good option to ask Chinese questions since Vicuna/LLaMA does not represent Chinese texts very well. +- [06.13] **NOTE**: The audio support is **ONLY** for Vicuna-7B by now although we have several VL checkpoints available for other decoders. +- [06.10] **NOTE**: We have NOT updated the HF demo yet because the whole framework (with the audio branch) cannot run normally on A10-24G. The current running demo is still the previous version of Video-LLaMA. We will fix this issue soon. +- [06.08] 🚀🚀 Release the checkpoints of the audio-supported Video-LLaMA. Documentation and example outputs are also updated. +- [05.22] 🚀🚀 Interactive demo online, try our Video-LLaMA (with **Vicuna-7B** as language decoder) at [Hugging Face](https://huggingface.co/spaces/DAMO-NLP-SG/Video-LLaMA) and [ModelScope](https://pre.modelscope.cn/studios/damo/video-llama/summary)!! +- [05.22] ⭐️ Release **Video-LLaMA v2** built with Vicuna-7B +- [05.18] 🚀🚀 Support video-grounded chat in Chinese + - [**Video-LLaMA-BiLLA**](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-billa7b-zh.pth): we introduce [BiLLa-7B-SFT](https://huggingface.co/Neutralzz/BiLLa-7B-SFT) as language decoder and fine-tune the video-language aligned model (i.e., stage 1 model) with machine-translated [VideoChat](https://github.com/OpenGVLab/InternVideo/tree/main/Data/instruction_data) instructions. + - [**Video-LLaMA-Ziya**](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-ziya13b-zh.pth): same with Video-LLaMA-BiLLA but the language decoder is changed to [Ziya-13B](https://huggingface.co/IDEA-CCNL/Ziya-LLaMA-13B-v1). +- [05.18] ⭐️ Create a Hugging Face [repo](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series) to store the model weights of all the variants of our Video-LLaMA. +- [05.15] ⭐️ Release [**Video-LLaMA v2**](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-vicuna13b-v2.pth): we use the training data provided by [VideoChat](https://github.com/OpenGVLab/InternVideo/tree/main/Data/instruction_data) to further enhance the instruction-following capability of Video-LLaMA. +- [05.07] Release the initial version of **Video-LLaMA**, including its pre-trained and instruction-tuned checkpoints. + +

+Video-LLaMA +

+ +## Introduction + + +- Video-LLaMA is built on top of [BLIP-2](https://github.com/salesforce/LAVIS/tree/main/projects/blip2) and [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4). It is composed of two core components: (1) Vision-Language (VL) Branch and (2) Audio-Language (AL) Branch. + - **VL Branch** (Visual encoder: ViT-G/14 + BLIP-2 Q-Former) + - A two-layer video Q-Former and a frame embedding layer (applied to the embeddings of each frame) are introduced to compute video representations. + - We train VL Branch on the Webvid-2M video caption dataset with a video-to-text generation task. We also add image-text pairs (~595K image captions from [LLaVA](https://github.com/haotian-liu/LLaVA)) into the pre-training dataset to enhance the understanding of static visual concepts. + - After pre-training, we further fine-tune our VL Branch using the instruction-tuning data from [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4), [LLaVA](https://github.com/haotian-liu/LLaVA) and [VideoChat](https://github.com/OpenGVLab/Ask-Anything). + - **AL Branch** (Audio encoder: ImageBind-Huge) + - A two-layer audio Q-Former and an audio segment embedding layer (applied to the embedding of each audio segment) are introduced to compute audio representations. + - As the used audio encoder (i.e., ImageBind) is already aligned across multiple modalities, we train AL Branch on video/image instruction data only, just to connect the output of ImageBind to the language decoder. +- Only the Video/Audio Q-Former, positional embedding layers, and linear layers are trainable during cross-modal training. + + + +## Example Outputs + + +- **Video with background sound** + +

+ + +

+ + +- **Video without sound effects** +

+ + +

+ +- **Static image** +

+ + +

+ + + +## Pre-trained & Fine-tuned Checkpoints + +The following checkpoints store learnable parameters (positional embedding layers, Video/Audio Q-former, and linear projection layers) only. + +#### Vision-Language Branch +| Checkpoint | Link | Note | +|:------------|-------------|-------------| +| pretrain-vicuna7b | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/pretrain_vicuna7b-v2.pth) | Pre-trained on WebVid (2.5M video-caption pairs) and LLaVA-CC3M (595k image-caption pairs) | +| finetune-vicuna7b-v2 | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-vicuna7b-v2.pth) | Fine-tuned on the instruction-tuning data from [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4), [LLaVA](https://github.com/haotian-liu/LLaVA) and [VideoChat](https://github.com/OpenGVLab/Ask-Anything)| +| pretrain-vicuna13b | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/pretrain-vicuna13b.pth) | Pre-trained on WebVid (2.5M video-caption pairs) and LLaVA-CC3M (595k image-caption pairs) | +| finetune-vicuna13b-v2 | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-vicuna13b-v2.pth) | Fine-tuned on the instruction-tuning data from [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4), [LLaVA](https://github.com/haotian-liu/LLaVA) and [VideoChat](https://github.com/OpenGVLab/Ask-Anything)| +| pretrain-ziya13b-zh | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/pretrain-ziya13b-zh.pth) | Pre-trained with Chinese LLM [Ziya-13B](https://huggingface.co/IDEA-CCNL/Ziya-LLaMA-13B-v1) | +| finetune-ziya13b-zh | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-ziya13b-zh.pth) | Fine-tuned on machine-translated [VideoChat](https://github.com/OpenGVLab/Ask-Anything) instruction-following dataset (in Chinese)| +| pretrain-billa7b-zh | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/pretrain-billa7b-zh.pth) | Pre-trained with Chinese LLM [BiLLA-7B-SFT](https://huggingface.co/Neutralzz/BiLLa-7B-SFT) | +| finetune-billa7b-zh | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-billa7b-zh.pth) | Fine-tuned on machine-translated [VideoChat](https://github.com/OpenGVLab/Ask-Anything) instruction-following dataset (in Chinese) | + +#### Audio-Language Branch +| Checkpoint | Link | Note | +|:------------|-------------|-------------| +| pretrain-vicuna7b | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/pretrain_vicuna7b_audiobranch.pth) | Pre-trained on WebVid (2.5M video-caption pairs) and LLaVA-CC3M (595k image-caption pairs) | +| finetune-vicuna7b-v2 | [link](https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune_vicuna7b_audiobranch.pth) | Fine-tuned on the instruction-tuning data from [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4), [LLaVA](https://github.com/haotian-liu/LLaVA) and [VideoChat](https://github.com/OpenGVLab/Ask-Anything)| + + +## Usage +#### Enviroment Preparation + +First, install ffmpeg. +``` +apt update +apt install ffmpeg +``` +Then, create a conda environment: +``` +conda env create -f environment.yml +conda activate videollama +``` + + +## Prerequisites + +Before using the repository, make sure you have obtained the following checkpoints: + +#### Pre-trained Language Decoder + +- Get the original LLaMA weights in the Hugging Face format by following the instructions [here](https://huggingface.co/docs/transformers/main/model_doc/llama). +- Download Vicuna delta weights :point_right: [[7B](https://huggingface.co/lmsys/vicuna-7b-delta-v0)][[13B](https://huggingface.co/lmsys/vicuna-13b-delta-v0)] (Note: we use **v0 weights** instead of v1.1 weights). +- Use the following command to add delta weights to the original LLaMA weights to obtain the Vicuna weights: + +``` +python apply_delta.py \ + --base /path/to/llama-13b \ + --target /output/path/to/vicuna-13b --delta /path/to/vicuna-13b-delta +``` + +#### Pre-trained Visual Encoder in Vision-Language Branch +- Download the MiniGPT-4 model (trained linear layer) from this [link](https://drive.google.com/file/d/1a4zLvaiDBr-36pasffmgpvH5P7CKmpze/view). + +#### Pre-trained Audio Encoder in Audio-Language Branch +- Download the weight of ImageBind from this [link](https://github.com/facebookresearch/ImageBind). + +## Download Learnable Weights +Use `git-lfs` to download the learnable weights of our Video-LLaMA (i.e., positional embedding layer + Q-Former + linear projection layer): +```bash +git lfs install +git clone https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series +``` +The above commands will download the model weights of all the Video-LLaMA variants. For sure, you can choose to download the weights on demand. For example, if you want to run Video-LLaMA with Vicuna-7B as language decoder locally, then: +```bash +wget https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune-vicuna7b-v2.pth +wget https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-Series/resolve/main/finetune_vicuna7b_audiobranch.pth +``` +should meet the requirement. + +## How to Run Demo Locally + +Firstly, set the `llama_model`, `imagebind_ckpt_path`, `ckpt` and `ckpt_2` in [eval_configs/video_llama_eval_withaudio.yaml](./eval_configs/video_llama_eval_withaudio.yaml). +Then run the script: +``` +python demo_audiovideo.py \ + --cfg-path eval_configs/video_llama_eval_withaudio.yaml \ + --model_type llama_v2 \ # or vicuna + --gpu-id 0 +``` + +## Training + +The training of each cross-modal branch (i.e., VL branch or AL branch) in Video-LLaMA consists of two stages, + +1. Pre-training on the [Webvid-2.5M](https://github.com/m-bain/webvid) video caption dataset and [LLaVA-CC3M]((https://github.com/haotian-liu/LLaVA)) image caption dataset. + +2. Fine-tuning using the image-based instruction-tuning data from [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4)/[LLaVA](https://github.com/haotian-liu/LLaVA) and the video-based instruction-tuning data from [VideoChat](https://github.com/OpenGVLab/Ask-Anything). + +### 1. Pre-training +#### Data Preparation +Download the metadata and video following the instructions from the official Github repo of [Webvid](https://github.com/m-bain/webvid). +The folder structure of the dataset is shown below: +``` +|webvid_train_data +|──filter_annotation +|────0.tsv +|──videos +|────000001_000050 +|──────1066674784.mp4 +``` +``` +|cc3m +|──filter_cap.json +|──image +|────GCC_train_000000000.jpg +|────... +``` +#### Script +Config the the checkpoint and dataset paths in [video_llama_stage1_pretrain.yaml](./train_configs/video_llama_stage1_pretrain.yaml). +Run the script: +``` +conda activate videollama +torchrun --nproc_per_node=8 train.py --cfg-path ./train_configs/video_llama_stage1_pretrain.yaml +``` + +### 2. Instruction Fine-tuning +#### Data +For now, the fine-tuning dataset consists of: +* 150K image-based instructions from LLaVA [[link](https://huggingface.co/datasets/liuhaotian/LLaVA-Instruct-150K/raw/main/llava_instruct_150k.json)] +* 3K image-based instructions from MiniGPT-4 [[link](https://github.com/Vision-CAIR/MiniGPT-4/blob/main/dataset/README_2_STAGE.md)] +* 11K video-based instructions from VideoChat [[link](https://github.com/OpenGVLab/InternVideo/tree/main/Data/instruction_data)] + +#### Script +Config the checkpoint and dataset paths in [video_llama_stage2_finetune.yaml](./train_configs/video_llama_stage2_finetune.yaml). +``` +conda activate videollama +torchrun --nproc_per_node=8 train.py --cfg-path ./train_configs/video_llama_stage2_finetune.yaml +``` + +## Recommended GPUs +* Pre-training: 8xA100 (80G) +* Instruction-tuning: 8xA100 (80G) +* Inference: 1xA100 (40G/80G) or 1xA6000 + +## Acknowledgement +We are grateful for the following awesome projects our Video-LLaMA arising from: +* [MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4): Enhancing Vision-language Understanding with Advanced Large Language Models +* [FastChat](https://github.com/lm-sys/FastChat): An Open Platform for Training, Serving, and Evaluating Large Language Model based Chatbots +* [BLIP-2](https://github.com/salesforce/LAVIS/tree/main/projects/blip2): Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models +* [EVA-CLIP](https://github.com/baaivision/EVA/tree/master/EVA-CLIP): Improved Training Techniques for CLIP at Scale +* [ImageBind](https://github.com/facebookresearch/ImageBind): One Embedding Space To Bind Them All +* [LLaMA](https://github.com/facebookresearch/llama): Open and Efficient Foundation Language Models +* [VideoChat](https://github.com/OpenGVLab/Ask-Anything): Chat-Centric Video Understanding +* [LLaVA](https://github.com/haotian-liu/LLaVA): Large Language and Vision Assistant +* [WebVid](https://github.com/m-bain/webvid): A Large-scale Video-Text dataset +* [mPLUG-Owl](https://github.com/X-PLUG/mPLUG-Owl/tree/main): Modularization Empowers Large Language Models with Multimodality + +The logo of Video-LLaMA is generated by [Midjourney](https://www.midjourney.com/). + + +## Term of Use +Our Video-LLaMA is just a research preview intended for non-commercial use only. You must **NOT** use our Video-LLaMA for any illegal, harmful, violent, racist, or sexual purposes. You are strictly prohibited from engaging in any activity that will potentially violate these guidelines. + +## Citation +If you find our project useful, hope you can star our repo and cite our paper as follows: +``` +@article{damonlpsg2023videollama, + author = {Zhang, Hang and Li, Xin and Bing, Lidong}, + title = {Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding}, + year = 2023, + journal = {arXiv preprint arXiv:2306.02858}, + url = {https://arxiv.org/abs/2306.02858} +} +``` + diff --git a/Video-LLaMA-2-7B-Finetuned/AL_LLaMA_2_7B_Finetuned.pth b/Video-LLaMA-2-7B-Finetuned/AL_LLaMA_2_7B_Finetuned.pth new file mode 100644 index 0000000000000000000000000000000000000000..0e721a8b733ee92429a826c216cbe03b45afda45 --- /dev/null +++ b/Video-LLaMA-2-7B-Finetuned/AL_LLaMA_2_7B_Finetuned.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ad66d3e0eb9eaef5392e7b67c4689166f5610088c92652b9ecdae332b8d5b6f +size 274578657 diff --git a/Video-LLaMA-2-7B-Finetuned/VL_LLaMA_2_7B_Finetuned.pth b/Video-LLaMA-2-7B-Finetuned/VL_LLaMA_2_7B_Finetuned.pth new file mode 100644 index 0000000000000000000000000000000000000000..f82c60f73916ba70b757a13de56b325e362fd5d7 --- /dev/null +++ b/Video-LLaMA-2-7B-Finetuned/VL_LLaMA_2_7B_Finetuned.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cec0e2979ed7656e08ecc5b185c2229a3c577b4b7a4721a94bd461ba0447c6e +size 265559201 diff --git a/Video-LLaMA-2-7B-Finetuned/imagebind_huge.pth b/Video-LLaMA-2-7B-Finetuned/imagebind_huge.pth new file mode 100644 index 0000000000000000000000000000000000000000..21709a82dbb35fca042d46877b89074bc1885401 --- /dev/null +++ b/Video-LLaMA-2-7B-Finetuned/imagebind_huge.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6f6c22bedcc90708448d5d2fbb7b2db9c73f505dc89bd0b2e09b23af1b62157 +size 4803584173 diff --git a/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/config.json b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/config.json new file mode 100644 index 0000000000000000000000000000000000000000..7fe9404b3a5c773fefcd830214e8908d632b5f16 --- /dev/null +++ b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/config.json @@ -0,0 +1,22 @@ +{ + "architectures": [ + "LlamaForCausalLM" + ], + "bos_token_id": 1, + "eos_token_id": 2, + "hidden_act": "silu", + "hidden_size": 4096, + "initializer_range": 0.02, + "intermediate_size": 11008, + "max_position_embeddings": 2048, + "model_type": "llama", + "num_attention_heads": 32, + "num_hidden_layers": 32, + "pad_token_id": 0, + "rms_norm_eps": 1e-06, + "tie_word_embeddings": false, + "torch_dtype": "float16", + "transformers_version": "4.29.0.dev0", + "use_cache": true, + "vocab_size": 32000 +} diff --git a/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/generation_config.json b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/generation_config.json new file mode 100644 index 0000000000000000000000000000000000000000..2c057487fd479614df7ac437b5ae2faedb245063 --- /dev/null +++ b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/generation_config.json @@ -0,0 +1,7 @@ +{ + "_from_model_config": true, + "bos_token_id": 1, + "eos_token_id": 2, + "pad_token_id": 0, + "transformers_version": "4.29.0.dev0" +} diff --git a/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/pytorch_model-00001-of-00002.bin b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/pytorch_model-00001-of-00002.bin new file mode 100644 index 0000000000000000000000000000000000000000..318f8f56cf1502f2ce89174363edd6687ff386b5 --- /dev/null +++ b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/pytorch_model-00001-of-00002.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f917a253ef631128743798d284a7e7a5a22ac1ad23ecd6a9da57550348317f5 +size 9976634558 diff --git a/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/pytorch_model-00002-of-00002.bin b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/pytorch_model-00002-of-00002.bin new file mode 100644 index 0000000000000000000000000000000000000000..f0fe7fb1b496a034bd58f3dea5a470447286dd94 --- /dev/null +++ b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/pytorch_model-00002-of-00002.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e8fc22b2c138439c6bafb7331ac139585e683005407e016feb18a4feea18417 +size 3500315539 diff --git a/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/pytorch_model.bin.index.json b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/pytorch_model.bin.index.json new file mode 100644 index 0000000000000000000000000000000000000000..db7264b24cac7a39947bb5fc02fe5c2d7ac9eaf4 --- /dev/null +++ b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/pytorch_model.bin.index.json @@ -0,0 +1,330 @@ +{ + "metadata": { + "total_size": 13476839424 + }, + "weight_map": { + "lm_head.weight": "pytorch_model-00002-of-00002.bin", + "model.embed_tokens.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.0.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.0.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.0.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.0.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.0.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.0.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.0.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.0.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.0.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.0.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.1.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.1.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.1.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.1.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.1.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.1.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.1.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.1.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.1.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.1.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.10.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.10.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.10.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.10.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.10.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.10.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.10.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.10.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.10.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.10.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.11.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.11.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.11.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.11.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.11.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.11.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.11.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.11.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.11.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.11.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.12.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.12.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.12.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.12.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.12.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.12.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.12.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.12.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.12.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.12.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.13.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.13.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.13.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.13.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.13.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.13.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.13.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.13.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.13.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.13.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.14.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.14.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.14.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.14.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.14.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.14.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.14.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.14.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.14.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.14.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.15.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.15.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.15.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.15.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.15.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.15.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.15.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.15.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.15.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.15.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.16.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.16.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.16.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.16.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.16.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.16.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.16.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.16.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.16.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.16.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.17.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.17.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.17.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.17.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.17.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.17.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.17.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.17.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.17.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.17.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.18.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.18.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.18.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.18.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.18.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.18.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.18.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.18.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.18.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.18.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.19.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.19.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.19.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.19.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.19.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.19.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.19.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.19.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.19.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.19.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.2.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.2.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.2.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.2.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.2.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.2.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.2.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.2.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.2.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.2.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.20.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.20.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.20.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.20.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.20.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.20.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.20.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.20.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.20.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.20.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.21.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.21.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.21.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.21.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.21.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.21.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.21.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.21.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.21.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.21.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.22.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.22.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.22.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.22.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.22.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.22.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.22.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.22.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.22.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.22.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.23.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.23.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.23.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.23.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.23.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.23.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.23.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.23.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.23.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.23.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.24.input_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.24.mlp.down_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.24.mlp.gate_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.24.mlp.up_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.24.post_attention_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.24.self_attn.k_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.24.self_attn.o_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.24.self_attn.q_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.24.self_attn.rotary_emb.inv_freq": "pytorch_model-00002-of-00002.bin", + "model.layers.24.self_attn.v_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.25.input_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.25.mlp.down_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.25.mlp.gate_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.25.mlp.up_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.25.post_attention_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.25.self_attn.k_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.25.self_attn.o_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.25.self_attn.q_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.25.self_attn.rotary_emb.inv_freq": "pytorch_model-00002-of-00002.bin", + "model.layers.25.self_attn.v_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.26.input_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.26.mlp.down_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.26.mlp.gate_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.26.mlp.up_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.26.post_attention_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.26.self_attn.k_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.26.self_attn.o_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.26.self_attn.q_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.26.self_attn.rotary_emb.inv_freq": "pytorch_model-00002-of-00002.bin", + "model.layers.26.self_attn.v_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.27.input_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.27.mlp.down_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.27.mlp.gate_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.27.mlp.up_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.27.post_attention_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.27.self_attn.k_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.27.self_attn.o_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.27.self_attn.q_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.27.self_attn.rotary_emb.inv_freq": "pytorch_model-00002-of-00002.bin", + "model.layers.27.self_attn.v_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.28.input_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.28.mlp.down_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.28.mlp.gate_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.28.mlp.up_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.28.post_attention_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.28.self_attn.k_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.28.self_attn.o_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.28.self_attn.q_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.28.self_attn.rotary_emb.inv_freq": "pytorch_model-00002-of-00002.bin", + "model.layers.28.self_attn.v_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.29.input_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.29.mlp.down_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.29.mlp.gate_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.29.mlp.up_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.29.post_attention_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.29.self_attn.k_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.29.self_attn.o_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.29.self_attn.q_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.29.self_attn.rotary_emb.inv_freq": "pytorch_model-00002-of-00002.bin", + "model.layers.29.self_attn.v_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.3.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.3.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.3.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.3.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.3.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.3.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.3.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.3.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.3.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.3.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.30.input_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.30.mlp.down_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.30.mlp.gate_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.30.mlp.up_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.30.post_attention_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.30.self_attn.k_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.30.self_attn.o_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.30.self_attn.q_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.30.self_attn.rotary_emb.inv_freq": "pytorch_model-00002-of-00002.bin", + "model.layers.30.self_attn.v_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.31.input_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.31.mlp.down_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.31.mlp.gate_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.31.mlp.up_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.31.post_attention_layernorm.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.31.self_attn.k_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.31.self_attn.o_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.31.self_attn.q_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.31.self_attn.rotary_emb.inv_freq": "pytorch_model-00002-of-00002.bin", + "model.layers.31.self_attn.v_proj.weight": "pytorch_model-00002-of-00002.bin", + "model.layers.4.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.4.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.4.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.4.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.4.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.4.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.4.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.4.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.4.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.4.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.5.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.5.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.5.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.5.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.5.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.5.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.5.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.5.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.5.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.5.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.6.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.6.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.6.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.6.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.6.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.6.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.6.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.6.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.6.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.6.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.7.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.7.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.7.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.7.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.7.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.7.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.7.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.7.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.7.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.7.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.8.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.8.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.8.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.8.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.8.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.8.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.8.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.8.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.8.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.8.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.9.input_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.9.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.9.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.9.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.9.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.9.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.9.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.9.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.layers.9.self_attn.rotary_emb.inv_freq": "pytorch_model-00001-of-00002.bin", + "model.layers.9.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin", + "model.norm.weight": "pytorch_model-00002-of-00002.bin" + } +} diff --git a/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/special_tokens_map.json b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/special_tokens_map.json new file mode 100644 index 0000000000000000000000000000000000000000..d85ba6cb6820b01226ef8bd40b46bb489041c6a8 --- /dev/null +++ b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/special_tokens_map.json @@ -0,0 +1,23 @@ +{ + "bos_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "unk_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + } +} diff --git a/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/tokenizer.json b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/tokenizer.json new file mode 100644 index 0000000000000000000000000000000000000000..a0201ea3b8e89373271760acaf53782ea760be62 --- /dev/null +++ b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/tokenizer.json @@ -0,0 +1,93385 @@ +{ + "version": "1.0", + "truncation": null, + "padding": null, + "added_tokens": [ + { + "id": 0, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": true, + "special": true + }, + { + "id": 1, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": true, + "special": true + }, + { + "id": 2, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": true, + "special": true + } + ], + "normalizer": { + "type": "Sequence", + "normalizers": [ + { + "type": "Prepend", + "prepend": "▁" + }, + { + "type": "Replace", + "pattern": { + "String": " " + }, + "content": "▁" + } + ] + }, + "pre_tokenizer": null, + "post_processor": { + "type": "TemplateProcessing", + "single": [ + { + "SpecialToken": { + "id": "", + "type_id": 0 + } + }, + { + "Sequence": { + "id": "A", + "type_id": 0 + } + } + ], + "pair": [ + { + "SpecialToken": { + "id": "", + "type_id": 0 + } + }, + { + "Sequence": { + "id": "A", + "type_id": 0 + } + }, + { + "Sequence": { + "id": "B", + "type_id": 0 + } + } + ], + "special_tokens": { + "": { + "id": "", + "ids": [ + 1 + ], + "tokens": [ + "" + ] + } + } + }, + "decoder": { + "type": "Sequence", + "decoders": [ + { + "type": "Replace", + "pattern": { + "String": "▁" + }, + "content": " " + }, + { + "type": "ByteFallback" + }, + { + "type": "Fuse" + }, + { + "type": "Strip", + "content": " ", + "start": 1, + "stop": 0 + } + ] + }, + "model": { + "type": "BPE", + "dropout": null, + "unk_token": "", + "continuing_subword_prefix": null, + "end_of_word_suffix": null, + "fuse_unk": true, + "byte_fallback": true, + "vocab": { + "": 0, + "": 1, + "": 2, + "<0x00>": 3, + "<0x01>": 4, + "<0x02>": 5, + "<0x03>": 6, + "<0x04>": 7, + "<0x05>": 8, + "<0x06>": 9, + "<0x07>": 10, + "<0x08>": 11, + "<0x09>": 12, + "<0x0A>": 13, + "<0x0B>": 14, + "<0x0C>": 15, + "<0x0D>": 16, + "<0x0E>": 17, + "<0x0F>": 18, + "<0x10>": 19, + "<0x11>": 20, + "<0x12>": 21, + "<0x13>": 22, + "<0x14>": 23, + "<0x15>": 24, + "<0x16>": 25, + "<0x17>": 26, + "<0x18>": 27, + "<0x19>": 28, + "<0x1A>": 29, + "<0x1B>": 30, + "<0x1C>": 31, + "<0x1D>": 32, + "<0x1E>": 33, + "<0x1F>": 34, + "<0x20>": 35, + "<0x21>": 36, + "<0x22>": 37, + "<0x23>": 38, + "<0x24>": 39, + "<0x25>": 40, + "<0x26>": 41, + "<0x27>": 42, + "<0x28>": 43, + "<0x29>": 44, + "<0x2A>": 45, + "<0x2B>": 46, + "<0x2C>": 47, + "<0x2D>": 48, + "<0x2E>": 49, + "<0x2F>": 50, + "<0x30>": 51, + "<0x31>": 52, + "<0x32>": 53, + "<0x33>": 54, + "<0x34>": 55, + "<0x35>": 56, + "<0x36>": 57, + "<0x37>": 58, + "<0x38>": 59, + "<0x39>": 60, + "<0x3A>": 61, + "<0x3B>": 62, + "<0x3C>": 63, + "<0x3D>": 64, + "<0x3E>": 65, + "<0x3F>": 66, + "<0x40>": 67, + "<0x41>": 68, + "<0x42>": 69, + "<0x43>": 70, + "<0x44>": 71, + "<0x45>": 72, + "<0x46>": 73, + "<0x47>": 74, + "<0x48>": 75, + "<0x49>": 76, + "<0x4A>": 77, + "<0x4B>": 78, + "<0x4C>": 79, + "<0x4D>": 80, + "<0x4E>": 81, + "<0x4F>": 82, + "<0x50>": 83, + "<0x51>": 84, + "<0x52>": 85, + "<0x53>": 86, + "<0x54>": 87, + "<0x55>": 88, + "<0x56>": 89, + "<0x57>": 90, + "<0x58>": 91, + "<0x59>": 92, + "<0x5A>": 93, + "<0x5B>": 94, + "<0x5C>": 95, + "<0x5D>": 96, + "<0x5E>": 97, + "<0x5F>": 98, + "<0x60>": 99, + "<0x61>": 100, + "<0x62>": 101, + "<0x63>": 102, + "<0x64>": 103, + "<0x65>": 104, + "<0x66>": 105, + "<0x67>": 106, + "<0x68>": 107, + "<0x69>": 108, + "<0x6A>": 109, + "<0x6B>": 110, + "<0x6C>": 111, + "<0x6D>": 112, + "<0x6E>": 113, + "<0x6F>": 114, + "<0x70>": 115, + "<0x71>": 116, + "<0x72>": 117, + "<0x73>": 118, + "<0x74>": 119, + "<0x75>": 120, + "<0x76>": 121, + "<0x77>": 122, + "<0x78>": 123, + "<0x79>": 124, + "<0x7A>": 125, + "<0x7B>": 126, + "<0x7C>": 127, + "<0x7D>": 128, + "<0x7E>": 129, + "<0x7F>": 130, + "<0x80>": 131, + "<0x81>": 132, + "<0x82>": 133, + "<0x83>": 134, + "<0x84>": 135, + "<0x85>": 136, + "<0x86>": 137, + "<0x87>": 138, + "<0x88>": 139, + "<0x89>": 140, + "<0x8A>": 141, + "<0x8B>": 142, + "<0x8C>": 143, + "<0x8D>": 144, + "<0x8E>": 145, + "<0x8F>": 146, + "<0x90>": 147, + "<0x91>": 148, + "<0x92>": 149, + "<0x93>": 150, + "<0x94>": 151, + "<0x95>": 152, + "<0x96>": 153, + "<0x97>": 154, + "<0x98>": 155, + "<0x99>": 156, + "<0x9A>": 157, + "<0x9B>": 158, + "<0x9C>": 159, + "<0x9D>": 160, + "<0x9E>": 161, + "<0x9F>": 162, + "<0xA0>": 163, + "<0xA1>": 164, + "<0xA2>": 165, + "<0xA3>": 166, + "<0xA4>": 167, + "<0xA5>": 168, + "<0xA6>": 169, + "<0xA7>": 170, + "<0xA8>": 171, + "<0xA9>": 172, + "<0xAA>": 173, + "<0xAB>": 174, + "<0xAC>": 175, + "<0xAD>": 176, + "<0xAE>": 177, + "<0xAF>": 178, + "<0xB0>": 179, + "<0xB1>": 180, + "<0xB2>": 181, + "<0xB3>": 182, + "<0xB4>": 183, + "<0xB5>": 184, + "<0xB6>": 185, + "<0xB7>": 186, + "<0xB8>": 187, + "<0xB9>": 188, + "<0xBA>": 189, + "<0xBB>": 190, + "<0xBC>": 191, + "<0xBD>": 192, + "<0xBE>": 193, + "<0xBF>": 194, + "<0xC0>": 195, + "<0xC1>": 196, + "<0xC2>": 197, + "<0xC3>": 198, + "<0xC4>": 199, + "<0xC5>": 200, + "<0xC6>": 201, + "<0xC7>": 202, + "<0xC8>": 203, + "<0xC9>": 204, + "<0xCA>": 205, + "<0xCB>": 206, + "<0xCC>": 207, + "<0xCD>": 208, + "<0xCE>": 209, + "<0xCF>": 210, + "<0xD0>": 211, + "<0xD1>": 212, + "<0xD2>": 213, + "<0xD3>": 214, + "<0xD4>": 215, + "<0xD5>": 216, + "<0xD6>": 217, + "<0xD7>": 218, + "<0xD8>": 219, + "<0xD9>": 220, + "<0xDA>": 221, + "<0xDB>": 222, + "<0xDC>": 223, + "<0xDD>": 224, + "<0xDE>": 225, + "<0xDF>": 226, + "<0xE0>": 227, + "<0xE1>": 228, + "<0xE2>": 229, + "<0xE3>": 230, + "<0xE4>": 231, + "<0xE5>": 232, + "<0xE6>": 233, + "<0xE7>": 234, + "<0xE8>": 235, + "<0xE9>": 236, + "<0xEA>": 237, + "<0xEB>": 238, + "<0xEC>": 239, + "<0xED>": 240, + "<0xEE>": 241, + "<0xEF>": 242, + "<0xF0>": 243, + "<0xF1>": 244, + "<0xF2>": 245, + "<0xF3>": 246, + "<0xF4>": 247, + "<0xF5>": 248, + "<0xF6>": 249, + "<0xF7>": 250, + "<0xF8>": 251, + "<0xF9>": 252, + "<0xFA>": 253, + "<0xFB>": 254, + "<0xFC>": 255, + "<0xFD>": 256, + "<0xFE>": 257, + "<0xFF>": 258, + "▁▁": 259, + "▁t": 260, + "er": 261, + "in": 262, + "▁a": 263, + "en": 264, + "on": 265, + "▁th": 266, + "es": 267, + "▁▁▁▁": 268, + "▁s": 269, + "▁d": 270, + "at": 271, + "or": 272, + "an": 273, + "▁c": 274, + "is": 275, + "re": 276, + "it": 277, + "▁the": 278, + "ar": 279, + "le": 280, + "▁w": 281, + "▁p": 282, + "ou": 283, + "al": 284, + "▁f": 285, + "▁m": 286, + "ed": 287, + "▁o": 288, + "▁b": 289, + "om": 290, + "ion": 291, + "ing": 292, + "ic": 293, + "as": 294, + "el": 295, + "ent": 296, + "▁in": 297, + "▁h": 298, + "nd": 299, + "et": 300, + "▁l": 301, + "▁n": 302, + "st": 303, + "▁to": 304, + "ch": 305, + "▁I": 306, + "ro": 307, + "▁▁▁▁▁▁▁▁": 308, + "il": 309, + "▁of": 310, + "de": 311, + "ct": 312, + "▁(": 313, + "am": 314, + "▁C": 315, + "▁de": 316, + "▁S": 317, + "▁u": 318, + "▁A": 319, + "▁\\": 320, + "▁e": 321, + "▁and": 322, + "▁T": 323, + "ol": 324, + "▁v": 325, + "im": 326, + "ot": 327, + "ad": 328, + "ut": 329, + "▁g": 330, + "em": 331, + "ur": 332, + "id": 333, + "▁*": 334, + "ig": 335, + "ra": 336, + "▁re": 337, + "▁is": 338, + "qu": 339, + "ow": 340, + "▁M": 341, + "est": 342, + "▁y": 343, + "se": 344, + "ve": 345, + "ce": 346, + "ie": 347, + "un": 348, + "▁P": 349, + "▁B": 350, + "ag": 351, + "ul": 352, + "▁=": 353, + "he": 354, + "end": 355, + "ode": 356, + "ter": 357, + "ment": 358, + "os": 359, + "▁D": 360, + "if": 361, + "ation": 362, + "▁for": 363, + "▁r": 364, + "▁L": 365, + "▁you": 366, + "▁be": 367, + "ly": 368, + "ver": 369, + "ab": 370, + "te": 371, + "▁it": 372, + "▁on": 373, + "ri": 374, + "us": 375, + "▁\"": 376, + "▁wh": 377, + "▁con": 378, + "▁H": 379, + "▁st": 380, + "ir": 381, + "▁E": 382, + "▁F": 383, + "ck": 384, + "▁an": 385, + "th": 386, + "eg": 387, + "ay": 388, + "ith": 389, + "▁R": 390, + "ist": 391, + "and": 392, + "▁that": 393, + "▁al": 394, + "▁$": 395, + "▁#": 396, + "od": 397, + "um": 398, + "▁W": 399, + "ht": 400, + "code": 401, + "▁G": 402, + "ate": 403, + "ess": 404, + "▁N": 405, + "ere": 406, + "pp": 407, + "▁as": 408, + "▁se": 409, + "▁pro": 410, + "▁with": 411, + "pe": 412, + "▁k": 413, + "ers": 414, + "pt": 415, + ");": 416, + "lo": 417, + "▁▁▁▁▁": 418, + "▁com": 419, + "ame": 420, + "▁`": 421, + "▁Com": 422, + "ia": 423, + "ant": 424, + "▁la": 425, + "▁{": 426, + "▁en": 427, + "ction": 428, + "▁ex": 429, + "ld": 430, + "ub": 431, + "▁j": 432, + "la": 433, + "ue": 434, + "▁J": 435, + "ich": 436, + "▁do": 437, + "▁O": 438, + "▁qu": 439, + "iv": 440, + "ort": 441, + "art": 442, + "▁un": 443, + "▁##": 444, + "▁this": 445, + "ke": 446, + "▁ha": 447, + "▁-": 448, + "out": 449, + "▁The": 450, + "▁not": 451, + "▁ne": 452, + "ill": 453, + "▁le": 454, + "ci": 455, + "rom": 456, + "ine": 457, + "//": 458, + "op": 459, + "egin": 460, + "▁Comment": 461, + "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁": 462, + "begin": 463, + "ст": 464, + "ass": 465, + "iz": 466, + ").": 467, + "og": 468, + "▁п": 469, + "▁or": 470, + "▁was": 471, + "▁at": 472, + "our": 473, + "▁i": 474, + "ain": 475, + "▁K": 476, + "на": 477, + "▁V": 478, + "ge": 479, + "▁su": 480, + "ap": 481, + "age": 482, + "ould": 483, + "ne": 484, + "av": 485, + "xt": 486, + "ore": 487, + "ile": 488, + "--": 489, + "▁в": 490, + "▁by": 491, + "li": 492, + "ath": 493, + "ра": 494, + "ber": 495, + "ach": 496, + "all": 497, + "▁Th": 498, + "ult": 499, + "▁}": 500, + "▁U": 501, + "▁us": 502, + "▁z": 503, + "ust": 504, + "▁have": 505, + "lic": 506, + "ни": 507, + "▁can": 508, + "tr": 509, + "com": 510, + "),": 511, + "▁In": 512, + "ind": 513, + "ell": 514, + "▁from": 515, + "ов": 516, + "to": 517, + "▁[": 518, + "able": 519, + "ost": 520, + "▁ch": 521, + "ect": 522, + "ight": 523, + "int": 524, + "▁'": 525, + "▁are": 526, + "▁im": 527, + "▁sh": 528, + "▁<": 529, + "▁An": 530, + "▁с": 531, + "ata": 532, + "ire": 533, + "▁tr": 534, + "con": 535, + "ord": 536, + "ity": 537, + "ard": 538, + "▁▁▁▁▁▁": 539, + "▁he": 540, + "▁but": 541, + "oc": 542, + "=\"": 543, + "▁pr": 544, + "ure": 545, + "per": 546, + "ack": 547, + "ork": 548, + "ong": 549, + "ans": 550, + "ко": 551, + "ple": 552, + "▁des": 553, + "ok": 554, + "orm": 555, + "wer": 556, + "ak": 557, + "pr": 558, + "ase": 559, + "▁el": 560, + "ph": 561, + "ac": 562, + "▁und": 563, + "▁ar": 564, + "▁if": 565, + "ud": 566, + "ps": 567, + "ite": 568, + "ble": 569, + "но": 570, + "fer": 571, + "pl": 572, + "ive": 573, + "ang": 574, + "ens": 575, + "ро": 576, + "▁so": 577, + "so": 578, + "ast": 579, + "()": 580, + "swer": 581, + "ru": 582, + "ies": 583, + "▁:": 584, + "au": 585, + "ov": 586, + "ре": 587, + "го": 588, + "▁der": 589, + "▁my": 590, + "▁we": 591, + "▁me": 592, + "nt": 593, + "▁ad": 594, + "urn": 595, + "▁your": 596, + "://": 597, + "are": 598, + "▁all": 599, + "ff": 600, + "io": 601, + "estion": 602, + "ime": 603, + "▁er": 604, + "lass": 605, + "▁и": 606, + "▁which": 607, + "ome": 608, + "ont": 609, + "▁par": 610, + "▁ma": 611, + "▁Y": 612, + "\",": 613, + "▁о": 614, + "ft": 615, + "ial": 616, + "cc": 617, + "ound": 618, + "▁li": 619, + "▁res": 620, + "eth": 621, + "ject": 622, + "▁app": 623, + "▁St": 624, + "ice": 625, + "▁am": 626, + "act": 627, + "▁del": 628, + "gr": 629, + "ated": 630, + "ier": 631, + "▁▁▁▁▁▁▁▁▁▁▁▁": 632, + "▁ab": 633, + "▁et": 634, + "ally": 635, + "..": 636, + "port": 637, + "ik": 638, + "▁per": 639, + "▁cont": 640, + "ри": 641, + "ка": 642, + "ser": 643, + "ли": 644, + "ll": 645, + "iew": 646, + "ign": 647, + "_{": 648, + "put": 649, + "one": 650, + "unction": 651, + "▁di": 652, + "ary": 653, + "ition": 654, + "ma": 655, + "ен": 656, + "get": 657, + "▁lo": 658, + "▁val": 659, + "▁Q": 660, + "ran": 661, + "▁д": 662, + "ence": 663, + "▁work": 664, + "▁на": 665, + "ip": 666, + "item": 667, + "ype": 668, + "▁&": 669, + "▁his": 670, + "▁use": 671, + "der": 672, + "▁Answer": 673, + "▁will": 674, + "ize": 675, + "та": 676, + "low": 677, + "▁Ch": 678, + "▁get": 679, + "ide": 680, + "ous": 681, + "ink": 682, + "ption": 683, + "ла": 684, + "turn": 685, + "ung": 686, + "ec": 687, + "ug": 688, + "form": 689, + "res": 690, + "htt": 691, + "oug": 692, + "ль": 693, + "▁no": 694, + "cl": 695, + "▁ro": 696, + "▁one": 697, + "tt": 698, + "cri": 699, + "du": 700, + "▁up": 701, + "то": 702, + "(\"": 703, + "▁ob": 704, + "we": 705, + "ory": 706, + "▁est": 707, + "ery": 708, + "iel": 709, + "str": 710, + "ob": 711, + "▁que": 712, + "ian": 713, + "▁out": 714, + "▁pl": 715, + "▁new": 716, + "ки": 717, + "▁+": 718, + "ry": 719, + "oth": 720, + "ther": 721, + "▁var": 722, + "▁would": 723, + "▁ser": 724, + "tern": 725, + "text": 726, + "▁there": 727, + "ish": 728, + "ror": 729, + "те": 730, + "▁set": 731, + "▁@": 732, + "▁по": 733, + "▁te": 734, + "ex": 735, + "▁return": 736, + "ail": 737, + "▁any": 738, + "▁It": 739, + "▁function": 740, + "{\\": 741, + "',": 742, + "és": 743, + "ale": 744, + "ан": 745, + "▁when": 746, + "ib": 747, + "▁go": 748, + "ance": 749, + "▁had": 750, + "▁Qu": 751, + "▁comp": 752, + "ле": 753, + "▁з": 754, + "math": 755, + "▁has": 756, + "▁м": 757, + "▁pre": 758, + "ener": 759, + "▁part": 760, + "elf": 761, + "▁die": 762, + "▁like": 763, + "ray": 764, + "irst": 765, + "▁dis": 766, + "▁man": 767, + "rit": 768, + "▁then": 769, + "▁class": 770, + "pro": 771, + "▁po": 772, + "▁using": 773, + "eb": 774, + "▁code": 775, + "own": 776, + "▁some": 777, + "ces": 778, + "▁$\\": 779, + "ер": 780, + "lect": 781, + "▁au": 782, + "isch": 783, + "▁col": 784, + "▁–": 785, + "up": 786, + "ons": 787, + "▁add": 788, + "ild": 789, + "iss": 790, + "val": 791, + "ount": 792, + "les": 793, + "vent": 794, + "▁▁▁▁▁▁▁▁▁▁▁▁▁": 795, + "▁Z": 796, + "In": 797, + "row": 798, + "ear": 799, + "ations": 800, + "ah": 801, + "que": 802, + "ublic": 803, + "ank": 804, + "▁sp": 805, + "▁Wh": 806, + "----": 807, + "sk": 808, + "ew": 809, + "ags": 810, + "ти": 811, + "ann": 812, + "▁—": 813, + "ert": 814, + "ace": 815, + "sch": 816, + "▁need": 817, + "▁à": 818, + "ien": 819, + "ough": 820, + "не": 821, + "▁def": 822, + "ij": 823, + "ern": 824, + "▁what": 825, + "▁Ar": 826, + "wo": 827, + "ml": 828, + "": 976, + "▁fil": 977, + "name": 978, + "inal": 979, + "▁il": 980, + "ample": 981, + "▁way": 982, + "ica": 983, + "во": 984, + "cess": 985, + "itt": 986, + "uch": 987, + "▁where": 988, + "ми": 989, + "org": 990, + "https": 991, + "▁vo": 992, + "ient": 993, + "ove": 994, + "▁value": 995, + "eng": 996, + "▁La": 997, + "^{": 998, + "ref": 999, + "ied": 1000, + "ER": 1001, + "▁stat": 1002, + "fig": 1003, + "me": 1004, + "▁von": 1005, + "▁inter": 1006, + "roid": 1007, + "ater": 1008, + "▁their": 1009, + "▁bet": 1010, + "▁ein": 1011, + "}\\": 1012, + "\">": 1013, + "▁sub": 1014, + "▁op": 1015, + "▁don": 1016, + "ty": 1017, + "▁try": 1018, + "▁Pro": 1019, + "▁tra": 1020, + "▁same": 1021, + "ep": 1022, + "▁two": 1023, + "▁name": 1024, + "old": 1025, + "let": 1026, + "▁sim": 1027, + "sp": 1028, + "▁av": 1029, + "bre": 1030, + "blem": 1031, + "ey": 1032, + "▁could": 1033, + "▁cor": 1034, + "▁acc": 1035, + "ays": 1036, + "cre": 1037, + "urr": 1038, + "si": 1039, + "▁const": 1040, + "ues": 1041, + "}$": 1042, + "View": 1043, + "▁act": 1044, + "▁bo": 1045, + "▁ко": 1046, + "▁som": 1047, + "▁about": 1048, + "land": 1049, + "mer": 1050, + "▁list": 1051, + "cal": 1052, + "▁import": 1053, + "col": 1054, + "▁na": 1055, + "na": 1056, + "::": 1057, + "▁who": 1058, + "▁error": 1059, + "▁X": 1060, + "ator": 1061, + "ext": 1062, + "▁been": 1063, + "ér": 1064, + "▁run": 1065, + "pos": 1066, + "▁cl": 1067, + "**": 1068, + "▁К": 1069, + "ular": 1070, + "ause": 1071, + "▁reg": 1072, + "▁know": 1073, + "▁see": 1074, + "▁him": 1075, + "ning": 1076, + "▁за": 1077, + "ates": 1078, + "fore": 1079, + "ions": 1080, + "▁hel": 1081, + "ute": 1082, + "▁rem": 1083, + "▁го": 1084, + "▁Mar": 1085, + "ру": 1086, + "vice": 1087, + "irect": 1088, + "ner": 1089, + "▁under": 1090, + "rib": 1091, + "hr": 1092, + "че": 1093, + "▁As": 1094, + "▁end": 1095, + "ember": 1096, + "▁а": 1097, + "▁att": 1098, + "ina": 1099, + "son": 1100, + "▁follow": 1101, + "▁Sch": 1102, + "pect": 1103, + "▁rel": 1104, + "▁So": 1105, + "▁look": 1106, + "abel": 1107, + "▁problem": 1108, + "▁van": 1109, + "strong": 1110, + "co": 1111, + "pon": 1112, + "ca": 1113, + "ada": 1114, + "\":": 1115, + "cond": 1116, + "amb": 1117, + "},": 1118, + "quest": 1119, + "▁aut": 1120, + "▁result": 1121, + "▁may": 1122, + "Re": 1123, + "http": 1124, + "):": 1125, + "▁And": 1126, + "red": 1127, + "▁How": 1128, + "po": 1129, + "ско": 1130, + "att": 1131, + "oup": 1132, + "ced": 1133, + "▁type": 1134, + "▁than": 1135, + "▁cons": 1136, + "uf": 1137, + "ци": 1138, + "▁question": 1139, + "raph": 1140, + "igh": 1141, + "▁М": 1142, + "▁htt": 1143, + "ins": 1144, + "den": 1145, + "▁da": 1146, + "▁ver": 1147, + "oh": 1148, + "▁=>": 1149, + "riv": 1150, + "ude": 1151, + "▁For": 1152, + "▁ra": 1153, + "frac": 1154, + "ма": 1155, + "▁after": 1156, + "}{": 1157, + "▁method": 1158, + "\")": 1159, + "amp": 1160, + "ash": 1161, + "▁rec": 1162, + "▁differ": 1163, + "ON": 1164, + "ax": 1165, + "ament": 1166, + "ource": 1167, + "Con": 1168, + "its": 1169, + "Name": 1170, + "man": 1171, + "▁bec": 1172, + "che": 1173, + "▁En": 1174, + "aj": 1175, + "▁gener": 1176, + "IN": 1177, + "▁id": 1178, + "ages": 1179, + "▁loc": 1180, + "fo": 1181, + "br": 1182, + "▁she": 1183, + "Pro": 1184, + "▁una": 1185, + "▁к": 1186, + "eta": 1187, + "log": 1188, + "olog": 1189, + "▁sur": 1190, + "arg": 1191, + "▁--": 1192, + "kt": 1193, + "(\\": 1194, + "min": 1195, + "▁line": 1196, + "▁vari": 1197, + "ся": 1198, + "ics": 1199, + "ня": 1200, + "very": 1201, + "add": 1202, + "▁object": 1203, + "Id": 1204, + "▁But": 1205, + "▁case": 1206, + "▁make": 1207, + "▁cal": 1208, + "▁pass": 1209, + "сь": 1210, + "ession": 1211, + "net": 1212, + ".\"": 1213, + "▁г": 1214, + "är": 1215, + "де": 1216, + "no": 1217, + "ating": 1218, + "ato": 1219, + "line": 1220, + "ви": 1221, + "▁Ex": 1222, + "▁ass": 1223, + "▁vers": 1224, + "ля": 1225, + "▁ed": 1226, + "umn": 1227, + "other": 1228, + "ста": 1229, + "ative": 1230, + "String": 1231, + "▁los": 1232, + "wn": 1233, + "▁answer": 1234, + "▁let": 1235, + "▁pe": 1236, + "ents": 1237, + "▁fe": 1238, + "ince": 1239, + "ni": 1240, + "ider": 1241, + "ows": 1242, + "▁test": 1243, + "▁here": 1244, + "roll": 1245, + "▁call": 1246, + "ruct": 1247, + "▁pol": 1248, + "ait": 1249, + "▁back": 1250, + "ho": 1251, + "Ex": 1252, + "ress": 1253, + "ST": 1254, + "ried": 1255, + "date": 1256, + "ет": 1257, + "▁did": 1258, + "ting": 1259, + "▁El": 1260, + "▁dem": 1261, + ")$": 1262, + "ова": 1263, + "urrent": 1264, + "lace": 1265, + "right": 1266, + "ren": 1267, + "по": 1268, + "▁each": 1269, + "cy": 1270, + "block": 1271, + "data": 1272, + "▁%": 1273, + "▁ac": 1274, + "▁==": 1275, + "ür": 1276, + "▁por": 1277, + "ask": 1278, + "arch": 1279, + "ames": 1280, + "▁Con": 1281, + "ча": 1282, + "▁off": 1283, + "▁find": 1284, + "cont": 1285, + "▁now": 1286, + "work": 1287, + "ational": 1288, + "dd": 1289, + "ción": 1290, + "▁А": 1291, + "ault": 1292, + "List": 1293, + "▁ext": 1294, + "urs": 1295, + "ake": 1296, + "ule": 1297, + "▁point": 1298, + "AT": 1299, + "aut": 1300, + "▁trans": 1301, + "▁co": 1302, + "▁read": 1303, + "▁used": 1304, + "ски": 1305, + "ari": 1306, + "LE": 1307, + "eter": 1308, + "oun": 1309, + "ever": 1310, + "self": 1311, + "ined": 1312, + "idth": 1313, + "ux": 1314, + "js": 1315, + "▁such": 1316, + "▁Is": 1317, + "ée": 1318, + "ful": 1319, + "▁dist": 1320, + "▁bu": 1321, + "itemize": 1322, + "Cont": 1323, + "je": 1324, + "си": 1325, + "▁prov": 1326, + "bb": 1327, + "ward": 1328, + "esent": 1329, + "erson": 1330, + "anks": 1331, + "wh": 1332, + "not": 1333, + "▁We": 1334, + "ka": 1335, + "rop": 1336, + "atur": 1337, + "als": 1338, + "▁bel": 1339, + "ör": 1340, + "fr": 1341, + "▁example": 1342, + "▁incl": 1343, + "amil": 1344, + "▁ра": 1345, + "▁“": 1346, + "▁string": 1347, + "▁think": 1348, + "Th": 1349, + "▁tem": 1350, + "ave": 1351, + "▁Fran": 1352, + "▁number": 1353, + "▁si": 1354, + "imes": 1355, + "tem": 1356, + "my": 1357, + "ler": 1358, + "load": 1359, + "==": 1360, + "▁hand": 1361, + "za": 1362, + "▁because": 1363, + "▁sch": 1364, + "vo": 1365, + "this": 1366, + "ID": 1367, + "ão": 1368, + "▁start": 1369, + "▁war": 1370, + "▁help": 1371, + "ts": 1372, + "▁char": 1373, + "▁ph": 1374, + "▁min": 1375, + "til": 1376, + "rite": 1377, + "--------": 1378, + "els": 1379, + "▁mit": 1380, + "edia": 1381, + "ку": 1382, + "▁Sh": 1383, + "any": 1384, + "];": 1385, + "▁Б": 1386, + "ique": 1387, + "da": 1388, + "ef": 1389, + "dex": 1390, + "▁produ": 1391, + "▁Н": 1392, + "gram": 1393, + "▁Or": 1394, + "▁gre": 1395, + "quote": 1396, + "leg": 1397, + "orn": 1398, + "▁ind": 1399, + "▁post": 1400, + "▁dep": 1401, + "],": 1402, + "vi": 1403, + "▁user": 1404, + "▁>": 1405, + "lick": 1406, + "▁very": 1407, + "ething": 1408, + "▁array": 1409, + "▁gu": 1410, + "▁dur": 1411, + "`.": 1412, + "ть": 1413, + "lication": 1414, + "сти": 1415, + "ek": 1416, + "ico": 1417, + "▁dat": 1418, + "ор": 1419, + "html": 1420, + "ione": 1421, + "▁different": 1422, + "▁check": 1423, + "▁fr": 1424, + "▁Er": 1425, + "▁text": 1426, + "ні": 1427, + "icht": 1428, + "stack": 1429, + "EN": 1430, + "rag": 1431, + "▁every": 1432, + "Ar": 1433, + "▁before": 1434, + "alse": 1435, + "▁fin": 1436, + "▁dé": 1437, + "▁these": 1438, + "▁det": 1439, + "Val": 1440, + "ception": 1441, + "▁android": 1442, + "blockquote": 1443, + "▁je": 1444, + "file": 1445, + "ats": 1446, + "▁до": 1447, + "essage": 1448, + "▁again": 1449, + "aw": 1450, + "Ch": 1451, + "ween": 1452, + "▁Д": 1453, + "for": 1454, + "cial": 1455, + "play": 1456, + "pre": 1457, + "ida": 1458, + "▁Par": 1459, + "ny": 1460, + "ract": 1461, + "▁supp": 1462, + "ased": 1463, + "lection": 1464, + "▁dans": 1465, + "air": 1466, + "rol": 1467, + "▁thr": 1468, + "Data": 1469, + "lich": 1470, + "▁про": 1471, + "▁long": 1472, + "▁second": 1473, + "ually": 1474, + "ines": 1475, + "▁found": 1476, + "ength": 1477, + "yp": 1478, + "ead": 1479, + "▁log": 1480, + "ui": 1481, + "new": 1482, + "▁Р": 1483, + "go": 1484, + "aus": 1485, + "ody": 1486, + "▁son": 1487, + "ме": 1488, + "ero": 1489, + "ved": 1490, + "sub": 1491, + "▁right": 1492, + "view": 1493, + "▁following": 1494, + "')": 1495, + "\");": 1496, + "▁said": 1497, + "же": 1498, + "чи": 1499, + "ту": 1500, + "ott": 1501, + "се": 1502, + "ars": 1503, + "$.": 1504, + "gg": 1505, + "▁br": 1506, + "ool": 1507, + "yle": 1508, + "use": 1509, + "▁show": 1510, + "lease": 1511, + "cia": 1512, + "▁direct": 1513, + "doc": 1514, + "ар": 1515, + "ms": 1516, + "▁giv": 1517, + "▁exp": 1518, + "ql": 1519, + "ду": 1520, + "ве": 1521, + "▁Be": 1522, + "Com": 1523, + "iter": 1524, + "RE": 1525, + "mp": 1526, + "men": 1527, + "▁Ro": 1528, + "MA": 1529, + "▁Col": 1530, + "ister": 1531, + "▁well": 1532, + "▁": 1599, + "ene": 1600, + "▁mon": 1601, + "▁dec": 1602, + "▁still": 1603, + "▁об": 1604, + "▁Tr": 1605, + "▁ф": 1606, + "ife": 1607, + "ism": 1608, + "by": 1609, + "raw": 1610, + "ior": 1611, + "▁med": 1612, + "orld": 1613, + "▁comple": 1614, + "ww": 1615, + "▁art": 1616, + "ron": 1617, + "▁Г": 1618, + "▁My": 1619, + "▁als": 1620, + "rect": 1621, + "▁auf": 1622, + "▁down": 1623, + "ather": 1624, + "Col": 1625, + "Text": 1626, + "back": 1627, + "$,": 1628, + "▁year": 1629, + "мо": 1630, + "pi": 1631, + "▁Gr": 1632, + "ream": 1633, + "▁rep": 1634, + "bf": 1635, + "www": 1636, + "▁wur": 1637, + "▁org": 1638, + "inter": 1639, + "▁Die": 1640, + "▁being": 1641, + "\".": 1642, + "label": 1643, + "▁cent": 1644, + "java": 1645, + "bar": 1646, + "ante": 1647, + "ana": 1648, + "__": 1649, + "▁solution": 1650, + "▁О": 1651, + "▁fl": 1652, + "▁create": 1653, + "ici": 1654, + "ste": 1655, + "ython": 1656, + "unt": 1657, + "ason": 1658, + "ference": 1659, + "SE": 1660, + "▁non": 1661, + "ane": 1662, + "▁ins": 1663, + "ader": 1664, + "_{\\": 1665, + "Res": 1666, + "▁main": 1667, + "пи": 1668, + "▁▁▁▁▁▁▁▁▁▁▁▁▁▁": 1669, + "▁There": 1670, + "▁pour": 1671, + "RO": 1672, + "`,": 1673, + "lish": 1674, + "bject": 1675, + "ccess": 1676, + "▁orig": 1677, + "▁▁▁": 1678, + "ischen": 1679, + "ower": 1680, + "▁het": 1681, + "uc": 1682, + "▁else": 1683, + "».": 1684, + "▁от": 1685, + "equ": 1686, + "sible": 1687, + "test": 1688, + "stand": 1689, + "én": 1690, + "ets": 1691, + "GE": 1692, + "ident": 1693, + "▁е": 1694, + "▁при": 1695, + ".,": 1696, + "▁das": 1697, + "ock": 1698, + ",\"": 1699, + "▁vol": 1700, + "▁fo": 1701, + "▁para": 1702, + "▁Т": 1703, + "▁Car": 1704, + "ral": 1705, + "▁Sp": 1706, + "var": 1707, + "▁play": 1708, + "ouse": 1709, + "▁та": 1710, + "ically": 1711, + "▁contain": 1712, + "ponse": 1713, + "▁String": 1714, + "án": 1715, + "▁both": 1716, + "ken": 1717, + "AR": 1718, + "ере": 1719, + "▁Il": 1720, + "▁iss": 1721, + "▁open": 1722, + "▁)": 1723, + "▁What": 1724, + "fe": 1725, + "rivate": 1726, + "reg": 1727, + "▁without": 1728, + "▁zu": 1729, + "vis": 1730, + "flow": 1731, + "▁http": 1732, + "abase": 1733, + "▁word": 1734, + "▁change": 1735, + "▁works": 1736, + "▁ge": 1737, + "▁!": 1738, + "▁een": 1739, + "itle": 1740, + "▁event": 1741, + "word": 1742, + "ando": 1743, + "SB": 1744, + "rem": 1745, + "▁field": 1746, + "ving": 1747, + "Ser": 1748, + "▁our": 1749, + "▁qui": 1750, + "▁oper": 1751, + "▁ist": 1752, + "def": 1753, + "▁made": 1754, + "ние": 1755, + "px": 1756, + "▁men": 1757, + "rm": 1758, + "ais": 1759, + "cent": 1760, + "list": 1761, + "To": 1762, + "▁To": 1763, + "ja": 1764, + "vert": 1765, + "▁mar": 1766, + "value": 1767, + "▁„": 1768, + "\";": 1769, + "▁aus": 1770, + "▁Br": 1771, + "ole": 1772, + "▁mult": 1773, + "ought": 1774, + "▁mat": 1775, + "▁view": 1776, + "fil": 1777, + "▁со": 1778, + "га": 1779, + "▁void": 1780, + "▁good": 1781, + "бо": 1782, + "CT": 1783, + "▁many": 1784, + "ben": 1785, + "▁во": 1786, + "▁ка": 1787, + "▁system": 1788, + "ino": 1789, + "▁another": 1790, + "▁rest": 1791, + "user": 1792, + "ility": 1793, + "ai": 1794, + "▁might": 1795, + "ustom": 1796, + "▁order": 1797, + "▁Ver": 1798, + "SS": 1799, + "})": 1800, + "▁eff": 1801, + "до": 1802, + "ett": 1803, + "▁sign": 1804, + "му": 1805, + "IT": 1806, + "string": 1807, + "elle": 1808, + "▁sing": 1809, + "cul": 1810, + "▁trying": 1811, + "▁beg": 1812, + "▁page": 1813, + "хо": 1814, + "▁Can": 1815, + "▁Ser": 1816, + "++": 1817, + "▁must": 1818, + "▁values": 1819, + "▁key": 1820, + "ible": 1821, + "].": 1822, + "ird": 1823, + "▁program": 1824, + "roller": 1825, + "▁conne": 1826, + "▁say": 1827, + "▁param": 1828, + "ache": 1829, + "velop": 1830, + "▁select": 1831, + "▁famil": 1832, + "▁last": 1833, + "▁Thanks": 1834, + "▁pop": 1835, + "}.": 1836, + "eq": 1837, + "▁doesn": 1838, + "['": 1839, + "▁term": 1840, + "▁ré": 1841, + "▁document": 1842, + "па": 1843, + "лу": 1844, + "ateg": 1845, + ".)": 1846, + "ling": 1847, + "ional": 1848, + "ables": 1849, + "▁tak": 1850, + "utton": 1851, + "▁arg": 1852, + "type": 1853, + "▁sure": 1854, + "▁real": 1855, + "▁web": 1856, + "▁current": 1857, + "▁Pl": 1858, + "cho": 1859, + "ments": 1860, + "▁Joh": 1861, + "ots": 1862, + "▁exist": 1863, + "ну": 1864, + "▁für": 1865, + "▁из": 1866, + "do": 1867, + "ного": 1868, + "▁las": 1869, + "▁null": 1870, + "▁inform": 1871, + "▁Л": 1872, + "▁version": 1873, + "▁chang": 1874, + "ager": 1875, + "▁Comm": 1876, + "лі": 1877, + "ush": 1878, + "▁Ge": 1879, + "▁high": 1880, + "▁input": 1881, + "ogle": 1882, + "ros": 1883, + "box": 1884, + "gen": 1885, + "▁ste": 1886, + "▁local": 1887, + "Im": 1888, + "▁process": 1889, + "ternal": 1890, + "ized": 1891, + "ги": 1892, + "ét": 1893, + "▁Ind": 1894, + "▁och": 1895, + "lt": 1896, + "▁column": 1897, + "▁tried": 1898, + "▁command": 1899, + "▁best": 1900, + "aster": 1901, + "за": 1902, + "▁prim": 1903, + "▁model": 1904, + "▁і": 1905, + "▁those": 1906, + "ities": 1907, + "ère": 1908, + "▁ре": 1909, + "је": 1910, + "ши": 1911, + "ques": 1912, + "▁Am": 1913, + "▁own": 1914, + "lin": 1915, + "зи": 1916, + "Value": 1917, + "thing": 1918, + "▁,": 1919, + "▁Te": 1920, + "▁stud": 1921, + "▁um": 1922, + "▁server": 1923, + "ille": 1924, + "▁put": 1925, + "ativ": 1926, + "gy": 1927, + "ови": 1928, + "raf": 1929, + "ово": 1930, + "▁wurde": 1931, + "▁When": 1932, + "▁div": 1933, + "ants": 1934, + "▁ter": 1935, + "▁partic": 1936, + "▁т": 1937, + "▁Do": 1938, + "▁No": 1939, + "sert": 1940, + "ido": 1941, + "mathcal": 1942, + "ade": 1943, + "▁II": 1944, + "lear": 1945, + "ograph": 1946, + "ense": 1947, + "▁row": 1948, + "num": 1949, + "▁possible": 1950, + "▁since": 1951, + "▁Bo": 1952, + "ctions": 1953, + "▁Im": 1954, + "OR": 1955, + "ці": 1956, + "▁ide": 1957, + "map": 1958, + "▁correct": 1959, + "ves": 1960, + "php": 1961, + "▁output": 1962, + "▁Ph": 1963, + "AL": 1964, + "ared": 1965, + "\\\\": 1966, + "▁image": 1967, + "esch": 1968, + "жи": 1969, + "▁conf": 1970, + "por": 1971, + "query": 1972, + "ures": 1973, + "ium": 1974, + "ends": 1975, + "▁Ab": 1976, + "SBN": 1977, + "ід": 1978, + "ether": 1979, + "ptions": 1980, + "itu": 1981, + "lib": 1982, + "ns": 1983, + "ki": 1984, + "▁working": 1985, + "▁como": 1986, + "▁Then": 1987, + "ML": 1988, + "key": 1989, + "class": 1990, + "ople": 1991, + "ittle": 1992, + "▁match": 1993, + "ways": 1994, + "mathbb": 1995, + "▁require": 1996, + "alt": 1997, + "▁vis": 1998, + "▁bl": 1999, + "▁called": 2000, + "Item": 2001, + "ura": 2002, + "vec": 2003, + "eme": 2004, + "▁della": 2005, + "embre": 2006, + "urg": 2007, + "Se": 2008, + "▁request": 2009, + "ische": 2010, + "▁port": 2011, + "▁instead": 2012, + "=\\": 2013, + "▁У": 2014, + "hor": 2015, + "ente": 2016, + "ume": 2017, + "erd": 2018, + "са": 2019, + "▁why": 2020, + "rist": 2021, + "▁person": 2022, + "▁...": 2023, + "▁private": 2024, + "▁tot": 2025, + "pha": 2026, + "ift": 2027, + "ita": 2028, + "loc": 2029, + "▁old": 2030, + "он": 2031, + "▁nel": 2032, + "']": 2033, + "ti": 2034, + "iet": 2035, + "cite": 2036, + "plement": 2037, + "▁above": 2038, + "ks": 2039, + "ready": 2040, + "▁come": 2041, + "section": 2042, + "▁Pol": 2043, + "▁writ": 2044, + "▁https": 2045, + "▁$$": 2046, + "▁»": 2047, + "▁build": 2048, + "ito": 2049, + "▁consider": 2050, + "aft": 2051, + "App": 2052, + ",\\": 2053, + "indows": 2054, + "comm": 2055, + "▁;": 2056, + "ground": 2057, + "▁place": 2058, + "By": 2059, + "▁project": 2060, + "Object": 2061, + "▁repr": 2062, + "ences": 2063, + "indow": 2064, + "zt": 2065, + "▁files": 2066, + "cz": 2067, + "ivity": 2068, + "▁init": 2069, + "▁prob": 2070, + "▁sk": 2071, + "orth": 2072, + "iment": 2073, + "ouble": 2074, + "atal": 2075, + "irc": 2076, + "▁è": 2077, + "▁bre": 2078, + "ista": 2079, + "input": 2080, + "▁И": 2081, + "ной": 2082, + "sum": 2083, + "path": 2084, + "▁cour": 2085, + "▁too": 2086, + "▁Ad": 2087, + "▁Gu": 2088, + "▁false": 2089, + "▁fun": 2090, + "▁ст": 2091, + "ood": 2092, + "ès": 2093, + "▁enc": 2094, + "bol": 2095, + "rl": 2096, + "arget": 2097, + "order": 2098, + "▁mean": 2099, + "пе": 2100, + "igen": 2101, + "▁пре": 2102, + "width": 2103, + ";\r": 2104, + "itor": 2105, + "▁state": 2106, + "▁great": 2107, + "enn": 2108, + "bin": 2109, + "Er": 2110, + "Mod": 2111, + "oz": 2112, + "▁won": 2113, + "▁fact": 2114, + "▁java": 2115, + "▁Univers": 2116, + "▁cap": 2117, + "istor": 2118, + "}(": 2119, + "ku": 2120, + "ither": 2121, + "ales": 2122, + "▁ou": 2123, + "ross": 2124, + "▁take": 2125, + "rix": 2126, + "lob": 2127, + "▁eine": 2128, + "ases": 2129, + "▁access": 2130, + "ité": 2131, + "istr": 2132, + "ization": 2133, + "▁appro": 2134, + "ball": 2135, + "▁mak": 2136, + "}^": 2137, + "▁Cons": 2138, + "press": 2139, + "serv": 2140, + "().": 2141, + "af": 2142, + "▁ref": 2143, + ")\\": 2144, + "▁contin": 2145, + "su": 2146, + "iver": 2147, + "▁cond": 2148, + "▁expect": 2149, + "▁charact": 2150, + "bert": 2151, + "elt": 2152, + "ters": 2153, + "script": 2154, + "▁Ed": 2155, + "apt": 2156, + "');": 2157, + "print": 2158, + "▁size": 2159, + "▁sich": 2160, + "face": 2161, + "enden": 2162, + "▁Amer": 2163, + "ified": 2164, + "ów": 2165, + "▁Su": 2166, + "tes": 2167, + "med": 2168, + "▁Reg": 2169, + "sole": 2170, + "▁includ": 2171, + "ini": 2172, + "inci": 2173, + "▁pla": 2174, + "▁left": 2175, + "df": 2176, + "Par": 2177, + "▁All": 2178, + "▁occ": 2179, + "▁At": 2180, + "▁cr": 2181, + "Qu": 2182, + "▁given": 2183, + "▁System": 2184, + "ican": 2185, + "▁final": 2186, + "itions": 2187, + "▁бы": 2188, + "▁perform": 2189, + "AN": 2190, + "▁Me": 2191, + "uro": 2192, + "▁That": 2193, + "гра": 2194, + "▁По": 2195, + "▁ви": 2196, + "ably": 2197, + "▁present": 2198, + "duct": 2199, + "ric": 2200, + "▁Eng": 2201, + "try": 2202, + "▁lar": 2203, + "bl": 2204, + "idd": 2205, + "▁är": 2206, + "ora": 2207, + "LL": 2208, + "oss": 2209, + "▁ISBN": 2210, + "▁three": 2211, + "jo": 2212, + "ní": 2213, + "rc": 2214, + "▁far": 2215, + "▁Not": 2216, + "▁little": 2217, + "dis": 2218, + "ati": 2219, + "function": 2220, + "▁able": 2221, + "less": 2222, + "со": 2223, + "▁path": 2224, + "▁pres": 2225, + "lose": 2226, + "PI": 2227, + "▁issue": 2228, + "ackage": 2229, + "time": 2230, + "ige": 2231, + "ams": 2232, + "▁Cl": 2233, + "ails": 2234, + "alk": 2235, + "ii": 2236, + "ше": 2237, + "pen": 2238, + "QL": 2239, + "▁eas": 2240, + "RL": 2241, + "cel": 2242, + "▁sl": 2243, + "▁ask": 2244, + "▁nom": 2245, + "▁top": 2246, + "ides": 2247, + "index": 2248, + "ém": 2249, + "▁happ": 2250, + "ox": 2251, + "cd": 2252, + "▁better": 2253, + "▁load": 2254, + "ados": 2255, + "zen": 2256, + "▁ce": 2257, + "▁fa": 2258, + "▁John": 2259, + "IMA": 2260, + "▁Bar": 2261, + "overflow": 2262, + "▁де": 2263, + "ness": 2264, + "cer": 2265, + "▁Here": 2266, + "ret": 2267, + "▁sz": 2268, + "ambda": 2269, + "opy": 2270, + "url": 2271, + "py": 2272, + "rt": 2273, + "▁understand": 2274, + "ał": 2275, + "her": 2276, + "##": 2277, + "▁child": 2278, + "▁exec": 2279, + "▁application": 2280, + "▁struct": 2281, + "▁я": 2282, + "File": 2283, + "▁cert": 2284, + "ison": 2285, + "▁variable": 2286, + "DE": 2287, + "rs": 2288, + "▁really": 2289, + "Port": 2290, + "ba": 2291, + "▁Ber": 2292, + "▁inte": 2293, + "▁static": 2294, + "▁config": 2295, + "▁She": 2296, + "estions": 2297, + "▁plus": 2298, + "▁hab": 2299, + "ope": 2300, + "▁mus": 2301, + "▁count": 2302, + "ME": 2303, + "▁support": 2304, + "▁people": 2305, + "▁beh": 2306, + "▁already": 2307, + "Tr": 2308, + "▁done": 2309, + "dem": 2310, + "size": 2311, + "alpha": 2312, + "▁disc": 2313, + "])": 2314, + "▁Man": 2315, + "▁mil": 2316, + "▁stand": 2317, + "▁group": 2318, + "▁small": 2319, + "▁mag": 2320, + "сть": 2321, + "▁default": 2322, + "▁single": 2323, + "link": 2324, + "clude": 2325, + "▁ear": 2326, + "ilar": 2327, + "****": 2328, + "▁fix": 2329, + "ley": 2330, + "▁pas": 2331, + "ний": 2332, + "ission": 2333, + "▁implement": 2334, + "itch": 2335, + "▁года": 2336, + "▁always": 2337, + "▁Jah": 2338, + "pring": 2339, + "ção": 2340, + "plate": 2341, + "▁descri": 2342, + "▁head": 2343, + "init": 2344, + "ograf": 2345, + "▁query": 2346, + "ived": 2347, + "▁ing": 2348, + "pty": 2349, + "ha": 2350, + "▁mov": 2351, + "▁э": 2352, + "ette": 2353, + "ily": 2354, + "▁got": 2355, + "iled": 2356, + "icro": 2357, + "▁wr": 2358, + "ря": 2359, + "▁never": 2360, + "ores": 2361, + "▁bas": 2362, + "ios": 2363, + "lack": 2364, + "aint": 2365, + "vious": 2366, + "▁give": 2367, + "idad": 2368, + "En": 2369, + "ный": 2370, + "table": 2371, + "▁На": 2372, + "▁pat": 2373, + "тор": 2374, + "angu": 2375, + "loy": 2376, + "▁seg": 2377, + "array": 2378, + "▁Fl": 2379, + "▁index": 2380, + "▁sw": 2381, + "IMAGE": 2382, + "▁km": 2383, + "би": 2384, + "Class": 2385, + "ena": 2386, + "мен": 2387, + "comp": 2388, + "atus": 2389, + "rap": 2390, + "▁List": 2391, + "Error": 2392, + "▁typ": 2393, + "▁ма": 2394, + "cs": 2395, + "':": 2396, + "ji": 2397, + "▁However": 2398, + "▁те": 2399, + "▁below": 2400, + "▁App": 2401, + "ще": 2402, + "}_": 2403, + "bum": 2404, + "vir": 2405, + "ées": 2406, + "▁record": 2407, + "tain": 2408, + "lem": 2409, + "ital": 2410, + "▁imp": 2411, + "ego": 2412, + "▁od": 2413, + "▁rece": 2414, + "mit": 2415, + "ffic": 2416, + "stackoverflow": 2417, + "ieve": 2418, + "▁З": 2419, + "▁nov": 2420, + "це": 2421, + "▁Intern": 2422, + "bu": 2423, + "▁sugg": 2424, + "▁loop": 2425, + "ride": 2426, + "▁$(": 2427, + "▁super": 2428, + "rid": 2429, + "ных": 2430, + "▁Per": 2431, + "▁dom": 2432, + "='": 2433, + "utsch": 2434, + "len": 2435, + "▁write": 2436, + "▁inv": 2437, + "outh": 2438, + "▁Her": 2439, + "▁years": 2440, + "▁original": 2441, + "ega": 2442, + "▁Ste": 2443, + "▁seems": 2444, + "ég": 2445, + "▁next": 2446, + "eder": 2447, + "▁Ne": 2448, + "avas": 2449, + "ification": 2450, + "Exception": 2451, + "▁Der": 2452, + "▁ve": 2453, + "atic": 2454, + "hat": 2455, + "brary": 2456, + "return": 2457, + "urch": 2458, + "ision": 2459, + "mi": 2460, + "oint": 2461, + "▁day": 2462, + "iction": 2463, + "ál": 2464, + "▁és": 2465, + "▁though": 2466, + "action": 2467, + "ít": 2468, + "ungen": 2469, + "ours": 2470, + "▁script": 2471, + "▁information": 2472, + "▁multi": 2473, + "▁\\\\": 2474, + "ster": 2475, + "ке": 2476, + "AC": 2477, + "cies": 2478, + "▁display": 2479, + "oman": 2480, + "Time": 2481, + "ius": 2482, + "));": 2483, + "tre": 2484, + "▁lim": 2485, + "ately": 2486, + "éd": 2487, + "iste": 2488, + "▁са": 2489, + "post": 2490, + "uel": 2491, + "img": 2492, + "▁ч": 2493, + "ска": 2494, + "eld": 2495, + "pper": 2496, + "ula": 2497, + "▁general": 2498, + "Al": 2499, + "Form": 2500, + "▁upon": 2501, + "zo": 2502, + "amente": 2503, + "▁prom": 2504, + "▁ü": 2505, + "lex": 2506, + "▁turn": 2507, + "▁ме": 2508, + "ention": 2509, + "лен": 2510, + "▁af": 2511, + "icle": 2512, + "ств": 2513, + "▁Fil": 2514, + "▁Ф": 2515, + "avascript": 2516, + "Man": 2517, + "ara": 2518, + "ware": 2519, + "align": 2520, + "angle": 2521, + "▁Sc": 2522, + "unic": 2523, + "▁fran": 2524, + "Un": 2525, + "zi": 2526, + "met": 2527, + "Add": 2528, + "▁pub": 2529, + "ков": 2530, + "▁gen": 2531, + "▁pod": 2532, + "▁sum": 2533, + "▁having": 2534, + "▁avec": 2535, + "sl": 2536, + "▁fig": 2537, + "▁Res": 2538, + "Date": 2539, + "ules": 2540, + "with": 2541, + "ский": 2542, + "gu": 2543, + "ET": 2544, + "▁bro": 2545, + "rie": 2546, + "aps": 2547, + "ending": 2548, + "mail": 2549, + "ook": 2550, + "▁success": 2551, + "berg": 2552, + "▁deb": 2553, + "elta": 2554, + "()`": 2555, + "ential": 2556, + "frame": 2557, + "Key": 2558, + "inn": 2559, + "▁simple": 2560, + "ival": 2561, + "▁care": 2562, + "▁Web": 2563, + "\").": 2564, + ">": 2900, + "ko": 2901, + "▁exper": 2902, + "▁separ": 2903, + "yl": 2904, + "ourn": 2905, + "▁dev": 2906, + "▁auch": 2907, + "▁block": 2908, + "book": 2909, + "▁map": 2910, + "illa": 2911, + "▁comput": 2912, + "▁space": 2913, + "result": 2914, + ")}": 2915, + "▁echo": 2916, + "config": 2917, + "hi": 2918, + "▁large": 2919, + "▁width": 2920, + "▁Go": 2921, + "mat": 2922, + "▁diff": 2923, + "▁kind": 2924, + "ances": 2925, + "ynam": 2926, + "▁color": 2927, + "Int": 2928, + "sol": 2929, + "▁pi": 2930, + "▁character": 2931, + "oment": 2932, + "▁response": 2933, + "igma": 2934, + "wards": 2935, + "arrow": 2936, + "су": 2937, + "ties": 2938, + "▁über": 2939, + "Image": 2940, + "yd": 2941, + "▁пере": 2942, + "▁node": 2943, + "▁item": 2944, + "achine": 2945, + "ima": 2946, + "▁va": 2947, + "▁approach": 2948, + "▁wer": 2949, + "▁че": 2950, + "On": 2951, + "ollow": 2952, + "она": 2953, + "cted": 2954, + "ured": 2955, + "Controller": 2956, + "lied": 2957, + "▁jo": 2958, + "▁dal": 2959, + "unk": 2960, + "▁î": 2961, + "start": 2962, + "ola": 2963, + "▁compon": 2964, + "IC": 2965, + "bit": 2966, + "▁base": 2967, + "пу": 2968, + "▁idea": 2969, + "▁dire": 2970, + "▁rad": 2971, + "group": 2972, + "▁With": 2973, + "server": 2974, + "side": 2975, + "sing": 2976, + "▁dies": 2977, + "▁near": 2978, + "▁voor": 2979, + "▁argument": 2980, + "▁},": 2981, + "▁land": 2982, + "▁names": 2983, + "▁option": 2984, + "ithub": 2985, + "pped": 2986, + "aug": 2987, + "▁links": 2988, + "▁full": 2989, + "▁situ": 2990, + "▁console": 2991, + "▁etc": 2992, + "aux": 2993, + "▁Cor": 2994, + "icrosoft": 2995, + "▁came": 2996, + "local": 2997, + "▁known": 2998, + "▁multiple": 2999, + "anguage": 3000, + "▁total": 3001, + "ology": 3002, + "ät": 3003, + "▁Х": 3004, + "▁fre": 3005, + "▁ten": 3006, + "ideo": 3007, + "▁bes": 3008, + "true": 3009, + "Query": 3010, + "omm": 3011, + "▁Art": 3012, + "▁keep": 3013, + "▁University": 3014, + "reate": 3015, + "pport": 3016, + "▁python": 3017, + "tra": 3018, + "ector": 3019, + "рі": 3020, + "oph": 3021, + "▁conc": 3022, + "▁four": 3023, + "viron": 3024, + "▁via": 3025, + "?\"": 3026, + "image": 3027, + "oll": 3028, + "ные": 3029, + "▁context": 3030, + "▁sem": 3031, + "._": 3032, + "▁eng": 3033, + "mar": 3034, + "AD": 3035, + "▁mor": 3036, + "▁Cal": 3037, + "▁cell": 3038, + "imal": 3039, + "ATE": 3040, + "▁inf": 3041, + "ön": 3042, + "uffer": 3043, + "sq": 3044, + "....": 3045, + "▁zur": 3046, + "With": 3047, + "ран": 3048, + "chn": 3049, + "▁door": 3050, + "content": 3051, + "▁miss": 3052, + "▁simp": 3053, + "ár": 3054, + "ira": 3055, + "▁hat": 3056, + "Test": 3057, + "▁certain": 3058, + "NS": 3059, + "▁cho": 3060, + "▁adv": 3061, + "where": 3062, + "▁looking": 3063, + "▁times": 3064, + "них": 3065, + "uto": 3066, + "▁É": 3067, + "can": 3068, + "host": 3069, + "▁(*": 3070, + "loat": 3071, + "▁nicht": 3072, + "Field": 3073, + "burg": 3074, + "const": 3075, + "ades": 3076, + "▁Mus": 3077, + "▁nothing": 3078, + "▁incre": 3079, + "▁Min": 3080, + "▁power": 3081, + "▁American": 3082, + "ln": 3083, + "valid": 3084, + "ungs": 3085, + "▁National": 3086, + "▁San": 3087, + "▁York": 3088, + "Request": 3089, + "char": 3090, + "▁Ze": 3091, + "button": 3092, + "▁alg": 3093, + "SON": 3094, + "▁ap": 3095, + "uff": 3096, + "ability": 3097, + "ем": 3098, + "▁anything": 3099, + "ela": 3100, + "())": 3101, + "ба": 3102, + "ampion": 3103, + "▁pot": 3104, + "▁fut": 3105, + "ailable": 3106, + "▁prop": 3107, + "\"]": 3108, + "▁less": 3109, + "lag": 3110, + "▁August": 3111, + "It": 3112, + "▁please": 3113, + "▁style": 3114, + "▁Also": 3115, + "bt": 3116, + "▁probably": 3117, + "▁One": 3118, + "▁poss": 3119, + "UI": 3120, + "uit": 3121, + "▁West": 3122, + "hn": 3123, + "+\\": 3124, + "Button": 3125, + "json": 3126, + "err": 3127, + "rame": 3128, + "dom": 3129, + "ilon": 3130, + "alf": 3131, + "▁client": 3132, + "▁continu": 3133, + "xml": 3134, + "pec": 3135, + "ador": 3136, + "ls": 3137, + "▁however": 3138, + "▁Any": 3139, + "änd": 3140, + "mathrm": 3141, + "▁url": 3142, + "▁book": 3143, + "▁gl": 3144, + "ives": 3145, + "gi": 3146, + "▁tro": 3147, + "▁US": 3148, + "point": 3149, + "open": 3150, + "▁cur": 3151, + "▁era": 3152, + "▁particular": 3153, + "▁HT": 3154, + "oot": 3155, + "ello": 3156, + "lobal": 3157, + "▁action": 3158, + "▁Int": 3159, + "▁include": 3160, + "▁elements": 3161, + "ная": 3162, + "ards": 3163, + "▁Bl": 3164, + "▁hum": 3165, + "from": 3166, + "change": 3167, + "▁functions": 3168, + "hen": 3169, + "Service": 3170, + "▁height": 3171, + "▁Land": 3172, + "ias": 3173, + "gs": 3174, + "ión": 3175, + "лов": 3176, + "node": 3177, + ".”": 3178, + "hand": 3179, + "▁бу": 3180, + "▁amb": 3181, + "▁Lu": 3182, + "▁throw": 3183, + "▁mot": 3184, + "▁Act": 3185, + "▁world": 3186, + "_\\": 3187, + "base": 3188, + "▁Co": 3189, + "▁arch": 3190, + "▁####": 3191, + "ged": 3192, + "pril": 3193, + "older": 3194, + "Model": 3195, + "▁several": 3196, + "lie": 3197, + "check": 3198, + "]{": 3199, + "cons": 3200, + "▁Tra": 3201, + "heck": 3202, + "▁least": 3203, + "down": 3204, + "ebru": 3205, + "Def": 3206, + "param": 3207, + "ischer": 3208, + "▁cas": 3209, + "CH": 3210, + "▁address": 3211, + "▁раз": 3212, + "ufen": 3213, + "urope": 3214, + "ей": 3215, + "▁bound": 3216, + "CO": 3217, + "▁Ang": 3218, + "▁Ma": 3219, + "Index": 3220, + "core": 3221, + "ouch": 3222, + "atabase": 3223, + "ribution": 3224, + "document": 3225, + "Le": 3226, + "}_{": 3227, + "vern": 3228, + "▁statement": 3229, + "▁Brit": 3230, + "ono": 3231, + "psilon": 3232, + "▁level": 3233, + "▁product": 3234, + "IS": 3235, + "▁course": 3236, + "▁Mr": 3237, + ">\r": 3238, + "▁background": 3239, + "▁ret": 3240, + "ering": 3241, + "most": 3242, + "сько": 3243, + "▁thread": 3244, + "itional": 3245, + "ites": 3246, + "Pl": 3247, + "▁dos": 3248, + "ga": 3249, + "day": 3250, + "▁Gener": 3251, + "▁tw": 3252, + "Ad": 3253, + "\"><": 3254, + "▁($": 3255, + "▁moment": 3256, + "title": 3257, + "create": 3258, + "version": 3259, + "Manager": 3260, + "▁fur": 3261, + "pping": 3262, + "ijn": 3263, + "ос": 3264, + "▁rather": 3265, + "ptember": 3266, + "OS": 3267, + "▁site": 3268, + "▁caus": 3269, + "ani": 3270, + "▁home": 3271, + "мі": 3272, + "▁short": 3273, + "pa": 3274, + "▁lead": 3275, + "ished": 3276, + "cing": 3277, + "ording": 3278, + "▁prote": 3279, + "сле": 3280, + "LECT": 3281, + "▁didn": 3282, + "position": 3283, + "\",\"": 3284, + "(),": 3285, + "trans": 3286, + "▁lot": 3287, + "▁од": 3288, + "AS": 3289, + "▁sat": 3290, + "▁points": 3291, + "github": 3292, + "style": 3293, + "▁году": 3294, + "▁Dis": 3295, + "ponent": 3296, + "omet": 3297, + "zer": 3298, + "ULL": 3299, + "▁pa": 3300, + "AP": 3301, + "aces": 3302, + "▁United": 3303, + "ama": 3304, + "ety": 3305, + "Color": 3306, + "▁enough": 3307, + "US": 3308, + "▁length": 3309, + "());": 3310, + "^{\\": 3311, + "fty": 3312, + "Box": 3313, + "apter": 3314, + "▁complet": 3315, + "ник": 3316, + "max": 3317, + "object": 3318, + "({": 3319, + "imgur": 3320, + "itive": 3321, + "unch": 3322, + "▁Sub": 3323, + "ende": 3324, + "гу": 3325, + "ategory": 3326, + "ты": 3327, + "iano": 3328, + "▁upd": 3329, + "▁Aust": 3330, + "}{\\": 3331, + "top": 3332, + "las": 3333, + "pis": 3334, + "iness": 3335, + "▁{\r": 3336, + "▁Е": 3337, + "Gr": 3338, + "▁AS": 3339, + "▁ве": 3340, + "thers": 3341, + "▁defined": 3342, + "azione": 3343, + "▁offic": 3344, + "▁autom": 3345, + "ün": 3346, + "▁brow": 3347, + "▁serv": 3348, + "▁remove": 3349, + "iro": 3350, + "▁Bibli": 3351, + "ED": 3352, + "▁whole": 3353, + "▁ш": 3354, + "▁Java": 3355, + "▁zum": 3356, + "ua": 3357, + "pm": 3358, + "dev": 3359, + "кра": 3360, + "olds": 3361, + "▁War": 3362, + "än": 3363, + "pass": 3364, + "uz": 3365, + "[\"": 3366, + "▁tri": 3367, + "ised": 3368, + "ха": 3369, + "▁memory": 3370, + "▁Port": 3371, + "oper": 3372, + "Up": 3373, + "▁Thank": 3374, + "▁Mich": 3375, + "ych": 3376, + "board": 3377, + "бу": 3378, + "Inst": 3379, + "▁begin": 3380, + "ination": 3381, + "▁Mod": 3382, + "_,": 3383, + "▁Den": 3384, + "option": 3385, + "▁construct": 3386, + "▁Just": 3387, + "Map": 3388, + "run": 3389, + "▁respect": 3390, + "ham": 3391, + "ман": 3392, + "imedia": 3393, + "▁apply": 3394, + "cription": 3395, + "main": 3396, + "▁Ка": 3397, + "oid": 3398, + "Code": 3399, + "};": 3400, + "Info": 3401, + "▁format": 3402, + "Log": 3403, + "▁су": 3404, + "▁lat": 3405, + "utor": 3406, + "▁reference": 3407, + "▁calcul": 3408, + "onn": 3409, + "Lo": 3410, + "infty": 3411, + "▁along": 3412, + "▁č": 3413, + "▁task": 3414, + "▁ev": 3415, + "theta": 3416, + "ras": 3417, + "jor": 3418, + "▁бо": 3419, + "▁princip": 3420, + "My": 3421, + "▁einer": 3422, + "▁Es": 3423, + "omb": 3424, + "quad": 3425, + "^{-": 3426, + "ump": 3427, + "▁till": 3428, + "ді": 3429, + "▁looks": 3430, + "▁ok": 3431, + "ца": 3432, + "nu": 3433, + "Fil": 3434, + "▁sont": 3435, + "▁Med": 3436, + "ague": 3437, + "▁cost": 3438, + "▁Sim": 3439, + "▁comment": 3440, + "▁(\\": 3441, + "egen": 3442, + "▁parameter": 3443, + "▁France": 3444, + "rep": 3445, + "▁TH": 3446, + "▁yet": 3447, + "▁away": 3448, + "▁circ": 3449, + "▁API": 3450, + "emp": 3451, + "ві": 3452, + "Layout": 3453, + "▁lines": 3454, + "▁Part": 3455, + "empt": 3456, + "▁Bi": 3457, + "▁mind": 3458, + "ky": 3459, + "ging": 3460, + "▁report": 3461, + "▁Add": 3462, + "род": 3463, + "▁range": 3464, + "cias": 3465, + "lip": 3466, + "▁Kar": 3467, + "▁Commons": 3468, + "gerufen": 3469, + "aff": 3470, + "sec": 3471, + "▁html": 3472, + "lig": 3473, + "▁window": 3474, + "inition": 3475, + "cis": 3476, + "▁ut": 3477, + "eln": 3478, + "▁aux": 3479, + "▁neg": 3480, + "Hand": 3481, + "▁);": 3482, + "▁anal": 3483, + "▁fri": 3484, + "▁си": 3485, + "etch": 3486, + "md": 3487, + "page": 3488, + "▁library": 3489, + "▁:=": 3490, + "ROM": 3491, + "You": 3492, + "space": 3493, + "▁durch": 3494, + "▁host": 3495, + "aven": 3496, + "▁File": 3497, + "alle": 3498, + "тив": 3499, + "▁pap": 3500, + "ство": 3501, + "mark": 3502, + "▁mais": 3503, + "erman": 3504, + "Size": 3505, + "ек": 3506, + "▁Ма": 3507, + "▁isn": 3508, + "▁copy": 3509, + "sten": 3510, + "river": 3511, + "▁went": 3512, + "▁javascript": 3513, + "▁sam": 3514, + "▁frame": 3515, + "▁vi": 3516, + "▁previous": 3517, + "rodu": 3518, + "▁methods": 3519, + "▁necess": 3520, + "NA": 3521, + "cket": 3522, + "▁opt": 3523, + "Loc": 3524, + "how": 3525, + "▁în": 3526, + "ship": 3527, + "▁itself": 3528, + "▁Please": 3529, + "iene": 3530, + "вер": 3531, + "▁<<": 3532, + "▁mill": 3533, + "▁trad": 3534, + "pace": 3535, + "▁Har": 3536, + "iten": 3537, + "wise": 3538, + "write": 3539, + "ции": 3540, + "ры": 3541, + "Line": 3542, + "olo": 3543, + "▁accept": 3544, + "height": 3545, + "▁elect": 3546, + "ella": 3547, + "▁på": 3548, + "Select": 3549, + "▁ли": 3550, + "▁\\<": 3551, + "((": 3552, + "▁ID": 3553, + "ops": 3554, + "ван": 3555, + "ió": 3556, + "TP": 3557, + "»,": 3558, + "nection": 3559, + "parent": 3560, + "▁Mag": 3561, + "Table": 3562, + "Over": 3563, + "▁network": 3564, + "спо": 3565, + "▁assign": 3566, + "igger": 3567, + "irm": 3568, + ")`": 3569, + "ottom": 3570, + "beta": 3571, + "▁dell": 3572, + "▁body": 3573, + "▁да": 3574, + "▁Your": 3575, + "▁fue": 3576, + "▁package": 3577, + "▁light": 3578, + "▁**": 3579, + "MP": 3580, + "▁cou": 3581, + "yes": 3582, + ":\\": 3583, + "▁Ч": 3584, + "▁mention": 3585, + "ensch": 3586, + "▁deg": 3587, + "▁convert": 3588, + "▁Dav": 3589, + "adt": 3590, + "Result": 3591, + "though": 3592, + "▁bus": 3593, + "xy": 3594, + "▁seen": 3595, + "All": 3596, + "public": 3597, + "ively": 3598, + "▁Rec": 3599, + "▁His": 3600, + "sim": 3601, + "▁för": 3602, + "▁histor": 3603, + "▁sett": 3604, + "rat": 3605, + "abled": 3606, + "▁»,": 3607, + "google": 3608, + "Web": 3609, + "él": 3610, + "▁title": 3611, + "▁Janu": 3612, + "ја": 3613, + "▁took": 3614, + "iden": 3615, + "sz": 3616, + "▁Get": 3617, + "▁objects": 3618, + "▁common": 3619, + "▁changes": 3620, + "▁Lond": 3621, + "▁extern": 3622, + "▁ju": 3623, + "Is": 3624, + "▁available": 3625, + "tri": 3626, + "▁más": 3627, + "osa": 3628, + "Be": 3629, + "▁Data": 3630, + "ural": 3631, + "▁hom": 3632, + "▁account": 3633, + "oo": 3634, + "▁perm": 3635, + "respond": 3636, + "yt": 3637, + "▁send": 3638, + "▁returns": 3639, + "ivid": 3640, + "▁expla": 3641, + "ín": 3642, + "▁nor": 3643, + "If": 3644, + "▁From": 3645, + "▁target": 3646, + "fect": 3647, + "ент": 3648, + "▁uit": 3649, + "▁Jo": 3650, + "▁variables": 3651, + "▁series": 3652, + "▁func": 3653, + "▁himself": 3654, + "▁ча": 3655, + "anti": 3656, + "▁ach": 3657, + "ialog": 3658, + "▁std": 3659, + "ae": 3660, + "▁foot": 3661, + "▁unter": 3662, + "gress": 3663, + "Not": 3664, + "rad": 3665, + "fér": 3666, + "▁util": 3667, + "orem": 3668, + "▁sou": 3669, + "opt": 3670, + "▁og": 3671, + "▁uma": 3672, + "itar": 3673, + "▁Ok": 3674, + "ück": 3675, + "sqrt": 3676, + "▁ant": 3677, + "▁werden": 3678, + "år": 3679, + "});": 3680, + "▁Paris": 3681, + "▁exception": 3682, + "▁determ": 3683, + "▁Vol": 3684, + "▁Sam": 3685, + "▁ess": 3686, + "lies": 3687, + "ioni": 3688, + "oding": 3689, + "idget": 3690, + "▁pri": 3691, + "▁whether": 3692, + "▁под": 3693, + "▁numbers": 3694, + "▁~": 3695, + "event": 3696, + "▁shows": 3697, + "atures": 3698, + "▁house": 3699, + "▁face": 3700, + "▁się": 3701, + "vironment": 3702, + "van": 3703, + "▁including": 3704, + "▁<-": 3705, + "times": 3706, + "now": 3707, + "▁pur": 3708, + "ifier": 3709, + "▁emp": 3710, + "▁cla": 3711, + "mon": 3712, + "▁Das": 3713, + "ady": 3714, + "▁від": 3715, + "▁ц": 3716, + "abor": 3717, + "OST": 3718, + "▁band": 3719, + "▁ú": 3720, + "▁exactly": 3721, + "iert": 3722, + "avig": 3723, + "▁redu": 3724, + "▁SE": 3725, + "lished": 3726, + "Bu": 3727, + "Message": 3728, + "cell": 3729, + "fully": 3730, + "▁sv": 3731, + "▁makes": 3732, + "pol": 3733, + "▁required": 3734, + "ferrer": 3735, + "▁pers": 3736, + "▁mi": 3737, + "FI": 3738, + "▁Paul": 3739, + "▁UI": 3740, + "▁Bel": 3741, + "inc": 3742, + "▁contains": 3743, + "Out": 3744, + "asure": 3745, + "pu": 3746, + "oto": 3747, + "▁game": 3748, + "zn": 3749, + "▁Why": 3750, + "orith": 3751, + "big": 3752, + "кий": 3753, + "sigma": 3754, + "▁quite": 3755, + "▁jed": 3756, + "rec": 3757, + "▁SQL": 3758, + "бе": 3759, + "▁Mart": 3760, + "ya": 3761, + "▁school": 3762, + "▁simply": 3763, + "▁vor": 3764, + "▁double": 3765, + "рав": 3766, + "▁Str": 3767, + "iem": 3768, + "▁album": 3769, + "▁resol": 3770, + "▁dei": 3771, + "▁Wik": 3772, + "▁aw": 3773, + "umb": 3774, + "ols": 3775, + "▁*/": 3776, + "▁ze": 3777, + "▁anim": 3778, + "/>": 3779, + "ris": 3780, + "resh": 3781, + "No": 3782, + "iques": 3783, + "current": 3784, + "▁period": 3785, + "▁April": 3786, + "▁store": 3787, + "','": 3788, + "▁Set": 3789, + "={": 3790, + "ached": 3791, + "▁Mal": 3792, + "▁Pal": 3793, + "antes": 3794, + "aterial": 3795, + "▁worked": 3796, + "leq": 3797, + "oreferrer": 3798, + "▁happen": 3799, + "▁box": 3800, + "ney": 3801, + "▁close": 3802, + "▁gran": 3803, + "▁lie": 3804, + "▁ir": 3805, + "▁expected": 3806, + "▁для": 3807, + "click": 3808, + "și": 3809, + "▁parte": 3810, + "ogn": 3811, + "▁Form": 3812, + "▁memb": 3813, + "▁plan": 3814, + "▁team": 3815, + "][": 3816, + "▁commun": 3817, + "orry": 3818, + "ency": 3819, + "gl": 3820, + "inary": 3821, + "cdot": 3822, + "^\\": 3823, + "▁First": 3824, + "ander": 3825, + "▁Dec": 3826, + "request": 3827, + "ства": 3828, + "▁structure": 3829, + "▁||": 3830, + "▁Comp": 3831, + "actory": 3832, + "▁Mil": 3833, + "▁Some": 3834, + "Stream": 3835, + "▁assum": 3836, + "uen": 3837, + "▁words": 3838, + "▁September": 3839, + "▁Ко": 3840, + "▁days": 3841, + "ories": 3842, + "став": 3843, + "sm": 3844, + "vin": 3845, + "partial": 3846, + "▁parent": 3847, + "oj": 3848, + "нии": 3849, + "!\"": 3850, + "ugin": 3851, + "▁Windows": 3852, + "Ed": 3853, + ":}": 3854, + "▁q": 3855, + "▁ben": 3856, + "iana": 3857, + "▁label": 3858, + "state": 3859, + "uted": 3860, + "▁()": 3861, + "▁сво": 3862, + "▁edit": 3863, + "uring": 3864, + "▁NS": 3865, + "▁Jahr": 3866, + "▁provide": 3867, + "He": 3868, + "▁Yes": 3869, + "anel": 3870, + "ename": 3871, + "▁Don": 3872, + "isk": 3873, + "gra": 3874, + "elij": 3875, + "▁root": 3876, + "*/": 3877, + "▁Fre": 3878, + "▁Mor": 3879, + "used": 3880, + "range": 3881, + "▁tamb": 3882, + "▁module": 3883, + "▁directory": 3884, + "ounds": 3885, + "Activity": 3886, + "▁mu": 3887, + "info": 3888, + "▁free": 3889, + "orge": 3890, + "tab": 3891, + ")=": 3892, + "lang": 3893, + "▁ос": 3894, + "▁FROM": 3895, + "▁enter": 3896, + "▁became": 3897, + "idae": 3898, + "хи": 3899, + "▁States": 3900, + "verse": 3901, + "▁expl": 3902, + "ynt": 3903, + "UN": 3904, + "ee": 3905, + "endent": 3906, + "▁making": 3907, + "▁\"$": 3908, + "uni": 3909, + "quence": 3910, + "▁lui": 3911, + "HT": 3912, + "▁uses": 3913, + "zie": 3914, + "nia": 3915, + "Content": 3916, + "▁Count": 3917, + "▁standard": 3918, + "ENT": 3919, + "▁кон": 3920, + "fort": 3921, + "adas": 3922, + "зу": 3923, + "System": 3924, + "▁Sw": 3925, + "▁ever": 3926, + "LO": 3927, + "▁correspond": 3928, + "▁Po": 3929, + "argin": 3930, + "кт": 3931, + "ій": 3932, + "▁remain": 3933, + "cio": 3934, + "▁actual": 3935, + "сту": 3936, + "▁sind": 3937, + "▁Pe": 3938, + "▁changed": 3939, + "▁Note": 3940, + "skie": 3941, + "▁family": 3942, + "ità": 3943, + "cos": 3944, + "txt": 3945, + "ker": 3946, + "ceed": 3947, + "▁arr": 3948, + "▁cam": 3949, + "izer": 3950, + "▁Dan": 3951, + "hel": 3952, + "icult": 3953, + "HP": 3954, + "iler": 3955, + "▁Sal": 3956, + "▁connection": 3957, + "usion": 3958, + "kn": 3959, + "RI": 3960, + "▁vom": 3961, + "Listener": 3962, + "▁ö": 3963, + "▁dim": 3964, + "▁press": 3965, + "▁esc": 3966, + "▁Try": 3967, + "atalog": 3968, + "▁thanks": 3969, + "DO": 3970, + "▁written": 3971, + "dir": 3972, + "rew": 3973, + "▁fire": 3974, + "▁Nach": 3975, + "▁á": 3976, + "enc": 3977, + "▁origin": 3978, + "▁November": 3979, + "▁};": 3980, + "Count": 3981, + "▁За": 3982, + "▁graph": 3983, + "▁mis": 3984, + "▁External": 3985, + "▁▁▁▁▁▁▁▁▁": 3986, + "▁options": 3987, + "▁URL": 3988, + "▁php": 3989, + "▁integr": 3990, + "Config": 3991, + "▁Text": 3992, + "inner": 3993, + "▁crit": 3994, + ",”": 3995, + "▁tog": 3996, + "$$": 3997, + "nof": 3998, + "▁ses": 3999, + "ühr": 4000, + "▁Since": 4001, + "Des": 4002, + "ube": 4003, + "▁section": 4004, + "▁gi": 4005, + "ford": 4006, + "▁Ass": 4007, + "ainer": 4008, + "ttp": 4009, + "▁behav": 4010, + "ports": 4011, + "draw": 4012, + "This": 4013, + "ranch": 4014, + "inding": 4015, + "▁estab": 4016, + "▁obtain": 4017, + "rich": 4018, + "licit": 4019, + "ев": 4020, + "▁qual": 4021, + "▁za": 4022, + "▁har": 4023, + "▁fac": 4024, + "aar": 4025, + "jet": 4026, + "icles": 4027, + "▁Aus": 4028, + "▁hor": 4029, + "▁remov": 4030, + "▁wie": 4031, + "Client": 4032, + "▁natur": 4033, + "hip": 4034, + "Sub": 4035, + "▁random": 4036, + "DF": 4037, + "▁area": 4038, + "tag": 4039, + "Pr": 4040, + "▁Ital": 4041, + "▁roku": 4042, + "nofollow": 4043, + "*}": 4044, + "▁others": 4045, + "▁limit": 4046, + "▁sil": 4047, + "▁sav": 4048, + "▁often": 4049, + "▁render": 4050, + "DB": 4051, + "▁Mc": 4052, + "▁zijn": 4053, + "жен": 4054, + "▁tag": 4055, + "ming": 4056, + "lichen": 4057, + "pack": 4058, + "▁Ag": 4059, + "▁sense": 4060, + "pg": 4061, + "Method": 4062, + "aged": 4063, + "ág": 4064, + "ła": 4065, + "▁interest": 4066, + "▁associ": 4067, + "volution": 4068, + "▁empty": 4069, + "iche": 4070, + "▁gro": 4071, + "▁types": 4072, + "▁Sie": 4073, + "Inter": 4074, + "▁noreferrer": 4075, + "▁gives": 4076, + "hal": 4077, + "▁save": 4078, + "▁font": 4079, + "ruction": 4080, + "Script": 4081, + "▁alla": 4082, + "▁says": 4083, + "▁fu": 4084, + "ape": 4085, + "▁language": 4086, + "iger": 4087, + "▁King": 4088, + "bor": 4089, + "uv": 4090, + "▁shall": 4091, + "▁Europe": 4092, + "▁einem": 4093, + "▁water": 4094, + "▁govern": 4095, + "anz": 4096, + "ators": 4097, + "▁month": 4098, + "ye": 4099, + "▁important": 4100, + "atz": 4101, + "first": 4102, + "▁Trans": 4103, + "▁Mad": 4104, + "▁bra": 4105, + "ika": 4106, + "▁Saint": 4107, + "oria": 4108, + "kre": 4109, + "ements": 4110, + "▁Ben": 4111, + "lav": 4112, + "▁admin": 4113, + "▁Hen": 4114, + "ril": 4115, + "▁Sm": 4116, + "cat": 4117, + "▁Refer": 4118, + "▁Ш": 4119, + "▁pract": 4120, + "▁Pat": 4121, + "▁Gre": 4122, + "▁young": 4123, + "▁Inter": 4124, + "oma": 4125, + "teger": 4126, + "ibility": 4127, + "▁parameters": 4128, + "▁everything": 4129, + "dat": 4130, + "urop": 4131, + "olean": 4132, + "▁returned": 4133, + "▁Class": 4134, + "acy": 4135, + "####": 4136, + "▁př": 4137, + "▁folder": 4138, + "▁kon": 4139, + "▁guess": 4140, + "gt": 4141, + "jen": 4142, + "annel": 4143, + "icon": 4144, + "▁comb": 4145, + "rict": 4146, + "▁hij": 4147, + "▁author": 4148, + "see": 4149, + "here": 4150, + "stra": 4151, + "▁entire": 4152, + "▁directly": 4153, + "raft": 4154, + "heet": 4155, + "ester": 4156, + "▁ми": 4157, + "▁mass": 4158, + "untu": 4159, + "▁users": 4160, + "chi": 4161, + "PE": 4162, + "▁component": 4163, + "Click": 4164, + "Att": 4165, + "▁sobre": 4166, + "ands": 4167, + "▁Hol": 4168, + "▁Sant": 4169, + "ori": 4170, + "▁sua": 4171, + "std": 4172, + "entic": 4173, + "CC": 4174, + "▁filter": 4175, + "SQL": 4176, + "▁God": 4177, + "At": 4178, + "▁му": 4179, + "▁performance": 4180, + "delta": 4181, + "ande": 4182, + "amer": 4183, + "ды": 4184, + "▁cult": 4185, + "▁Nor": 4186, + "but": 4187, + "▁lik": 4188, + "********": 4189, + "ствен": 4190, + "▁comme": 4191, + "▁dr": 4192, + "imer": 4193, + "ordin": 4194, + "▁condition": 4195, + "este": 4196, + "([": 4197, + "FF": 4198, + "ться": 4199, + "imo": 4200, + "rab": 4201, + "іль": 4202, + "▁half": 4203, + "each": 4204, + "Dis": 4205, + "▁rows": 4206, + "▁hon": 4207, + "▁together": 4208, + "▁și": 4209, + "medi": 4210, + "agn": 4211, + "alled": 4212, + "▁vill": 4213, + "ING": 4214, + "idden": 4215, + "▁draw": 4216, + "yntax": 4217, + "▁attempt": 4218, + "URL": 4219, + "pose": 4220, + "▁indic": 4221, + "ника": 4222, + "▁English": 4223, + "▁déc": 4224, + "▁needs": 4225, + "▁normal": 4226, + "urt": 4227, + "▁но": 4228, + "}}\\": 4229, + "last": 4230, + "▁Fin": 4231, + "▁Febru": 4232, + "ila": 4233, + "▁country": 4234, + "▁fields": 4235, + "▁max": 4236, + "lés": 4237, + "owie": 4238, + "▁deux": 4239, + "▁built": 4240, + "▁Main": 4241, + "▁camp": 4242, + "ivo": 4243, + "iva": 4244, + "icy": 4245, + "zione": 4246, + "Node": 4247, + "▁:)": 4248, + "▁among": 4249, + "▁Ob": 4250, + "▁cases": 4251, + "haps": 4252, + "sers": 4253, + "arter": 4254, + "ści": 4255, + "▁iter": 4256, + "▁named": 4257, + "exec": 4258, + "▁season": 4259, + "tot": 4260, + "=>": 4261, + "graph": 4262, + "▁nil": 4263, + "acional": 4264, + "▁NULL": 4265, + "▁special": 4266, + "сте": 4267, + "css": 4268, + "▁\\(": 4269, + "vs": 4270, + "ael": 4271, + "▁city": 4272, + "ova": 4273, + "▁article": 4274, + "▁South": 4275, + "Action": 4276, + "ça": 4277, + "spring": 4278, + "itude": 4279, + "▁complex": 4280, + "▁что": 4281, + "build": 4282, + "gamma": 4283, + "▁Ent": 4284, + "iers": 4285, + "'.": 4286, + "car": 4287, + "apache": 4288, + "ingen": 4289, + "Input": 4290, + ": ": 4291, + "▁dynam": 4292, + "alls": 4293, + "show": 4294, + "|\\": 4295, + "▁wird": 4296, + "Bar": 4297, + "alth": 4298, + "model": 4299, + "Trans": 4300, + "Row": 4301, + "abe": 4302, + "▁lib": 4303, + "null": 4304, + "ragment": 4305, + "▁State": 4306, + "▁law": 4307, + "Frame": 4308, + "▁Lo": 4309, + "geb": 4310, + "}$.": 4311, + "▁needed": 4312, + "▁contr": 4313, + "aries": 4314, + "▁screen": 4315, + "yr": 4316, + "mm": 4317, + "▁shown": 4318, + "▁bad": 4319, + "▁cast": 4320, + "▁Test": 4321, + "▁Auf": 4322, + "▁quant": 4323, + "iga": 4324, + "▁ren": 4325, + "▁Mac": 4326, + "▁transform": 4327, + "▁difference": 4328, + "▁tit": 4329, + "TE": 4330, + "▁step": 4331, + "▁capt": 4332, + "▁collection": 4333, + "ictionary": 4334, + "▁Tom": 4335, + "rier": 4336, + "▁move": 4337, + "cope": 4338, + "ords": 4339, + "▁further": 4340, + "▁columns": 4341, + "▁Lin": 4342, + "▁fixed": 4343, + "▁children": 4344, + "MS": 4345, + "mo": 4346, + "una": 4347, + "▁individ": 4348, + "tty": 4349, + "aste": 4350, + "src": 4351, + "match": 4352, + "wi": 4353, + "▁х": 4354, + "▁ди": 4355, + "▁ord": 4356, + "iving": 4357, + "▁Bro": 4358, + "▁almost": 4359, + "▁Pres": 4360, + "reci": 4361, + "aring": 4362, + "▁///": 4363, + "ется": 4364, + "▁sig": 4365, + "light": 4366, + "▁Red": 4367, + "▁suggest": 4368, + "olf": 4369, + "▁été": 4370, + "isation": 4371, + "зна": 4372, + "New": 4373, + "стан": 4374, + "LA": 4375, + "unicip": 4376, + "▁figure": 4377, + "mt": 4378, + "iale": 4379, + "▁catch": 4380, + "default": 4381, + "▁tele": 4382, + "▁matter": 4383, + "cast": 4384, + "▁Rich": 4385, + "▁handle": 4386, + "valu": 4387, + "$-": 4388, + "об": 4389, + "▁json": 4390, + "Create": 4391, + "▁exam": 4392, + "аль": 4393, + "ют": 4394, + "ored": 4395, + "idos": 4396, + "append": 4397, + "▁Array": 4398, + "кс": 4399, + "}[": 4400, + "rive": 4401, + "▁club": 4402, + "mann": 4403, + "▁este": 4404, + "esta": 4405, + "▁Gi": 4406, + "▁Jap": 4407, + "▁Name": 4408, + "Column": 4409, + "oups": 4410, + "ismo": 4411, + "▁City": 4412, + "▁classes": 4413, + "▁infl": 4414, + "hl": 4415, + "ром": 4416, + "▁adding": 4417, + "▁fail": 4418, + "xx": 4419, + "ões": 4420, + "Sc": 4421, + "util": 4422, + "▁location": 4423, + "lege": 4424, + "ago": 4425, + "▁properties": 4426, + "abil": 4427, + "vas": 4428, + "}$,": 4429, + "itted": 4430, + "ód": 4431, + "▁Dem": 4432, + "▁asked": 4433, + "▁tab": 4434, + "Source": 4435, + "▁errors": 4436, + "ographie": 4437, + "▁жи": 4438, + "▁mal": 4439, + "stract": 4440, + "▁dro": 4441, + "rak": 4442, + "▁note": 4443, + "▁setting": 4444, + "▁fem": 4445, + "▁saw": 4446, + "iar": 4447, + "HER": 4448, + "ес": 4449, + "▁pred": 4450, + "▁Out": 4451, + "▁items": 4452, + "лан": 4453, + "▁werd": 4454, + "ersion": 4455, + "lia": 4456, + "▁sin": 4457, + "ichte": 4458, + "▁feel": 4459, + "▁пра": 4460, + "▁oder": 4461, + "UE": 4462, + "ocument": 4463, + "▁mode": 4464, + "▁Na": 4465, + "ден": 4466, + "mes": 4467, + "framework": 4468, + "▁auto": 4469, + "ным": 4470, + "uby": 4471, + "▁template": 4472, + "▁mess": 4473, + "ieder": 4474, + "▁related": 4475, + "oken": 4476, + "▁follows": 4477, + "search": 4478, + "ami": 4479, + "▁wait": 4480, + "igr": 4481, + "▁low": 4482, + "ских": 4483, + "ская": 4484, + "▁Mark": 4485, + "▁ill": 4486, + "amento": 4487, + "\\<": 4488, + "▁df": 4489, + "osition": 4490, + "▁Ви": 4491, + "isf": 4492, + "▁Deutsch": 4493, + "ahl": 4494, + "war": 4495, + "itect": 4496, + "▁sal": 4497, + "elen": 4498, + "ById": 4499, + "▁gru": 4500, + "sv": 4501, + "▁passed": 4502, + "▁añ": 4503, + "Sch": 4504, + "▁solve": 4505, + "weise": 4506, + "atos": 4507, + "▁meg": 4508, + "▁member": 4509, + "ername": 4510, + "▁connect": 4511, + "ips": 4512, + "▁round": 4513, + "▁]": 4514, + "nes": 4515, + "▁dir": 4516, + "▁London": 4517, + "dy": 4518, + "FA": 4519, + "▁received": 4520, + "reet": 4521, + "▁Log": 4522, + "▁School": 4523, + "ango": 4524, + "▁These": 4525, + "▁Mont": 4526, + "▁ener": 4527, + "lad": 4528, + "▁define": 4529, + "sign": 4530, + "▁cle": 4531, + "figure": 4532, + "▁View": 4533, + "textbf": 4534, + "$\\": 4535, + "зы": 4536, + "number": 4537, + "▁din": 4538, + "eller": 4539, + "orithm": 4540, + "false": 4541, + "fol": 4542, + "fficient": 4543, + "▁HTML": 4544, + "liche": 4545, + "▁Mo": 4546, + "▁introdu": 4547, + "exp": 4548, + "▁strong": 4549, + "▁thus": 4550, + "/)": 4551, + "▁ele": 4552, + "▁так": 4553, + "▁па": 4554, + "▁dont": 4555, + "▁cause": 4556, + "Number": 4557, + "▁images": 4558, + "▁sample": 4559, + "▁sci": 4560, + "like": 4561, + "▁Lou": 4562, + "div": 4563, + "anc": 4564, + "▁front": 4565, + "nen": 4566, + "▁missing": 4567, + "aria": 4568, + "pres": 4569, + "▁пред": 4570, + "DI": 4571, + "filter": 4572, + "▁Mit": 4573, + "UR": 4574, + "▁opp": 4575, + "▁sql": 4576, + "▁року": 4577, + "eren": 4578, + "emat": 4579, + "ís": 4580, + "▁Jean": 4581, + "éc": 4582, + "▁ci": 4583, + "enne": 4584, + "atform": 4585, + "▁taken": 4586, + "▁Of": 4587, + "▁насе": 4588, + "▁err": 4589, + "OP": 4590, + "From": 4591, + "Default": 4592, + "▁General": 4593, + "wiki": 4594, + "▁grand": 4595, + "▁einen": 4596, + "Reg": 4597, + "Handler": 4598, + "conom": 4599, + "anger": 4600, + "▁был": 4601, + "▁Los": 4602, + "▁expression": 4603, + "ша": 4604, + "yal": 4605, + "▁$('": 4606, + "▁switch": 4607, + "▁vector": 4608, + "▁Thom": 4609, + "▁virt": 4610, + "leased": 4611, + "▁cover": 4612, + "▁resp": 4613, + "ako": 4614, + "rench": 4615, + "ota": 4616, + "Cell": 4617, + "anged": 4618, + "▁+=": 4619, + "lac": 4620, + "ska": 4621, + "next": 4622, + "▁International": 4623, + "▁Wil": 4624, + "▁ont": 4625, + "ibr": 4626, + "ustr": 4627, + "▁black": 4628, + "▁selected": 4629, + "cher": 4630, + "▁liter": 4631, + "root": 4632, + "лся": 4633, + "▁Life": 4634, + "▁insert": 4635, + "▁matrix": 4636, + "ises": 4637, + ")]": 4638, + "▁pel": 4639, + "Override": 4640, + "rypt": 4641, + "▁former": 4642, + "▁Film": 4643, + "▁North": 4644, + "client": 4645, + "▁night": 4646, + "ходи": 4647, + "▁Austral": 4648, + "▁Ret": 4649, + "rho": 4650, + "▁пер": 4651, + "ipedia": 4652, + "▁express": 4653, + "▁third": 4654, + "▁major": 4655, + "▁grad": 4656, + "owe": 4657, + "▁believe": 4658, + "ournal": 4659, + "▁status": 4660, + "unc": 4661, + "▁dou": 4662, + "▁JSON": 4663, + "uis": 4664, + "▁population": 4665, + "enz": 4666, + "▁William": 4667, + "sf": 4668, + "▁Object": 4669, + "▁cin": 4670, + "▁Di": 4671, + "curity": 4672, + "▁Open": 4673, + "▁ле": 4674, + "lar": 4675, + "adding": 4676, + "▁kom": 4677, + "}(\\": 4678, + "▁kil": 4679, + "umer": 4680, + "\"/>": 4681, + "▁feature": 4682, + "▁Are": 4683, + "cks": 4684, + "▁Internet": 4685, + "▁ih": 4686, + "▁started": 4687, + "▁early": 4688, + "▁began": 4689, + "TH": 4690, + "python": 4691, + "asp": 4692, + "▁Fr": 4693, + "▁clos": 4694, + "istic": 4695, + "▁music": 4696, + "▁dig": 4697, + "▁ital": 4698, + "▁David": 4699, + "▁website": 4700, + "▁controller": 4701, + "▁Mer": 4702, + "context": 4703, + "product": 4704, + "osp": 4705, + "▁▁▁▁▁▁▁": 4706, + "▁jun": 4707, + "rown": 4708, + "▁Az": 4709, + "\":\"": 4710, + "▁aan": 4711, + "▁Date": 4712, + "mult": 4713, + "▁browser": 4714, + "ред": 4715, + "which": 4716, + "RA": 4717, + "quare": 4718, + "▁Russ": 4719, + "▁soon": 4720, + "▁Pre": 4721, + "tau": 4722, + "▁week": 4723, + "▁ба": 4724, + "▁oct": 4725, + "▁town": 4726, + "roy": 4727, + "▁els": 4728, + "blic": 4729, + "undle": 4730, + "▁Histor": 4731, + "▁foi": 4732, + "▁models": 4733, + "зо": 4734, + "onym": 4735, + "Param": 4736, + "▁Met": 4737, + "gener": 4738, + "ją": 4739, + "▁espe": 4740, + "CE": 4741, + "▁device": 4742, + "ellow": 4743, + "▁debug": 4744, + "érie": 4745, + "using": 4746, + "анг": 4747, + "▁*)": 4748, + "udi": 4749, + "▁Miss": 4750, + "ком": 4751, + "posed": 4752, + "▁zwe": 4753, + "ін": 4754, + "▁Robert": 4755, + "▁Oct": 4756, + "lop": 4757, + "jar": 4758, + "▁aver": 4759, + "▁habit": 4760, + "▁::": 4761, + "äng": 4762, + "Start": 4763, + "▁pow": 4764, + "▁src": 4765, + "▁pattern": 4766, + "▁Э": 4767, + "▁bi": 4768, + "otes": 4769, + "▁__": 4770, + "▁sens": 4771, + "▁avoid": 4772, + "example": 4773, + "utt": 4774, + "Label": 4775, + "tex": 4776, + "boot": 4777, + "esto": 4778, + "▁March": 4779, + "▁easy": 4780, + "icture": 4781, + "Group": 4782, + "▁father": 4783, + "▁updated": 4784, + "▁Vo": 4785, + "▁III": 4786, + "omega": 4787, + "▁alle": 4788, + "Rec": 4789, + "yg": 4790, + "зе": 4791, + "▁Dim": 4792, + "nect": 4793, + "▁Tor": 4794, + "▁deutsch": 4795, + "▁white": 4796, + "▁national": 4797, + "ppe": 4798, + "▁air": 4799, + "▁password": 4800, + "det": 4801, + "▁big": 4802, + "▁Use": 4803, + "call": 4804, + "▁extra": 4805, + "We": 4806, + "ania": 4807, + "▁hold": 4808, + "Control": 4809, + "▁CO": 4810, + "▁мі": 4811, + "iti": 4812, + "▁Ke": 4813, + "enu": 4814, + "▁Park": 4815, + "том": 4816, + "▁auth": 4817, + "▁center": 4818, + "Ph": 4819, + "тов": 4820, + "iding": 4821, + "▁across": 4822, + "▁song": 4823, + "▁phys": 4824, + "▁numer": 4825, + "ща": 4826, + "▁Alex": 4827, + "▁problems": 4828, + "▁Error": 4829, + "format": 4830, + "▁Acc": 4831, + "▁six": 4832, + "▁db": 4833, + "▁Cast": 4834, + "oms": 4835, + "project": 4836, + "▁vert": 4837, + "cret": 4838, + "▁header": 4839, + "▁stream": 4840, + "ids": 4841, + "▁tor": 4842, + "▁sept": 4843, + "▁estim": 4844, + "▁decl": 4845, + "▁gave": 4846, + "▁player": 4847, + "ysis": 4848, + "▁дру": 4849, + "amm": 4850, + "що": 4851, + "▁(\"": 4852, + "▁ax": 4853, + "Property": 4854, + "usr": 4855, + "▁someone": 4856, + "▁impro": 4857, + "aden": 4858, + "rote": 4859, + "▁Ми": 4860, + "ih": 4861, + "++)": 4862, + "▁video": 4863, + "▁exists": 4864, + "кла": 4865, + "▁complete": 4866, + "▁session": 4867, + "▁constant": 4868, + "icos": 4869, + "▁pack": 4870, + "rome": 4871, + "egr": 4872, + "Application": 4873, + "▁yes": 4874, + "▁elle": 4875, + "▁email": 4876, + "orf": 4877, + "case": 4878, + "▁pointer": 4879, + "▁regard": 4880, + "sen": 4881, + "status": 4882, + "▁mes": 4883, + "▁delle": 4884, + "ington": 4885, + "▁Bas": 4886, + ")^": 4887, + "develop": 4888, + "▁force": 4889, + "▁characters": 4890, + "▁cross": 4891, + "▁death": 4892, + "▁takes": 4893, + "éri": 4894, + "igne": 4895, + "чен": 4896, + "UP": 4897, + ".:": 4898, + "Thread": 4899, + "ju": 4900, + "iny": 4901, + "▁details": 4902, + "▁xml": 4903, + "tait": 4904, + "output": 4905, + "message": 4906, + "''": 4907, + "▁British": 4908, + "ville": 4909, + "▁Div": 4910, + "▁User": 4911, + "cm": 4912, + "чно": 4913, + "column": 4914, + "eqref": 4915, + "ór": 4916, + "onom": 4917, + "▁Post": 4918, + "ellen": 4919, + "Ab": 4920, + "ulté": 4921, + "▁perfect": 4922, + "(){": 4923, + "vision": 4924, + "active": 4925, + "lier": 4926, + "rij": 4927, + "sd": 4928, + "▁kö": 4929, + "▁nie": 4930, + "▁relig": 4931, + "▁ot": 4932, + "▁machine": 4933, + "▁held": 4934, + ")$.": 4935, + "========": 4936, + "cker": 4937, + "вы": 4938, + "born": 4939, + "▁past": 4940, + "рия": 4941, + "▁Dr": 4942, + "▁regular": 4943, + "▁provided": 4944, + "TER": 4945, + "▁univers": 4946, + "▁gets": 4947, + "▁nu": 4948, + "▁/*": 4949, + "ober": 4950, + "fin": 4951, + "▁nella": 4952, + "▁become": 4953, + "▁``": 4954, + "▁history": 4955, + "▁Sol": 4956, + "▁Rad": 4957, + "▁terms": 4958, + "▁events": 4959, + "lymp": 4960, + ")))": 4961, + "рова": 4962, + "▁absol": 4963, + "▁soft": 4964, + "links": 4965, + "▁hope": 4966, + "▁subject": 4967, + "\"),": 4968, + "▁creating": 4969, + "▁}\r": 4970, + "▁Sk": 4971, + "▁flow": 4972, + "▁Ра": 4973, + "▁assert": 4974, + "zet": 4975, + "▁Frank": 4976, + "sa": 4977, + "▁distribution": 4978, + "cu": 4979, + "band": 4980, + "izz": 4981, + "▁job": 4982, + "iner": 4983, + "struct": 4984, + "ák": 4985, + "TO": 4986, + "auf": 4987, + "▁extends": 4988, + "▁Gra": 4989, + "display": 4990, + "▁signific": 4991, + "oney": 4992, + "source": 4993, + "microsoft": 4994, + "inder": 4995, + "▁quick": 4996, + "▁wonder": 4997, + "Instance": 4998, + "elles": 4999, + "ème": 5000, + "▁company": 5001, + "uß": 5002, + ".}": 5003, + "▁separate": 5004, + "UM": 5005, + "HERE": 5006, + "▁writing": 5007, + "itution": 5008, + "▁Gesch": 5009, + "мя": 5010, + "▁James": 5011, + "▁DE": 5012, + "▁Spe": 5013, + "process": 5014, + "Str": 5015, + "▁sym": 5016, + "▁ao": 5017, + "▁wy": 5018, + "▁anyone": 5019, + "▁Up": 5020, + "useum": 5021, + "aron": 5022, + "▁definition": 5023, + "▁`$": 5024, + "▁fav": 5025, + "ributes": 5026, + "▁Ré": 5027, + "ografia": 5028, + "element": 5029, + "cap": 5030, + "pat": 5031, + "▁Bra": 5032, + ")(": 5033, + "▁according": 5034, + "ге": 5035, + "▁pie": 5036, + "eli": 5037, + "}\"": 5038, + "▁activ": 5039, + "▁stop": 5040, + "patch": 5041, + "ті": 5042, + "▁Jose": 5043, + "End": 5044, + "▁prze": 5045, + "▁age": 5046, + "itory": 5047, + "▁PHP": 5048, + "agement": 5049, + "▁`.": 5050, + "▁pretty": 5051, + "▁recomm": 5052, + "▁sud": 5053, + "▁requ": 5054, + "▁обла": 5055, + "atives": 5056, + "▁High": 5057, + "áz": 5058, + "oul": 5059, + "rest": 5060, + "▁Ter": 5061, + "under": 5062, + "thern": 5063, + "center": 5064, + "▁ur": 5065, + "lat": 5066, + "▁interface": 5067, + "▁ин": 5068, + "▁whose": 5069, + "icas": 5070, + "amen": 5071, + "Filter": 5072, + "▁station": 5073, + "Page": 5074, + "▁arm": 5075, + "▁eyes": 5076, + "▁рай": 5077, + "▁seu": 5078, + "oli": 5079, + "win": 5080, + "lik": 5081, + "gex": 5082, + "chan": 5083, + "idence": 5084, + "args": 5085, + "aking": 5086, + "▁Google": 5087, + "▁Stud": 5088, + "▁ho": 5089, + "торы": 5090, + "Su": 5091, + "▁automat": 5092, + "ême": 5093, + "▁cy": 5094, + "lor": 5095, + "▁stack": 5096, + "▁SELECT": 5097, + "AF": 5098, + "▁>>": 5099, + "▁compet": 5100, + "▁pair": 5101, + "▁inglés": 5102, + "Response": 5103, + "▁Fig": 5104, + "grad": 5105, + "▁documentation": 5106, + "▁cant": 5107, + "▁appreci": 5108, + "ån": 5109, + "▁learn": 5110, + "▁indep": 5111, + "▁pal": 5112, + "package": 5113, + "ares": 5114, + "▁Berlin": 5115, + "бли": 5116, + "reich": 5117, + "ён": 5118, + "▁satisf": 5119, + "▁region": 5120, + "▁friend": 5121, + "▁George": 5122, + "▁Во": 5123, + "▁\"\"": 5124, + "▁desde": 5125, + "Factory": 5126, + "▁County": 5127, + "ouv": 5128, + "▁‘": 5129, + "▁installed": 5130, + "▁wanted": 5131, + "▁Python": 5132, + "▁interpre": 5133, + "▁included": 5134, + "▁((": 5135, + "▁altern": 5136, + "isto": 5137, + "gn": 5138, + "▁border": 5139, + "pdf": 5140, + "▁dup": 5141, + "▁download": 5142, + "just": 5143, + "▁members": 5144, + "child": 5145, + "▁pay": 5146, + "▁cer": 5147, + "▁looked": 5148, + "▁correctly": 5149, + "auth": 5150, + "▁стан": 5151, + "▁esp": 5152, + "▁desc": 5153, + "eben": 5154, + "▁questions": 5155, + "mal": 5156, + "▁abgerufen": 5157, + "▁Band": 5158, + "▁[]": 5159, + "Base": 5160, + "▁ris": 5161, + "▁fort": 5162, + "▁Id": 5163, + "▁various": 5164, + "▁League": 5165, + "▁Hand": 5166, + "▁Type": 5167, + "irl": 5168, + "▁Fe": 5169, + "ién": 5170, + "itter": 5171, + "▁fast": 5172, + "sta": 5173, + "▁except": 5174, + "icz": 5175, + "▁French": 5176, + "▁environment": 5177, + "▁conse": 5178, + "ур": 5179, + "ого": 5180, + "▁necessary": 5181, + "target": 5182, + "▁reading": 5183, + "home": 5184, + "zeich": 5185, + "▁equal": 5186, + "▁più": 5187, + "▁prem": 5188, + "▁difficult": 5189, + "▁unit": 5190, + "▁replace": 5191, + "▁heart": 5192, + "▁talk": 5193, + "AM": 5194, + "▁RE": 5195, + "▁Person": 5196, + "endency": 5197, + "▁imm": 5198, + "▁human": 5199, + "dn": 5200, + "▁Kir": 5201, + "▁Aut": 5202, + "known": 5203, + "▁frequ": 5204, + "system": 5205, + "лав": 5206, + "▁Sz": 5207, + "▁Gal": 5208, + "ное": 5209, + "selves": 5210, + "rightarrow": 5211, + "▁Са": 5212, + "=\"@": 5213, + "▁building": 5214, + "import": 5215, + "▁fam": 5216, + "▁delete": 5217, + "aire": 5218, + "mary": 5219, + "▁fund": 5220, + "▁particip": 5221, + "▁syn": 5222, + "sin": 5223, + "▁lower": 5224, + "▁zero": 5225, + "▁sec": 5226, + "▁fra": 5227, + "Point": 5228, + "▁failed": 5229, + "iento": 5230, + "cup": 5231, + "▁slow": 5232, + "▁nation": 5233, + "ähr": 5234, + "▁info": 5235, + "▁Public": 5236, + "▁decla": 5237, + "▁Та": 5238, + "▁sold": 5239, + "▁Rem": 5240, + "▁Phil": 5241, + "стра": 5242, + "▁mehr": 5243, + "▁Work": 5244, + "▁Nord": 5245, + "▁fait": 5246, + "▁gew": 5247, + "println": 5248, + "obile": 5249, + "▁Kon": 5250, + "▁assume": 5251, + "lands": 5252, + "▁amount": 5253, + "▁Press": 5254, + "ých": 5255, + "▁maxim": 5256, + "▁Champion": 5257, + "library": 5258, + "añ": 5259, + "▁Wal": 5260, + "Comm": 5261, + "]]": 5262, + "▁zw": 5263, + "▁social": 5264, + "LI": 5265, + "▁Unter": 5266, + "vor": 5267, + "Delta": 5268, + "email": 5269, + "raint": 5270, + "oni": 5271, + "▁alt": 5272, + "▁né": 5273, + "ция": 5274, + "ography": 5275, + "▁mentioned": 5276, + "▁<=": 5277, + "▁cette": 5278, + "▁currently": 5279, + "vare": 5280, + "izing": 5281, + "▁Def": 5282, + "icol": 5283, + "ünd": 5284, + "▁configuration": 5285, + "estig": 5286, + "III": 5287, + "lam": 5288, + "ière": 5289, + "▁Ear": 5290, + "▁tu": 5291, + "Ent": 5292, + "▁Using": 5293, + "▁ком": 5294, + "cie": 5295, + "▁proof": 5296, + "▁invol": 5297, + "▁History": 5298, + "><": 5299, + "▁AND": 5300, + "avy": 5301, + "▁relations": 5302, + "${": 5303, + "▁comes": 5304, + "▁direction": 5305, + "▁June": 5306, + "▁Way": 5307, + "Component": 5308, + "ech": 5309, + "▁Peter": 5310, + "sg": 5311, + "▁stra": 5312, + "uct": 5313, + "▁implementation": 5314, + "attle": 5315, + "▁cz": 5316, + "plot": 5317, + "▁played": 5318, + "\">(": 5961, + "▁ground": 5962, + "unn": 5963, + "rod": 5964, + "spe": 5965, + "ursor": 5966, + "▁leave": 5967, + "erk": 5968, + "▁tal": 5969, + "▁bottom": 5970, + "IO": 5971, + "▁popular": 5972, + "igo": 5973, + "▁Time": 5974, + "values": 5975, + "▁Loc": 5976, + "▁Club": 5977, + "▁anche": 5978, + "iał": 5979, + "ії": 5980, + "Omega": 5981, + "▁located": 5982, + "Url": 5983, + "▁Esp": 5984, + "лы": 5985, + "ць": 5986, + "ulate": 5987, + "▁join": 5988, + "aves": 5989, + "vet": 5990, + "lio": 5991, + "remove": 5992, + "▁token": 5993, + "▁optim": 5994, + "▁claim": 5995, + "ological": 5996, + "▁css": 5997, + "▁although": 5998, + "▁priv": 5999, + "▁Ba": 6000, + "ül": 6001, + "entication": 6002, + "▁ven": 6003, + "Server": 6004, + "▁Cong": 6005, + "NET": 6006, + "CON": 6007, + "dt": 6008, + "perties": 6009, + "▁epis": 6010, + "wikipedia": 6011, + "▁engine": 6012, + "▁fer": 6013, + "getElement": 6014, + "▁Cla": 6015, + "ří": 6016, + "▁rom": 6017, + "varepsilon": 6018, + "▁prime": 6019, + "istry": 6020, + "pected": 6021, + "orage": 6022, + "▁touch": 6023, + "▁['": 6024, + "▁dan": 6025, + "Em": 6026, + "aciones": 6027, + "Can": 6028, + "▁whom": 6029, + "▁behavior": 6030, + "▁strings": 6031, + "▁Europ": 6032, + "▁Rom": 6033, + "circ": 6034, + "▁pun": 6035, + "▁register": 6036, + "buntu": 6037, + "rain": 6038, + "Ob": 6039, + "TA": 6040, + "▁sometimes": 6041, + "▁ment": 6042, + "▁integer": 6043, + "▁Jac": 6044, + "legate": 6045, + "othing": 6046, + "▁sound": 6047, + "laces": 6048, + "▁Ба": 6049, + "rb": 6050, + "di": 6051, + "ления": 6052, + "▁themselves": 6053, + "▁Black": 6054, + "▁settings": 6055, + "▁norm": 6056, + "▁runs": 6057, + "▁NOT": 6058, + "KE": 6059, + "▁perhaps": 6060, + "▁Я": 6061, + "▁mol": 6062, + "▁ans": 6063, + "atre": 6064, + "▁Dies": 6065, + "Token": 6066, + "anie": 6067, + "▁allowed": 6068, + "Range": 6069, + "▁Gro": 6070, + "via": 6071, + "utorial": 6072, + "ensor": 6073, + "estival": 6074, + ");\r": 6075, + "краї": 6076, + "▁turned": 6077, + "scope": 6078, + "▁bien": 6079, + "=$": 6080, + "▁extension": 6081, + "atore": 6082, + "▁Ро": 6083, + "▁specify": 6084, + "edu": 6085, + "Datos": 6086, + "▁stored": 6087, + "▁parse": 6088, + "▁answers": 6089, + "ills": 6090, + "▁heard": 6091, + "lu": 6092, + "▁THE": 6093, + "▁gén": 6094, + "▁ful": 6095, + "ez": 6096, + "▁Prem": 6097, + "then": 6098, + "dp": 6099, + "ського": 6100, + "▁Si": 6101, + "ço": 6102, + "Edit": 6103, + "ків": 6104, + "▁Ли": 6105, + "▁Sing": 6106, + "▁categ": 6107, + "Equ": 6108, + "▁guer": 6109, + "Width": 6110, + "▁Christian": 6111, + "stat": 6112, + "Write": 6113, + "▁woman": 6114, + "wood": 6115, + "Vis": 6116, + "раз": 6117, + "▁$$\\": 6118, + "oder": 6119, + "▁bool": 6120, + "▁international": 6121, + "ность": 6122, + "▁Richard": 6123, + "▁addition": 6124, + "▁Music": 6125, + "▁aber": 6126, + "tó": 6127, + "▁hier": 6128, + "ugh": 6129, + "▁pob": 6130, + "▁tables": 6131, + "Do": 6132, + "▁higher": 6133, + "psi": 6134, + "rá": 6135, + "▁active": 6136, + "▁Table": 6137, + "ње": 6138, + "▁description": 6139, + "▁seemed": 6140, + "íst": 6141, + "▁myself": 6142, + "▁menu": 6143, + "del": 6144, + "▁ž": 6145, + "ele": 6146, + "Aut": 6147, + "▁гру": 6148, + "mut": 6149, + "oon": 6150, + "asc": 6151, + "bug": 6152, + "▁moved": 6153, + "CL": 6154, + "▁datas": 6155, + "SO": 6156, + "оло": 6157, + "▁Georg": 6158, + "▁reach": 6159, + ":\"": 6160, + "▁evalu": 6161, + "▁Hel": 6162, + "▁River": 6163, + "▁Ар": 6164, + "////": 6165, + "▁sets": 6166, + "▁Olymp": 6167, + "Adapter": 6168, + ".'": 6169, + "overn": 6170, + "▁Lord": 6171, + "!--": 6172, + "jpg": 6173, + "imento": 6174, + "▁Prof": 6175, + "▁achieve": 6176, + "}:": 6177, + "▁incor": 6178, + "▁onder": 6179, + "engl": 6180, + "ABLE": 6181, + "▁Mary": 6182, + "▁waren": 6183, + "lage": 6184, + "Dec": 6185, + "англ": 6186, + "encias": 6187, + "лей": 6188, + "▁Machine": 6189, + "▁Ан": 6190, + "uda": 6191, + "▁ś": 6192, + "▁XX": 6193, + "only": 6194, + "ление": 6195, + "▁también": 6196, + "nej": 6197, + "▁relative": 6198, + "▁hours": 6199, + "▁indeed": 6200, + "undo": 6201, + "ingu": 6202, + "area": 6203, + "▁Create": 6204, + "beit": 6205, + "▁removed": 6206, + "master": 6207, + "haus": 6208, + "▁Bern": 6209, + "▁speed": 6210, + "▁Bay": 6211, + "▁Att": 6212, + "▁None": 6213, + "application": 6214, + "üd": 6215, + "▁fit": 6216, + "▁Maria": 6217, + "▁nord": 6218, + "▁split": 6219, + "▁stru": 6220, + "▁official": 6221, + "▁execute": 6222, + "ouve": 6223, + "{{": 6224, + "▁Ap": 6225, + "▁ку": 6226, + "IL": 6227, + "▁^": 6228, + "dim": 6229, + "▁setup": 6230, + "ск": 6231, + "▁share": 6232, + "▁minutes": 6233, + "gle": 6234, + "oco": 6235, + "stell": 6236, + "▁Coun": 6237, + "▁temper": 6238, + "keit": 6239, + "ський": 6240, + "ao": 6241, + "▁Long": 6242, + "(&": 6243, + "кан": 6244, + "▁dens": 6245, + "But": 6246, + "XX": 6247, + "DATE": 6248, + "gan": 6249, + ".).": 6250, + "▁entry": 6251, + "install": 6252, + "▁зна": 6253, + "▁Som": 6254, + "Command": 6255, + "ßen": 6256, + "▁starting": 6257, + "▁sto": 6258, + "IG": 6259, + "▁minim": 6260, + "▁explicit": 6261, + "▁bytes": 6262, + "▁party": 6263, + "tober": 6264, + "▁Grand": 6265, + "▁Vor": 6266, + "▁leur": 6267, + "Document": 6268, + "erc": 6269, + "ensive": 6270, + "CP": 6271, + "env": 6272, + "▁arguments": 6273, + "▁Gran": 6274, + "arily": 6275, + "▁lin": 6276, + "tn": 6277, + "(-": 6278, + "geq": 6279, + "▁Famil": 6280, + "▁Бо": 6281, + "▁tour": 6282, + "▁nav": 6283, + "▁properly": 6284, + "▁Mrs": 6285, + "▁Mel": 6286, + "▁scale": 6287, + "astic": 6288, + "ds": 6289, + "▁Sir": 6290, + "▁Church": 6291, + "}^{\\": 6292, + "you": 6293, + "/.": 6294, + "So": 6295, + "▁brought": 6296, + "▁role": 6297, + "▁Sur": 6298, + "▁fond": 6299, + "▁ges": 6300, + "że": 6301, + "eten": 6302, + "▁était": 6303, + "SER": 6304, + "▁которы": 6305, + "▁equation": 6306, + "aspx": 6307, + "▁Afr": 6308, + "▁dit": 6309, + "empty": 6310, + "alement": 6311, + "wrap": 6312, + "▁Bet": 6313, + "▁collect": 6314, + "▁git": 6315, + "▁vie": 6316, + "▁..": 6317, + "рой": 6318, + "▁": 6580, + "▁Ва": 6581, + "nost": 6582, + "▁nem": 6583, + "▁pen": 6584, + "Open": 6585, + "▁church": 6586, + "кон": 6587, + "▁average": 6588, + "▁comments": 6589, + "▁corresponding": 6590, + "levant": 6591, + "▁bed": 6592, + "▁meaning": 6593, + "Version": 6594, + "Link": 6595, + "bel": 6596, + "▁extract": 6597, + "ść": 6598, + "▁IV": 6599, + "▁Ir": 6600, + "▁computer": 6601, + "▁affect": 6602, + "▁Ста": 6603, + "AX": 6604, + "sort": 6605, + "▁species": 6606, + "▁Oper": 6607, + "▁hash": 6608, + "ches": 6609, + "▁Einzeln": 6610, + "▁keys": 6611, + "▁marzo": 6612, + "▁interpret": 6613, + "hood": 6614, + "▁coordin": 6615, + "ös": 6616, + "rage": 6617, + "etz": 6618, + "iza": 6619, + "дер": 6620, + "üt": 6621, + "^*": 6622, + "▁modify": 6623, + "▁termin": 6624, + "▁cred": 6625, + "zon": 6626, + "ную": 6627, + "▁mie": 6628, + "▁''": 6629, + "▁Mos": 6630, + "▁connected": 6631, + "NO": 6632, + "▁compile": 6633, + "▁\"\\": 6634, + "▁cat": 6635, + "fiddle": 6636, + "uta": 6637, + "Access": 6638, + "▁Sto": 6639, + "▁Bur": 6640, + "▁north": 6641, + "Gamma": 6642, + "▁alloc": 6643, + "Init": 6644, + "▁Link": 6645, + "ialize": 6646, + "Impl": 6647, + "oupe": 6648, + "ropri": 6649, + "▁Gold": 6650, + "▁solo": 6651, + "▁Dist": 6652, + ",-": 6653, + "nav": 6654, + "▁alert": 6655, + "esis": 6656, + "▁Os": 6657, + "///": 6658, + "▁feb": 6659, + "▁-->": 6660, + "foot": 6661, + "▁Fried": 6662, + "▁Einzelnach": 6663, + "▁rev": 6664, + "zeit": 6665, + "▁Stat": 6666, + "▁Seg": 6667, + "▁blo": 6668, + "wick": 6669, + "EL": 6670, + "caption": 6671, + "header": 6672, + "▁president": 6673, + "▁multip": 6674, + "▁Einzelnachweise": 6675, + "▁seine": 6676, + "?”": 6677, + "Function": 6678, + "▁Stand": 6679, + "▁Function": 6680, + "▁?>": 6681, + "▁Bill": 6682, + "▁spect": 6683, + "▁redirect": 6684, + "rupt": 6685, + "▁walk": 6686, + "вши": 6687, + "springframework": 6688, + "place": 6689, + "ého": 6690, + "Entity": 6691, + "▁Service": 6692, + "inte": 6693, + "▁training": 6694, + "▁(`": 6695, + "фор": 6696, + "▁кра": 6697, + "aur": 6698, + "▁fetch": 6699, + "▁†": 6700, + "▁même": 6701, + "▁('": 6702, + "atively": 6703, + "▁execut": 6704, + "äch": 6705, + "▁Catalogue": 6706, + "based": 6707, + "Attribute": 6708, + "▁spring": 6709, + "phone": 6710, + "тра": 6711, + "▁пи": 6712, + "тера": 6713, + "▁`\\": 6714, + "▁Od": 6715, + "One": 6716, + "send": 6717, + "bon": 6718, + "▁°": 6719, + "MO": 6720, + "▁asking": 6721, + "▁où": 6722, + "▁ingår": 6723, + "▁testing": 6724, + "▁фа": 6725, + "▁Book": 6726, + "imm": 6727, + "▁progress": 6728, + "bro": 6729, + "First": 6730, + "▁phot": 6731, + "▁ON": 6732, + "Template": 6733, + "developer": 6734, + "annot": 6735, + "▁>=": 6736, + "mission": 6737, + "▁któ": 6738, + "pc": 6739, + "bach": 6740, + "zent": 6741, + "ued": 6742, + "▁ones": 6743, + "ји": 6744, + "▁rout": 6745, + "▁Ки": 6746, + "Post": 6747, + "ції": 6748, + "▁Vir": 6749, + "nek": 6750, + "aging": 6751, + "▁ок": 6752, + "izont": 6753, + "▁agosto": 6754, + "▁choose": 6755, + "▁\r": 6756, + "▁systems": 6757, + "loss": 6758, + "iente": 6759, + "▁Cre": 6760, + "▁contra": 6761, + "ums": 6762, + "▁beginning": 6763, + "emy": 6764, + "istics": 6765, + "▁served": 6766, + "Down": 6767, + "options": 6768, + "▁Govern": 6769, + "▁BY": 6770, + "▁jest": 6771, + "té": 6772, + "▁continue": 6773, + "pers": 6774, + "▁easier": 6775, + "▁cos": 6776, + "esso": 6777, + ">>": 6778, + "Net": 6779, + "▁Bor": 6780, + "▁Cr": 6781, + "▁transfer": 6782, + "▁CSS": 6783, + "▁finns": 6784, + "▁хо": 6785, + "username": 6786, + "▁constru": 6787, + "▁pain": 6788, + "▁Tem": 6789, + "▁specified": 6790, + "▁brit": 6791, + "ские": 6792, + "irk": 6793, + "rapper": 6794, + "▁counter": 6795, + "▁[\"": 6796, + "oded": 6797, + "дан": 6798, + "property": 6799, + "hard": 6800, + "istrict": 6801, + ")/": 6802, + "▁Pour": 6803, + "▁Where": 6804, + "▁===": 6805, + "▁sowie": 6806, + "▁Про": 6807, + "▁dess": 6808, + "▁tras": 6809, + "▁уча": 6810, + "▁Over": 6811, + "note": 6812, + "▁America": 6813, + "cp": 6814, + "▁grande": 6815, + "Me": 6816, + ")-": 6817, + "Mode": 6818, + "▁passing": 6819, + "▁giving": 6820, + "Cl": 6821, + "}/": 6822, + "Menu": 6823, + "!!": 6824, + "angular": 6825, + "▁launch": 6826, + "varphi": 6827, + "▁Johann": 6828, + "▁foreach": 6829, + "ró": 6830, + "sequ": 6831, + "ifi": 6832, + "Am": 6833, + "arp": 6834, + "▁buffer": 6835, + "▁ni": 6836, + "▁mix": 6837, + "▁Museum": 6838, + "▁meant": 6839, + "asi": 6840, + "▁kan": 6841, + "прав": 6842, + "Comp": 6843, + "istoire": 6844, + "iful": 6845, + "jer": 6846, + "issions": 6847, + "Resource": 6848, + "▁воз": 6849, + "▁ST": 6850, + "▁solutions": 6851, + "▁belong": 6852, + "▁Associ": 6853, + "cf": 6854, + "▁Mär": 6855, + "▁grid": 6856, + "Mult": 6857, + "▁requires": 6858, + "kk": 6859, + "▁teach": 6860, + "emeinde": 6861, + "▁square": 6862, + "▁коман": 6863, + "▁Event": 6864, + "▁rules": 6865, + "▁bur": 6866, + "▁eing": 6867, + "▁Mai": 6868, + "▁nam": 6869, + "▁slä": 6870, + "hör": 6871, + "▁tip": 6872, + "▁Literatur": 6873, + "▁scope": 6874, + "overline": 6875, + "▁exit": 6876, + ")?": 6877, + "bet": 6878, + "▁vict": 6879, + "Off": 6880, + "▁approxim": 6881, + "▁Geb": 6882, + "ktop": 6883, + "heit": 6884, + "▁Ю": 6885, + "template": 6886, + "рон": 6887, + "▁uno": 6888, + "Serv": 6889, + "▁framework": 6890, + "operator": 6891, + "▁generally": 6892, + "▁hundred": 6893, + "▁divers": 6894, + "ovi": 6895, + "▁rés": 6896, + "abs": 6897, + "▁gal": 6898, + "çais": 6899, + "▁feet": 6900, + "▁virtual": 6901, + "czy": 6902, + "ску": 6903, + "./": 6904, + "hu": 6905, + "ancy": 6906, + "▁recommend": 6907, + "▁під": 6908, + "▁money": 6909, + "▁versions": 6910, + "▁helps": 6911, + "▁Hor": 6912, + "Items": 6913, + "look": 6914, + "connect": 6915, + "anges": 6916, + "ViewController": 6917, + "elijk": 6918, + "▁occup": 6919, + "▁editor": 6920, + "auto": 6921, + "ög": 6922, + "▁seconds": 6923, + "▁obvious": 6924, + "vm": 6925, + "akes": 6926, + "▁gegen": 6927, + "▁til": 6928, + "jection": 6929, + "лення": 6930, + "▁operations": 6931, + "▁East": 6932, + "ogy": 6933, + "▁Polit": 6934, + "uten": 6935, + "▁Joseph": 6936, + "\"`": 6937, + "▁Company": 6938, + "▁callback": 6939, + "▁sen": 6940, + "cción": 6941, + "▁associated": 6942, + "▁containing": 6943, + "▁practice": 6944, + "elijke": 6945, + "oke": 6946, + "éra": 6947, + "uns": 6948, + "anta": 6949, + "vey": 6950, + "zu": 6951, + "▁Bes": 6952, + "▁Flor": 6953, + "mem": 6954, + "ycz": 6955, + "▁architect": 6956, + "▁anni": 6957, + "▁contact": 6958, + "YPE": 6959, + "▁Cas": 6960, + "▁полу": 6961, + "ovo": 6962, + "▁bring": 6963, + "▁concept": 6964, + "▁js": 6965, + "▁Referencias": 6966, + "emble": 6967, + "▁н": 6968, + "▁supported": 6969, + "Big": 6970, + "▁Hans": 6971, + "erv": 6972, + "▁Maj": 6973, + "▁arriv": 6974, + "▁Have": 6975, + "▁probability": 6976, + "▁Pop": 6977, + "▁Pass": 6978, + "token": 6979, + "Provider": 6980, + "▁Ra": 6981, + "Reader": 6982, + "ooth": 6983, + "lap": 6984, + "▁assist": 6985, + "adow": 6986, + "▁tests": 6987, + "сси": 6988, + "▁king": 6989, + "langle": 6990, + "▁Sum": 6991, + "OIN": 6992, + "▁security": 6993, + "nis": 6994, + "../": 6995, + "▁basic": 6996, + "unity": 6997, + "`:": 6998, + "▁кото": 6999, + "kow": 7000, + "▁Bibliothèque": 7001, + "asion": 7002, + "alo": 7003, + "ifest": 7004, + "▁novembre": 7005, + "▁peu": 7006, + "▁Ж": 7007, + "enschaft": 7008, + "clus": 7009, + "ју": 7010, + "Height": 7011, + "ún": 7012, + "▁tur": 7013, + "▁ideas": 7014, + "▁ces": 7015, + "frak": 7016, + "▁premier": 7017, + "itation": 7018, + "▁sé": 7019, + "HTML": 7020, + "▁Royal": 7021, + "ської": 7022, + "▁byte": 7023, + "PS": 7024, + "▁segu": 7025, + "inen": 7026, + "▁Great": 7027, + "▁Ку": 7028, + "▁external": 7029, + "Title": 7030, + "Top": 7031, + "Process": 7032, + "ität": 7033, + "▁`/": 7034, + "▁secret": 7035, + "pository": 7036, + "▁potential": 7037, + "▁Bud": 7038, + "names": 7039, + "asons": 7040, + "stackexchange": 7041, + "background": 7042, + "пер": 7043, + "сов": 7044, + "after": 7045, + "▁pero": 7046, + "▁software": 7047, + "▁sed": 7048, + "▁arrays": 7049, + "tmp": 7050, + "▁asp": 7051, + "scale": 7052, + "▁Lat": 7053, + "anal": 7054, + "▁gem": 7055, + "PU": 7056, + "▁Altri": 7057, + "That": 7058, + "▁Ни": 7059, + "ifact": 7060, + "Address": 7061, + "▁south": 7062, + "▁formula": 7063, + "▁Colleg": 7064, + "▁ін": 7065, + "ktion": 7066, + "▁sac": 7067, + "SH": 7068, + "ajo": 7069, + "etc": 7070, + "vc": 7071, + "`](": 7072, + "▁Dur": 7073, + "▁Ме": 7074, + "▁Smith": 7075, + "items": 7076, + "CK": 7077, + "elo": 7078, + "▁plugin": 7079, + "▁serie": 7080, + "ienne": 7081, + "▁или": 7082, + "Mar": 7083, + "▁Image": 7084, + "got": 7085, + "andas": 7086, + "▁matches": 7087, + "▁worth": 7088, + "▁Deb": 7089, + "▁cache": 7090, + "▁felt": 7091, + "ersch": 7092, + "izes": 7093, + "Oper": 7094, + "▁Jahre": 7095, + "▁commune": 7096, + "thread": 7097, + "▁ny": 7098, + "dec": 7099, + "ouw": 7100, + "▁surface": 7101, + "▁Por": 7102, + "▁Street": 7103, + "при": 7104, + "▁candid": 7105, + "▁Return": 7106, + "▁Kom": 7107, + "gru": 7108, + "▁ти": 7109, + "[\\": 7110, + "▁depends": 7111, + "▁influ": 7112, + "▁towards": 7113, + "ained": 7114, + "▁rank": 7115, + "▁Januar": 7116, + "▁components": 7117, + "gest": 7118, + "getElementById": 7119, + "▁checked": 7120, + "airs": 7121, + "join": 7122, + "▁dead": 7123, + "▁hit": 7124, + "ény": 7125, + "▁equivalent": 7126, + "▁Пре": 7127, + "▁appropri": 7128, + "Pass": 7129, + "▁primer": 7130, + "englisch": 7131, + "▁appar": 7132, + "▁During": 7133, + "▁knowledge": 7134, + "▁trigger": 7135, + "▁core": 7136, + "▁Ol": 7137, + "▁Produ": 7138, + "▁Fern": 7139, + "▁нача": 7140, + "Te": 7141, + "▁Mot": 7142, + "erve": 7143, + "тво": 7144, + "▁mid": 7145, + "▁finally": 7146, + "aires": 7147, + "▁especially": 7148, + "▁tut": 7149, + "▁receive": 7150, + "adre": 7151, + "▁neigh": 7152, + "ktet": 7153, + "ilde": 7154, + "▁radio": 7155, + "▁driver": 7156, + "лись": 7157, + "endencies": 7158, + "▁IE": 7159, + "▁saved": 7160, + "ffect": 7161, + "▁Wayback": 7162, + "iat": 7163, + "▁padding": 7164, + "window": 7165, + "тиче": 7166, + "▁mur": 7167, + "actor": 7168, + "▁Han": 7169, + "ональ": 7170, + "▁gar": 7171, + "▁familjen": 7172, + "ós": 7173, + "▁nationale": 7174, + "▁pré": 7175, + "ded": 7176, + "onal": 7177, + "▁President": 7178, + "▁\\,": 7179, + "▁placed": 7180, + "erni": 7181, + "▁signal": 7182, + "nab": 7183, + "hm": 7184, + "Mon": 7185, + "▁vs": 7186, + "SC": 7187, + "▁progetti": 7188, + "▁Ü": 7189, + "▁forms": 7190, + "▁messages": 7191, + "inf": 7192, + "users": 7193, + "GET": 7194, + "▁dels": 7195, + "Collection": 7196, + "▁Good": 7197, + "▁Maybe": 7198, + "▁compr": 7199, + "▁larger": 7200, + "gres": 7201, + "aper": 7202, + "▁При": 7203, + "undes": 7204, + "▁sea": 7205, + "▁Spring": 7206, + "ulo": 7207, + "▁mechan": 7208, + "▁sans": 7209, + "GB": 7210, + "Valid": 7211, + "▁communic": 7212, + "▁pra": 7213, + "vier": 7214, + "▁Се": 7215, + "▁ain": 7216, + "тура": 7217, + "kom": 7218, + "skiego": 7219, + "ково": 7220, + "adata": 7221, + "▁Ре": 7222, + "▁boolean": 7223, + "sets": 7224, + "▁effort": 7225, + ".[": 7226, + "▁został": 7227, + "PA": 7228, + "▁Vict": 7229, + "SD": 7230, + "ował": 7231, + "▁emb": 7232, + "▁prima": 7233, + "▁hour": 7234, + "subsection": 7235, + "▁Fort": 7236, + "mathfrak": 7237, + "igin": 7238, + "GL": 7239, + ")+": 7240, + "fi": 7241, + "▁anci": 7242, + "▁pan": 7243, + "\\)": 7244, + "▁lug": 7245, + "▁deploy": 7246, + "domain": 7247, + "▁slight": 7248, + "JSON": 7249, + "▁morning": 7250, + "▁hi": 7251, + "▁compare": 7252, + "ije": 7253, + "▁blue": 7254, + "▁Ac": 7255, + "▁middle": 7256, + "anden": 7257, + "▁shared": 7258, + "▁Camp": 7259, + "▁Á": 7260, + "ounded": 7261, + "uw": 7262, + "ierung": 7263, + "Stack": 7264, + "▁eines": 7265, + "▁Da": 7266, + "lij": 7267, + "enti": 7268, + "▁й": 7269, + "Util": 7270, + "▁experience": 7271, + "▁await": 7272, + "uls": 7273, + "▁requests": 7274, + "▁impos": 7275, + "▁constraint": 7276, + "Change": 7277, + "emph": 7278, + "бер": 7279, + "▁Another": 7280, + "Custom": 7281, + "▁significant": 7282, + "cr": 7283, + "▁million": 7284, + "reek": 7285, + "▁dalla": 7286, + "▁Germ": 7287, + "otal": 7288, + "ateur": 7289, + "btn": 7290, + "▁thinking": 7291, + "▁interval": 7292, + "onne": 7293, + "▁liv": 7294, + "():": 7295, + "▁Ве": 7296, + "oe": 7297, + "▁Ev": 7298, + "meta": 7299, + "▁broad": 7300, + "Rem": 7301, + "apply": 7302, + "▁couple": 7303, + "▁techni": 7304, + "idades": 7305, + "▁goal": 7306, + "▁CD": 7307, + "hab": 7308, + "▁explan": 7309, + "anner": 7310, + "▁Because": 7311, + "blog": 7312, + "includegraphics": 7313, + "▁voice": 7314, + "▁Map": 7315, + "vention": 7316, + "Session": 7317, + "▁Liens": 7318, + "▁sor": 7319, + "category": 7320, + "ashington": 7321, + "▁März": 7322, + "pop": 7323, + "illet": 7324, + "▁zwei": 7325, + "▁Lie": 7326, + "Null": 7327, + "address": 7328, + "▁factor": 7329, + "▁ligne": 7330, + "▁HTTP": 7331, + "▁suf": 7332, + "▁personal": 7333, + "cip": 7334, + "▁Dar": 7335, + "▁adm": 7336, + "кой": 7337, + "▁Ext": 7338, + "▁god": 7339, + "aa": 7340, + "Right": 7341, + "été": 7342, + "▁dynamic": 7343, + "▁maintain": 7344, + "tor": 7345, + "########": 7346, + "▁Fra": 7347, + "▁choice": 7348, + "▁сто": 7349, + "СР": 7350, + "▁Feder": 7351, + "ston": 7352, + "▁flag": 7353, + "kit": 7354, + "Module": 7355, + "▁спо": 7356, + "▁Stra": 7357, + "icks": 7358, + "▁haven": 7359, + "▁Mass": 7360, + "▁Emp": 7361, + "▁Pi": 7362, + "▁Pen": 7363, + "Rect": 7364, + "▁Kr": 7365, + "itat": 7366, + "eler": 7367, + "ября": 7368, + "itet": 7369, + "▁Start": 7370, + "▁produced": 7371, + "▁пол": 7372, + "(_": 7373, + "▁delet": 7374, + "▁hot": 7375, + "▁Geschichte": 7376, + "~~": 7377, + "▁months": 7378, + "▁tod": 7379, + "▁ни": 7380, + "ús": 7381, + "temp": 7382, + "▁Dez": 7383, + "ypes": 7384, + "▁cui": 7385, + "ommun": 7386, + "actions": 7387, + "▁eigen": 7388, + "▁immediately": 7389, + "PL": 7390, + "▁Го": 7391, + "▁Bal": 7392, + "ље": 7393, + "ului": 7394, + "▁online": 7395, + "▁años": 7396, + "▁namespace": 7397, + "▁mond": 7398, + "▁Base": 7399, + "▁Canada": 7400, + "etzt": 7401, + "}-": 7402, + "▁defin": 7403, + "▁doubt": 7404, + "▁investig": 7405, + "views": 7406, + "▁Line": 7407, + "▁stage": 7408, + "ettings": 7409, + "ubre": 7410, + "float": 7411, + "▁Play": 7412, + "▁Las": 7413, + "ptr": 7414, + "▁becomes": 7415, + "estamp": 7416, + "▁independent": 7417, + "▁analysis": 7418, + "▁Look": 7419, + "lain": 7420, + "▁рас": 7421, + "Reference": 7422, + "▁sorry": 7423, + "▁supposed": 7424, + "ût": 7425, + "▁degree": 7426, + "utz": 7427, + "MM": 7428, + "▁desired": 7429, + "ły": 7430, + "▁len": 7431, + "▁alone": 7432, + "signed": 7433, + "▁Sta": 7434, + "Person": 7435, + "▁applied": 7436, + "▁Back": 7437, + "▁mars": 7438, + "Part": 7439, + "▁Did": 7440, + "▁externes": 7441, + "▁np": 7442, + "ongo": 7443, + "▁esta": 7444, + "Block": 7445, + "▁pou": 7446, + "adores": 7447, + "▁Studio": 7448, + ".$": 7449, + "▁reached": 7450, + "bot": 7451, + "▁Juni": 7452, + "tons": 7453, + "itel": 7454, + "▁Gar": 7455, + "▁articles": 7456, + "▁District": 7457, + "▁trouble": 7458, + "lide": 7459, + "▁Found": 7460, + "ád": 7461, + "▁equip": 7462, + "▁internal": 7463, + "'],": 7464, + "▁async": 7465, + "UB": 7466, + "gel": 7467, + "▁ai": 7468, + "ensure": 7469, + "▁appeared": 7470, + "▁$_": 7471, + "▁maximum": 7472, + "▁Си": 7473, + "рь": 7474, + "▁announ": 7475, + "лась": 7476, + "▁cm": 7477, + "ган": 7478, + "aupt": 7479, + "▁latter": 7480, + "▁platform": 7481, + "▁dra": 7482, + "▁capital": 7483, + "▁solved": 7484, + "riz": 7485, + "edic": 7486, + "▁Mur": 7487, + "▁Top": 7488, + "тся": 7489, + "Panel": 7490, + "rule": 7491, + "etic": 7492, + "▁Ren": 7493, + "▁Wikimedia": 7494, + "▁TO": 7495, + "second": 7496, + "isl": 7497, + "▁hy": 7498, + "▁niet": 7499, + "▁loaded": 7500, + "dig": 7501, + "▁mayo": 7502, + "[:": 7503, + "Acc": 7504, + "▁bek": 7505, + "нию": 7506, + "login": 7507, + "tx": 7508, + "▁Fur": 7509, + "▁Santa": 7510, + "azz": 7511, + "▁conduct": 7512, + "▁India": 7513, + "Order": 7514, + "irth": 7515, + "tw": 7516, + "}+": 7517, + "▁wieder": 7518, + "▁Edu": 7519, + "AV": 7520, + "▁```": 7521, + "▁manually": 7522, + "▁Read": 7523, + "fortunately": 7524, + "▁Run": 7525, + "▁Award": 7526, + "▁Foot": 7527, + "*)": 7528, + "params": 7529, + "пі": 7530, + "▁native": 7531, + "rift": 7532, + "▁ä": 7533, + "ATH": 7534, + "▁yourself": 7535, + "▁prior": 7536, + "▁cit": 7537, + "äh": 7538, + "▁treat": 7539, + "▁meas": 7540, + "ributed": 7541, + "▁clar": 7542, + "card": 7543, + "ROR": 7544, + "illes": 7545, + "▁layer": 7546, + "auer": 7547, + "▁rat": 7548, + "bernate": 7549, + "▁stato": 7550, + "▁China": 7551, + "▁$('#": 7552, + "▁naar": 7553, + "zip": 7554, + "▁${\\": 7555, + "▁appreciated": 7556, + "▁име": 7557, + "ży": 7558, + "▁przez": 7559, + "▁Indian": 7560, + "▁Tod": 7561, + "▁Source": 7562, + "▁други": 7563, + "internal": 7564, + "ionale": 7565, + "Product": 7566, + "▁Men": 7567, + "▁upper": 7568, + "▁Every": 7569, + "},\\": 7570, + "▁printf": 7571, + "▁continued": 7572, + "▁nodes": 7573, + "лки": 7574, + "▁nice": 7575, + "modules": 7576, + "eign": 7577, + "▁Mex": 7578, + "▁According": 7579, + "▁undefined": 7580, + "▁binary": 7581, + "cut": 7582, + "Current": 7583, + "edy": 7584, + "}}{": 7585, + "bles": 7586, + "▁вой": 7587, + "scri": 7588, + "eqn": 7589, + "Changed": 7590, + "▁köz": 7591, + "▁remote": 7592, + "вля": 7593, + "▁quel": 7594, + "▁align": 7595, + "▁пар": 7596, + "SV": 7597, + "yer": 7598, + "▁Californ": 7599, + "▁places": 7600, + "▁primary": 7601, + "▁conv": 7602, + "▁Juli": 7603, + "▁visual": 7604, + "▁Select": 7605, + "atory": 7606, + "=(": 7607, + "iser": 7608, + "▁intent": 7609, + "sur": 7610, + "container": 7611, + "iced": 7612, + "▁board": 7613, + "astr": 7614, + "omial": 7615, + "вет": 7616, + "зва": 7617, + "▁cru": 7618, + "▁Oktober": 7619, + "save": 7620, + "▁greater": 7621, + "▁inn": 7622, + "▁picture": 7623, + "▁То": 7624, + "▁obtained": 7625, + "Wikimedia": 7626, + "úblic": 7627, + "▁lors": 7628, + "▁mont": 7629, + "obre": 7630, + "▁civil": 7631, + "▁construction": 7632, + "▁Welt": 7633, + "▁Under": 7634, + "undert": 7635, + "▁edge": 7636, + "▁Liste": 7637, + "csv": 7638, + "▁experiment": 7639, + "localhost": 7640, + "▁Edit": 7641, + "greg": 7642, + "ová": 7643, + "ља": 7644, + "msg": 7645, + "▁Green": 7646, + "Dialog": 7647, + "Ident": 7648, + "▁JS": 7649, + "^{(": 7650, + "▁släktet": 7651, + "____": 7652, + "Project": 7653, + "▁beskre": 7654, + "▁ber": 7655, + "▁wouldn": 7656, + "▁react": 7657, + "Hel": 7658, + "zw": 7659, + "▁Washington": 7660, + "orie": 7661, + "task": 7662, + "▁category": 7663, + "▁artist": 7664, + "anno": 7665, + "▁ook": 7666, + "ammen": 7667, + "▁Minister": 7668, + "▁declar": 7669, + "▁Key": 7670, + ",.": 7671, + "▁mach": 7672, + "▁ww": 7673, + "isen": 7674, + "Fran": 7675, + "▁Росси": 7676, + "бор": 7677, + "три": 7678, + "▁rock": 7679, + "quis": 7680, + "mos": 7681, + "пера": 7682, + "▁esterni": 7683, + "▁gold": 7684, + "Windows": 7685, + "%%": 7686, + "▁partial": 7687, + "▁weight": 7688, + "▁spr": 7689, + "}).": 7690, + "▁français": 7691, + "fun": 7692, + "▁thous": 7693, + "holder": 7694, + "▁gone": 7695, + "▁Č": 7696, + "▁rend": 7697, + "DA": 7698, + "▁answered": 7699, + "▁False": 7700, + "Buffer": 7701, + "▁daugh": 7702, + ".--": 7703, + "▁Show": 7704, + "▁rect": 7705, + "▁Kre": 7706, + "dr": 7707, + "osoph": 7708, + "▁yield": 7709, + "urity": 7710, + "toString": 7711, + "aval": 7712, + "Pol": 7713, + "▁lock": 7714, + "imation": 7715, + "antic": 7716, + "Local": 7717, + "▁beskrevs": 7718, + "ités": 7719, + "grid": 7720, + "ут": 7721, + "▁_{": 7722, + "сі": 7723, + "FILE": 7724, + "▁км": 7725, + "▁speak": 7726, + "summary": 7727, + "prop": 7728, + "javascript": 7729, + "zk": 7730, + "izontal": 7731, + "▁trois": 7732, + "▁Rod": 7733, + "prise": 7734, + "рово": 7735, + "▁odd": 7736, + "▁gest": 7737, + "▁produce": 7738, + "▁waar": 7739, + "▁Av": 7740, + "ribu": 7741, + "вання": 7742, + "▁finished": 7743, + "▁adapt": 7744, + "▁Sar": 7745, + "textit": 7746, + "▁Ce": 7747, + "▁Fa": 7748, + "osen": 7749, + "▁deriv": 7750, + "▁ship": 7751, + "▁opin": 7752, + "▁Even": 7753, + "gesch": 7754, + "▁suppose": 7755, + "▁Fer": 7756, + "ское": 7757, + "▁worden": 7758, + "sey": 7759, + "hline": 7760, + "▁Union": 7761, + "▁/**": 7762, + "▁vez": 7763, + "▁Collegamenti": 7764, + "▁Society": 7765, + "▁econom": 7766, + "ší": 7767, + "oi": 7768, + "▁orient": 7769, + "▁Teil": 7770, + "rent": 7771, + "лекс": 7772, + "▁solid": 7773, + "▁cart": 7774, + "****************": 7775, + "▁cab": 7776, + "▁Message": 7777, + "dots": 7778, + "▁ég": 7779, + "▁twe": 7780, + "aga": 7781, + "▁naz": 7782, + "▁Microsoft": 7783, + "▁underarter": 7784, + "ppen": 7785, + "▁recent": 7786, + "▁net": 7787, + "▁resources": 7788, + "Ste": 7789, + ".\\": 7790, + "▁SO": 7791, + "лом": 7792, + "▁cele": 7793, + "▁lic": 7794, + "▁benef": 7795, + "ldots": 7796, + "▁serial": 7797, + "Integer": 7798, + "cles": 7799, + "▁miles": 7800, + "▁Ale": 7801, + "▁entered": 7802, + "▁Two": 7803, + "wie": 7804, + "▁includes": 7805, + "▁Each": 7806, + "elling": 7807, + "quer": 7808, + "▁Dom": 7809, + "pf": 7810, + "WS": 7811, + "▁straight": 7812, + "▁Stan": 7813, + "▁nos": 7814, + "ícul": 7815, + "atro": 7816, + "▁Center": 7817, + "FT": 7818, + "▁Inga": 7819, + "ilo": 7820, + "▁www": 7821, + "jsfiddle": 7822, + "nic": 7823, + "▁European": 7824, + "▁commer": 7825, + "▁girl": 7826, + "total": 7827, + "▁Star": 7828, + "▁suggested": 7829, + "pal": 7830, + "▁zwischen": 7831, + "писа": 7832, + "IM": 7833, + "▁handler": 7834, + "▁Program": 7835, + "xsl": 7836, + "ály": 7837, + "BU": 7838, + ",--": 7839, + "▁vid": 7840, + "▁established": 7841, + "▁Spiel": 7842, + "ometry": 7843, + "unes": 7844, + "▁sit": 7845, + "▁inher": 7846, + "▁puis": 7847, + "▁être": 7848, + "▁Most": 7849, + "Header": 7850, + "insert": 7851, + "▁sist": 7852, + "▁favor": 7853, + "dest": 7854, + "▁entity": 7855, + "Cal": 7856, + "▁Therefore": 7857, + "DD": 7858, + ";;": 7859, + "▁Dezember": 7860, + "▁Rh": 7861, + "iments": 7862, + "▁returning": 7863, + "sto": 7864, + "▁Value": 7865, + "▁liber": 7866, + "▁Result": 7867, + "▁bind": 7868, + "voir": 7869, + "▁Tim": 7870, + "▁Movie": 7871, + "weg": 7872, + "ket": 7873, + "▁исто": 7874, + "▁friends": 7875, + "▁fn": 7876, + "▁él": 7877, + "▁&=": 7878, + "arden": 7879, + "fficial": 7880, + "▁community": 7881, + "▁api": 7882, + "Args": 7883, + "ieren": 7884, + "▁dann": 7885, + "omorph": 7886, + "adr": 7887, + "loop": 7888, + "uman": 7889, + "▁vous": 7890, + "bst": 7891, + "submit": 7892, + "\\|": 7893, + "тин": 7894, + "Container": 7895, + "asket": 7896, + "?)": 7897, + "Sec": 7898, + "▁drive": 7899, + "Ass": 7900, + "▁swe": 7901, + "▁amer": 7902, + "▁mine": 7903, + "▁Ham": 7904, + "▁avait": 7905, + "▁Hon": 7906, + "▁après": 7907, + "▁Mann": 7908, + "ська": 7909, + "▁increase": 7910, + "▁ty": 7911, + "sky": 7912, + "▁accur": 7913, + "article": 7914, + "weight": 7915, + "▁sex": 7916, + "▁listade": 7917, + "/**": 7918, + "▁está": 7919, + "}}$": 7920, + "argo": 7921, + "define": 7922, + "▁состав": 7923, + "session": 7924, + "ads": 7925, + "стви": 7926, + "▁Law": 7927, + "▁dialog": 7928, + "▁duplicate": 7929, + "▁ép": 7930, + "▁voc": 7931, + "fri": 7932, + "▁green": 7933, + "▁hidden": 7934, + "▁Island": 7935, + "▁diag": 7936, + "owej": 7937, + "mysql": 7938, + "teil": 7939, + "rä": 7940, + "ikan": 7941, + "▁José": 7942, + "aled": 7943, + "Runtime": 7944, + "▁train": 7945, + "▁Division": 7946, + "ниц": 7947, + "▁Span": 7948, + "нима": 7949, + ")=\\": 7950, + "тан": 7951, + "▁stay": 7952, + "▁foo": 7953, + "▁accom": 7954, + "▁hers": 7955, + "▁нау": 7956, + "▁Mün": 7957, + "ideos": 7958, + "static": 7959, + "▁ready": 7960, + "]`": 7961, + "▁visible": 7962, + "▁Hope": 7963, + "ulated": 7964, + "▁Cult": 7965, + "стро": 7966, + "Co": 7967, + "▁smaller": 7968, + "atura": 7969, + "▁perfectly": 7970, + "req": 7971, + "▁proposed": 7972, + "▁degli": 7973, + "Search": 7974, + "▁ich": 7975, + "Max": 7976, + "▁volume": 7977, + "execute": 7978, + "gre": 7979, + "▁sport": 7980, + "udad": 7981, + "PT": 7982, + "▁Records": 7983, + "▁cook": 7984, + "▁expand": 7985, + "бі": 7986, + "▁altri": 7987, + "ppet": 7988, + "arse": 7989, + "▁wet": 7990, + "▁Bob": 7991, + "▁FC": 7992, + "▁Association": 7993, + "uje": 7994, + "▁fel": 7995, + "▁слу": 7996, + "▁Big": 7997, + "/\\": 7998, + "Ge": 7999, + "while": 8000, + "{(": 8001, + "▁sufficient": 8002, + "Position": 8003, + "▁understanding": 8004, + "▁nue": 8005, + "▁raz": 8006, + "▁ye": 8007, + "hem": 8008, + "Num": 8009, + "▁Project": 8010, + "▁Its": 8011, + "▁hasta": 8012, + "enso": 8013, + "▁wire": 8014, + "Ret": 8015, + "uj": 8016, + "proof": 8017, + "▁relevant": 8018, + "▁partir": 8019, + "▁ago": 8020, + "ificate": 8021, + "▁domin": 8022, + "▁boy": 8023, + "▁plant": 8024, + "▁encoding": 8025, + "▁throws": 8026, + "▁Rock": 8027, + "zone": 8028, + "gang": 8029, + "widget": 8030, + "▁interesting": 8031, + "DER": 8032, + "▁demon": 8033, + "▁office": 8034, + "amt": 8035, + "äter": 8036, + "▁White": 8037, + "▁versch": 8038, + "▁dieser": 8039, + "▁Mount": 8040, + "▁students": 8041, + "▁Pub": 8042, + "▁Де": 8043, + "ija": 8044, + "▁Cy": 8045, + "▁California": 8046, + "▁abril": 8047, + "äll": 8048, + "▁чем": 8049, + "TV": 8050, + "▁més": 8051, + "▁declared": 8052, + "▁ю": 8053, + "ől": 8054, + "appa": 8055, + "▁Бе": 8056, + "echo": 8057, + "numer": 8058, + "▁posted": 8059, + "▁вер": 8060, + "▁године": 8061, + "▁weak": 8062, + "▁Republic": 8063, + "▁champion": 8064, + "ensuremath": 8065, + "your": 8066, + "▁Ober": 8067, + "▁Central": 8068, + "isa": 8069, + "анд": 8070, + "yy": 8071, + "▁fully": 8072, + "▁SD": 8073, + "▁Linux": 8074, + "▁Scott": 8075, + "partment": 8076, + "kon": 8077, + "▁contract": 8078, + "▁OF": 8079, + "▁ale": 8080, + "▁Ann": 8081, + "▁над": 8082, + "lah": 8083, + "▁Next": 8084, + "oren": 8085, + "▁disk": 8086, + "▁eg": 8087, + "atu": 8088, + "логи": 8089, + "▁games": 8090, + "Left": 8091, + "▁lu": 8092, + "▁finite": 8093, + "▁ки": 8094, + "▁crash": 8095, + "pher": 8096, + "exe": 8097, + "ATION": 8098, + "▁brother": 8099, + "Eng": 8100, + "tat": 8101, + "▁Integer": 8102, + "ному": 8103, + "▁colon": 8104, + "iqu": 8105, + ")).": 8106, + "ivi": 8107, + "▁Method": 8108, + "arten": 8109, + "Uni": 8110, + "vector": 8111, + "▁wood": 8112, + "рт": 8113, + "▁Ле": 8114, + "▁siècle": 8115, + "▁gent": 8116, + "}\r": 8117, + "▁contents": 8118, + "▁compan": 8119, + "Go": 8120, + "▁jou": 8121, + "uent": 8122, + "Async": 8123, + "printf": 8124, + "▁Model": 8125, + "▁kept": 8126, + "ASE": 8127, + "▁provides": 8128, + "▁Abgerufen": 8129, + "▁Gall": 8130, + "▁Alf": 8131, + "SA": 8132, + "▁Mem": 8133, + "▁kter": 8134, + "▁Bru": 8135, + "Android": 8136, + "(:": 8137, + "▁Украї": 8138, + "Ne": 8139, + "Min": 8140, + "atr": 8141, + "▁Hal": 8142, + "delete": 8143, + "odo": 8144, + "▁não": 8145, + "ène": 8146, + "▁calculate": 8147, + "Json": 8148, + "keys": 8149, + "ней": 8150, + "▁hence": 8151, + "▁ow": 8152, + "▁Lib": 8153, + "eno": 8154, + "▁Love": 8155, + "osi": 8156, + "wide": 8157, + "▁score": 8158, + "full": 8159, + "вод": 8160, + "▁determine": 8161, + "▁spaces": 8162, + "лова": 8163, + "▁peut": 8164, + "éral": 8165, + "ół": 8166, + "▁appoint": 8167, + "▁Tw": 8168, + "();": 8295, + "▁pure": 8296, + "▁embed": 8297, + "ação": 8298, + "controller": 8299, + "▁married": 8300, + "▁Fol": 8301, + "famil": 8302, + "▁prec": 8303, + "▁recurs": 8304, + "pad": 8305, + "istration": 8306, + "▁respectively": 8307, + "[$": 8308, + "autor": 8309, + "▁grav": 8310, + "iera": 8311, + "azioni": 8312, + "▁Bul": 8313, + "▁Australia": 8314, + "mond": 8315, + "▁Tro": 8316, + "▁Ele": 8317, + "packages": 8318, + "msdn": 8319, + "▁Als": 8320, + "▁przy": 8321, + "ART": 8322, + "▁charge": 8323, + "▁applications": 8324, + "Unit": 8325, + "aren": 8326, + "▁sudden": 8327, + "ometer": 8328, + "▁dot": 8329, + "acji": 8330, + "ктор": 8331, + "imin": 8332, + "ening": 8333, + "▁donde": 8334, + "▁Ho": 8335, + "tree": 8336, + "mb": 8337, + "▁drag": 8338, + "aje": 8339, + "▁invalid": 8340, + "▁finish": 8341, + "laim": 8342, + "▁feed": 8343, + "▁Nap": 8344, + "room": 8345, + "images": 8346, + "▁сай": 8347, + "▁succ": 8348, + "iffer": 8349, + "▁año": 8350, + "▁cual": 8351, + "мери": 8352, + "DR": 8353, + "▁Bilder": 8354, + "бра": 8355, + "rait": 8356, + "pan": 8357, + "ень": 8358, + "▁distinct": 8359, + "▁Kn": 8360, + "önig": 8361, + "anced": 8362, + "▁loading": 8363, + "▁Techn": 8364, + "▁Sel": 8365, + "mus": 8366, + "▁rail": 8367, + "▁student": 8368, + "▁notice": 8369, + "▁sla": 8370, + "▁Да": 8371, + "▁guard": 8372, + "▁Day": 8373, + "вали": 8374, + "Option": 8375, + "aison": 8376, + "ipp": 8377, + "▁Jun": 8378, + "▁fell": 8379, + "▁absolute": 8380, + "ове": 8381, + "debug": 8382, + "▁Sud": 8383, + "пы": 8384, + "ugins": 8385, + "▁views": 8386, + "lay": 8387, + "▁surr": 8388, + "▁stood": 8389, + "▁ві": 8390, + "selected": 8391, + "гі": 8392, + "▁attributes": 8393, + "final": 8394, + "enda": 8395, + "▁Bon": 8396, + "ners": 8397, + "▁Wer": 8398, + "bur": 8399, + "ittel": 8400, + "▁moving": 8401, + "▁Plan": 8402, + "isches": 8403, + "Java": 8404, + "▁basis": 8405, + "▁Bus": 8406, + "▁Au": 8407, + "▁Ill": 8408, + "▁время": 8409, + "▁цент": 8410, + "handle": 8411, + "ступ": 8412, + "▁Far": 8413, + "▁oraz": 8414, + "ocr": 8415, + "▁seit": 8416, + "onder": 8417, + "дом": 8418, + ":/": 8419, + "chor": 8420, + "▁Town": 8421, + "▁definit": 8422, + "react": 8423, + "▁piece": 8424, + "▁Karl": 8425, + "CI": 8426, + "▁Application": 8427, + "unter": 8428, + "▁formed": 8429, + "▁пу": 8430, + "Bo": 8431, + "▁Daniel": 8432, + "▁пла": 8433, + "Body": 8434, + "})$": 8435, + "▁были": 8436, + "▁earth": 8437, + "гла": 8438, + "There": 8439, + "▁стра": 8440, + "▁ville": 8441, + "▁centre": 8442, + ")\r": 8443, + "▁helpful": 8444, + "▁++": 8445, + "▁CG": 8446, + "izione": 8447, + "▁Game": 8448, + "▁Which": 8449, + "▁pip": 8450, + "▁Portug": 8451, + "DS": 8452, + "▁describe": 8453, + "▁checking": 8454, + "▁manager": 8455, + "BO": 8456, + "▁Bundes": 8457, + "buch": 8458, + "▁decided": 8459, + "▁Jahrhundert": 8460, + "▁fif": 8461, + "efficient": 8462, + "anci": 8463, + "braries": 8464, + "▁fails": 8465, + "▁kernel": 8466, + "▁Gl": 8467, + "▁Nacional": 8468, + "▁proceed": 8469, + "▁fuer": 8470, + "▁living": 8471, + "▁successfully": 8472, + "▁faster": 8473, + "▁contre": 8474, + "▁prison": 8475, + "ORT": 8476, + "help": 8477, + "▁autor": 8478, + "ław": 8479, + "ają": 8480, + "▁Arm": 8481, + "▁provin": 8482, + "▁naam": 8483, + "/#": 8484, + "sed": 8485, + "▁gesch": 8486, + "▁мар": 8487, + "esk": 8488, + "term": 8489, + "▁Tex": 8490, + "iring": 8491, + "▁tools": 8492, + "PDF": 8493, + "▁ult": 8494, + "issenschaft": 8495, + "▁couldn": 8496, + "ding": 8497, + "Dep": 8498, + "{-": 8499, + "▁predict": 8500, + "antage": 8501, + "▁Like": 8502, + "▁Би": 8503, + "tools": 8504, + "estra": 8505, + "▁ki": 8506, + "▁Jim": 8507, + "star": 8508, + "▁remark": 8509, + "óg": 8510, + "nabla": 8511, + "▁Although": 8512, + "mode": 8513, + "Host": 8514, + "▁strange": 8515, + "None": 8516, + "black": 8517, + "▁Festival": 8518, + "▁IS": 8519, + "anza": 8520, + "▁(-": 8521, + "icket": 8522, + "кола": 8523, + "▁Jes": 8524, + "▁flex": 8525, + "▁À": 8526, + "▁Network": 8527, + "▁EX": 8528, + "▁enero": 8529, + "!”": 8530, + "▁Ort": 8531, + "▁alors": 8532, + "▁Original": 8533, + "▁zo": 8534, + "ными": 8535, + "▁spl": 8536, + "Draw": 8537, + "yond": 8538, + "──": 8539, + "▁Ot": 8540, + "▁dram": 8541, + "▁division": 8542, + "▁efficient": 8543, + "▁Га": 8544, + "▁vier": 8545, + "nak": 8546, + "LS": 8547, + "▁spirit": 8548, + "zeichnet": 8549, + "▁dici": 8550, + "clear": 8551, + "copy": 8552, + "yar": 8553, + "▁році": 8554, + "usqu": 8555, + "▁nous": 8556, + "▁blev": 8557, + "жде": 8558, + "Arg": 8559, + "▁performed": 8560, + "▁Make": 8561, + "▁Carol": 8562, + "etto": 8563, + "▁Sand": 8564, + "▁Disc": 8565, + "Enc": 8566, + "rero": 8567, + "hash": 8568, + "▁focus": 8569, + "▁attention": 8570, + "▁agre": 8571, + "▁divis": 8572, + "▁было": 8573, + "▁ej": 8574, + "▁march": 8575, + "▁phase": 8576, + "ías": 8577, + "▁phil": 8578, + "▁Pap": 8579, + "▁river": 8580, + "▁caused": 8581, + "plugin": 8582, + "▁Team": 8583, + "uler": 8584, + "▁$(\"#": 8585, + "iej": 8586, + "ISBN": 8587, + "nam": 8588, + "▁fight": 8589, + "vid": 8590, + "▁Lud": 8591, + "Selected": 8592, + ":@\"": 8593, + "▁Pod": 8594, + "▁années": 8595, + "arios": 8596, + "▁deutscher": 8597, + "▁NA": 8598, + "▁ию": 8599, + "▁dictionary": 8600, + "▁Ла": 8601, + "▁Tri": 8602, + "èn": 8603, + "▁political": 8604, + "ridge": 8605, + "atten": 8606, + "▁circle": 8607, + "▁transport": 8608, + "emas": 8609, + "FC": 8610, + "▁replaced": 8611, + "▁Aud": 8612, + "iska": 8613, + "Configuration": 8614, + "▁soort": 8615, + "▁Не": 8616, + "▁sequ": 8617, + "PRO": 8618, + "▁bud": 8619, + "▁{{": 8620, + "ließ": 8621, + "▁Mas": 8622, + "ders": 8623, + "usammen": 8624, + "esa": 8625, + "▁Ly": 8626, + "вро": 8627, + "mac": 8628, + "▁испо": 8629, + "▁suc": 8630, + "uy": 8631, + "▁illustr": 8632, + "▁primera": 8633, + "ilation": 8634, + "▁storage": 8635, + "▁params": 8636, + "kaz": 8637, + "▁terminal": 8638, + "раль": 8639, + "▁holds": 8640, + "лось": 8641, + "▁nad": 8642, + "”.": 8643, + "▁octubre": 8644, + "bul": 8645, + "▁hus": 8646, + "ULT": 8647, + "▁également": 8648, + "▁Mill": 8649, + "ład": 8650, + "▁contiene": 8651, + "\"?": 8652, + "▁>>>": 8653, + "Que": 8654, + "  ": 8655, + "▁plain": 8656, + "ativa": 8657, + "ocker": 8658, + "Names": 8659, + "▁Jud": 8660, + "▁agree": 8661, + "▁Gemeinde": 8662, + "lare": 8663, + "каза": 8664, + "▁starts": 8665, + "▁price": 8666, + "Target": 8667, + "cus": 8668, + "▁Instead": 8669, + ".;": 8670, + "▁alternative": 8671, + "▁вла": 8672, + "IE": 8673, + "▁organiz": 8674, + "inu": 8675, + "▁completed": 8676, + "▁carry": 8677, + "atom": 8678, + "▁depending": 8679, + "▁Our": 8680, + "▁insp": 8681, + "▁&\\": 8682, + "aily": 8683, + "irection": 8684, + "фа": 8685, + "▁defe": 8686, + "TAC": 8687, + "▁designed": 8688, + "▁voir": 8689, + "break": 8690, + "▁partie": 8691, + "▁Jahren": 8692, + "▁studio": 8693, + "▁jour": 8694, + "▁Notes": 8695, + "fire": 8696, + "house": 8697, + "success": 8698, + "▁Juan": 8699, + "JS": 8700, + "▁Custom": 8701, + "▁besch": 8702, + "▁stated": 8703, + "bootstrap": 8704, + "ött": 8705, + "ozzá": 8706, + "▁CON": 8707, + "hav": 8708, + "▁sleep": 8709, + "eda": 8710, + "hot": 8711, + "ánd": 8712, + "▁Sy": 8713, + "▁temps": 8714, + "amar": 8715, + "▁scal": 8716, + "▁ast": 8717, + "▁opening": 8718, + "clipse": 8719, + "▁programming": 8720, + "▁letters": 8721, + "▁profile": 8722, + "nah": 8723, + "▁beyond": 8724, + "▁Further": 8725, + "faces": 8726, + "▁chart": 8727, + "зда": 8728, + "aign": 8729, + "ній": 8730, + "▁Rol": 8731, + "овано": 8732, + "terior": 8733, + "wed": 8734, + "▁herself": 8735, + "▁ng": 8736, + "anguages": 8737, + "}=\\": 8738, + "ynamic": 8739, + "▁jug": 8740, + "▁Example": 8741, + "▁(†": 8742, + "▁playing": 8743, + "▁usage": 8744, + "▁managed": 8745, + "▁Natur": 8746, + "тери": 8747, + "▁Et": 8748, + "eria": 8749, + "▁daughter": 8750, + "нием": 8751, + "Fragment": 8752, + "▁hol": 8753, + "Fl": 8754, + "ографи": 8755, + "▁ihn": 8756, + "üh": 8757, + "instance": 8758, + "▁comun": 8759, + "▁truth": 8760, + "▁само": 8761, + "▁implemented": 8762, + "▁anyway": 8763, + "▁Cro": 8764, + "фе": 8765, + "GC": 8766, + "ubuntu": 8767, + "types": 8768, + "ês": 8769, + ".~\\": 8770, + "fold": 8771, + "▁joined": 8772, + "??": 8773, + "▁mé": 8774, + "▁wild": 8775, + "клю": 8776, + "rowser": 8777, + "▁Home": 8778, + "skiej": 8779, + "▁JOIN": 8780, + "▁juin": 8781, + "hof": 8782, + "▁dataset": 8783, + "жду": 8784, + "'))": 8785, + "▁miejs": 8786, + "API": 8787, + "▁edited": 8788, + "ools": 8789, + "▁seeing": 8790, + "ijd": 8791, + "▁procedure": 8792, + "▁Bras": 8793, + "▁signed": 8794, + "▁externos": 8795, + "▁disapp": 8796, + "▁Direct": 8797, + "cyc": 8798, + "▁consult": 8799, + "örd": 8800, + "Widget": 8801, + "cious": 8802, + "sect": 8803, + "▁Ди": 8804, + "▁wind": 8805, + "▁Archivado": 8806, + "aml": 8807, + "сс": 8808, + "Wh": 8809, + "kbd": 8810, + "▁Army": 8811, + "▁suffer": 8812, + "artifact": 8813, + "▁resolve": 8814, + "▁Sport": 8815, + "▁це": 8816, + "idas": 8817, + "▁tax": 8818, + "idi": 8819, + "▁actions": 8820, + "пра": 8821, + "pués": 8822, + "▁naj": 8823, + "False": 8824, + "▁chance": 8825, + "▁тако": 8826, + "äd": 8827, + "▁dol": 8828, + "▁env": 8829, + "▁basically": 8830, + "▁Council": 8831, + "zte": 8832, + "▁displayed": 8833, + "nil": 8834, + "complete": 8835, + "▁Lem": 8836, + "iance": 8837, + "▁основ": 8838, + "▁depend": 8839, + "plom": 8840, + "ensus": 8841, + "uts": 8842, + "▁Hot": 8843, + "bitr": 8844, + "▁validation": 8845, + "abb": 8846, + "▁тре": 8847, + "km": 8848, + "zd": 8849, + "öff": 8850, + "WE": 8851, + "▁interested": 8852, + "▁{\"": 8853, + "aro": 8854, + "▁correl": 8855, + "▁dedic": 8856, + "▁lists": 8857, + "▁Bibliografia": 8858, + "▁earlier": 8859, + "program": 8860, + "▁première": 8861, + "front": 8862, + "Tab": 8863, + "ству": 8864, + "drop": 8865, + "▁fear": 8866, + "▁Enlaces": 8867, + "▁Capt": 8868, + "▁realiz": 8869, + "▁hal": 8870, + "▁instances": 8871, + "▁susp": 8872, + "illing": 8873, + "%;": 8874, + "{}": 8875, + "||": 8876, + "▁partition": 8877, + "▁Build": 8878, + "▁wo": 8879, + "▁Пер": 8880, + "▁director": 8881, + "▁Sin": 8882, + "тия": 8883, + "rsg": 8884, + "ouver": 8885, + "▁nearly": 8886, + "oda": 8887, + "ктив": 8888, + "▁sir": 8889, + "IME": 8890, + "▁janvier": 8891, + "▁Win": 8892, + "Build": 8893, + "ieurs": 8894, + "INE": 8895, + "double": 8896, + "Last": 8897, + "▁policy": 8898, + "store": 8899, + "▁observed": 8900, + "▁familie": 8901, + "nica": 8902, + "rey": 8903, + "зь": 8904, + "▁Year": 8905, + "▁developed": 8906, + "▁Institute": 8907, + "▁reply": 8908, + "Comple": 8909, + "ician": 8910, + "▁Guer": 8911, + "▁dall": 8912, + "▁desp": 8913, + "▁Football": 8914, + "Empty": 8915, + "cken": 8916, + "unda": 8917, + "▁Ur": 8918, + "▁ig": 8919, + "▁Atl": 8920, + "author": 8921, + "▁Bol": 8922, + "zig": 8923, + "nat": 8924, + "št": 8925, + "security": 8926, + "onic": 8927, + "▁pes": 8928, + "itan": 8929, + "▁Extern": 8930, + "jan": 8931, + "VAL": 8932, + "▁им": 8933, + "bold": 8934, + "▁ва": 8935, + "▁Мо": 8936, + "▁disput": 8937, + "▁trick": 8938, + "▁ped": 8939, + ")^{": 8940, + "into": 8941, + "Sim": 8942, + "▁parallel": 8943, + "fox": 8944, + "normal": 8945, + "inent": 8946, + "педи": 8947, + "hold": 8948, + "OK": 8949, + "▁chem": 8950, + "▁twice": 8951, + "▁username": 8952, + "ič": 8953, + "▁representation": 8954, + "▁journal": 8955, + "▁:-": 8956, + "▁batt": 8957, + "\\%": 8958, + "▁certainly": 8959, + "▁Exception": 8960, + "eps": 8961, + "shot": 8962, + "ategy": 8963, + "Show": 8964, + "▁Carl": 8965, + "rig": 8966, + "▁reported": 8967, + "bottom": 8968, + "TF": 8969, + "▁Francisco": 8970, + "nap": 8971, + "▁Championship": 8972, + "▁court": 8973, + "▁sources": 8974, + "iour": 8975, + "▁conserv": 8976, + "dict": 8977, + "▁Ру": 8978, + "IB": 8979, + "▁Ve": 8980, + "▁№": 8981, + "▁ER": 8982, + "\"));": 8983, + "▁Point": 8984, + "azine": 8985, + "▁internet": 8986, + "дна": 8987, + "▁carried": 8988, + "▁Field": 8989, + "axis": 8990, + "▁Sun": 8991, + "▁ave": 8992, + "пис": 8993, + "ян": 8994, + "asy": 8995, + "▁julio": 8996, + "▁depuis": 8997, + "▁suggestion": 8998, + "[[": 8999, + "▁Archive": 9000, + "ęp": 9001, + "▁Pra": 9002, + "reh": 9003, + "▁demonstr": 9004, + "фі": 9005, + "cmd": 9006, + "▁wasn": 9007, + "▁phone": 9008, + "upload": 9009, + "aya": 9010, + "тора": 9011, + "lines": 9012, + "▁indu": 9013, + "▁vot": 9014, + "▁espa": 9015, + "▁bin": 9016, + "▁после": 9017, + "plan": 9018, + "▁junio": 9019, + "orial": 9020, + "free": 9021, + "sterreich": 9022, + "▁ду": 9023, + "▁linked": 9024, + "▁enable": 9025, + "PC": 9026, + "▁density": 9027, + "▁Egy": 9028, + "yo": 9029, + "endre": 9030, + "▁съ": 9031, + "▁italiano": 9032, + "▁AR": 9033, + "▁Pers": 9034, + "férés": 9035, + "▁скла": 9036, + "Var": 9037, + "▁Once": 9038, + "Red": 9039, + "buffer": 9040, + "▁Enter": 9041, + "▁Š": 9042, + "imiento": 9043, + "Store": 9044, + "▁health": 9045, + "vat": 9046, + "IST": 9047, + "Oh": 9048, + "▁kw": 9049, + "▁riv": 9050, + "▁somewhere": 9051, + "ografie": 9052, + "private": 9053, + "кти": 9054, + "▁delay": 9055, + "▁Http": 9056, + "job": 9057, + "rael": 9058, + "empor": 9059, + "▁diciembre": 9060, + "ête": 9061, + "цу": 9062, + "▁commit": 9063, + "oso": 9064, + "Values": 9065, + "▁headers": 9066, + "transform": 9067, + "▁processing": 9068, + "rå": 9069, + "▁Ah": 9070, + "▁Node": 9071, + "------------": 9072, + "▁faire": 9073, + "▁hun": 9074, + "Player": 9075, + "▁review": 9076, + "гда": 9077, + "▁limited": 9078, + "▁Property": 9079, + "▁serve": 9080, + "riage": 9081, + "▁Master": 9082, + "▁kann": 9083, + "crete": 9084, + "phere": 9085, + "ёр": 9086, + "▁chief": 9087, + "▁scene": 9088, + "kin": 9089, + "▁uniform": 9090, + "▁febrero": 9091, + "\"}": 9092, + "illo": 9093, + "ITE": 9094, + "ouvel": 9095, + "usepackage": 9096, + "enth": 9097, + "▁quickly": 9098, + "Lambda": 9099, + "xes": 9100, + "▁cells": 9101, + "rog": 9102, + "amin": 9103, + "▁Мар": 9104, + "▁mayor": 9105, + "player": 9106, + "++;": 9107, + "▁Насе": 9108, + "▁safe": 9109, + "▁veloc": 9110, + "▁обра": 9111, + "Database": 9112, + "neh": 9113, + "Vert": 9114, + "▁fle": 9115, + "▁фор": 9116, + "▁foreign": 9117, + "Abstract": 9118, + "▁magn": 9119, + "▁modified": 9120, + "▁military": 9121, + "▁monde": 9122, + "▁Action": 9123, + "▁bank": 9124, + "Serial": 9125, + "▁continuous": 9126, + "▁gel": 9127, + "▁physical": 9128, + "▁introduced": 9129, + "uture": 9130, + "rick": 9131, + "▁presented": 9132, + "▁Prov": 9133, + "▁Both": 9134, + "Pos": 9135, + "super": 9136, + "&#": 9137, + "▁finding": 9138, + "nel": 9139, + "unde": 9140, + "▁från": 9141, + "skim": 9142, + "▁Hill": 9143, + "fn": 9144, + "▁Canad": 9145, + "▁intended": 9146, + "ozzáférés": 9147, + "▁juillet": 9148, + "▁Wars": 9149, + "▁successful": 9150, + "▁charg": 9151, + "iele": 9152, + "omething": 9153, + "oku": 9154, + "fetch": 9155, + "▁}}": 9156, + "bank": 9157, + "operatorname": 9158, + "▁Color": 9159, + "▁Card": 9160, + "tu": 9161, + "▁\",": 9162, + "wid": 9163, + "▁gep": 9164, + "XML": 9165, + "================": 9166, + "▁Virgin": 9167, + "ährend": 9168, + "licated": 9169, + "Dir": 9170, + "zero": 9171, + "▁Kal": 9172, + "▁Party": 9173, + "▁å": 9174, + "price": 9175, + "don": 9176, + "▁warning": 9177, + "▁Bad": 9178, + "▁Supp": 9179, + "▁Liga": 9180, + "▁Pierre": 9181, + "Record": 9182, + "ulator": 9183, + "▁Rome": 9184, + "▁theorem": 9185, + "▁entirely": 9186, + "ским": 9187, + "het": 9188, + "▁dopo": 9189, + "Next": 9190, + "mlung": 9191, + "wig": 9192, + "▁Ath": 9193, + "▁Sou": 9194, + "licher": 9195, + "▁sudo": 9196, + "ests": 9197, + "хів": 9198, + "▁septiembre": 9199, + "▁micro": 9200, + "▁trop": 9201, + "fit": 9202, + "Core": 9203, + "▁Radio": 9204, + "▁Organ": 9205, + "▁Power": 9206, + "CF": 9207, + "▁Last": 9208, + "▁oppos": 9209, + "▁offset": 9210, + "▁regia": 9211, + "▁minimum": 9212, + "▁helped": 9213, + "andon": 9214, + "ifying": 9215, + "ruit": 9216, + "enschapp": 9217, + "▁bere": 9218, + "VM": 9219, + "▁Awards": 9220, + "▁agr": 9221, + "ynomial": 9222, + "enced": 9223, + "▁devices": 9224, + "▁bot": 9225, + "▁firm": 9226, + "▁writer": 9227, + "▁ring": 9228, + ".-": 9229, + "istes": 9230, + "lä": 9231, + "▁mel": 9232, + "entation": 9233, + "▁Schw": 9234, + "▁nome": 9235, + "▁pobla": 9236, + "▁woj": 9237, + "▁ul": 9238, + "ento": 9239, + "ых": 9240, + "▁resist": 9241, + "▁remains": 9242, + "▁Ca": 9243, + "aña": 9244, + "▁Court": 9245, + "utable": 9246, + "entially": 9247, + "▁trat": 9248, + "▁Visual": 9249, + "▁restrict": 9250, + "▁previously": 9251, + "cation": 9252, + "▁осо": 9253, + "▁MySQL": 9254, + "för": 9255, + "cala": 9256, + "▁culture": 9257, + "live": 9258, + "▁accepted": 9259, + "Did": 9260, + "▁hous": 9261, + "▁selection": 9262, + "▁decre": 9263, + "margin": 9264, + "urb": 9265, + "▁Inc": 9266, + "▁Many": 9267, + "ibt": 9268, + "▁succeed": 9269, + "Binding": 9270, + "cí": 9271, + "▁Rog": 9272, + "▁shouldn": 9273, + "cloud": 9274, + "▁dz": 9275, + "вав": 9276, + "▁pix": 9277, + "small": 9278, + "▁projects": 9279, + "▁OK": 9280, + "▁latest": 9281, + "▁references": 9282, + "Program": 9283, + "▁erst": 9284, + "▁як": 9285, + "▁kam": 9286, + "▁Camb": 9287, + "ellt": 9288, + "öd": 9289, + "none": 9290, + "▁jusqu": 9291, + "king": 9292, + "▁Ped": 9293, + "assert": 9294, + "CS": 9295, + "rito": 9296, + "essa": 9297, + "лько": 9298, + "▁Von": 9299, + "▁Edward": 9300, + "▁impossible": 9301, + "np": 9302, + "words": 9303, + "ielt": 9304, + "▁Page": 9305, + "lers": 9306, + "▁pier": 9307, + "▁области": 9308, + "ittee": 9309, + "▁([": 9310, + "▁trust": 9311, + "NG": 9312, + "redu": 9313, + "<<": 9314, + "rial": 9315, + "▁products": 9316, + "▁Ern": 9317, + "rière": 9318, + "гов": 9319, + "▁Reich": 9320, + "▁Road": 9321, + "▁nested": 9322, + "Display": 9323, + "▁strength": 9324, + "ografía": 9325, + "▁announced": 9326, + "▁Science": 9327, + "▁райо": 9328, + "Parameter": 9329, + "▁Task": 9330, + "uments": 9331, + "▁adopt": 9332, + "▁Only": 9333, + "ють": 9334, + "▁cli": 9335, + "▁lem": 9336, + "stood": 9337, + "▁FI": 9338, + "ências": 9339, + "ponents": 9340, + "]$": 9341, + "comment": 9342, + "▁ya": 9343, + "should": 9344, + "ike": 9345, + "tim": 9346, + "ellig": 9347, + "▁sending": 9348, + "▁ajax": 9349, + "▁noviembre": 9350, + "umes": 9351, + "▁weiter": 9352, + "▁Dans": 9353, + "opp": 9354, + "▁septembre": 9355, + "otimes": 9356, + "ző": 9357, + "▁ep": 9358, + "vere": 9359, + "▁oh": 9360, + ":=": 9361, + "▁Song": 9362, + "”,": 9363, + "▁viv": 9364, + "▁queries": 9365, + "▁vá": 9366, + "▁décembre": 9367, + "▁unable": 9368, + "▁erh": 9369, + "▁`-": 9370, + "▁Lee": 9371, + "▁ersten": 9372, + "ôt": 9373, + "стве": 9374, + "TS": 9375, + "▁fragment": 9376, + "▁wide": 9377, + "▁suff": 9378, + "▁dut": 9379, + "▁Vere": 9380, + "іс": 9381, + "ading": 9382, + "iego": 9383, + "icago": 9384, + "▁Argent": 9385, + "orer": 9386, + "ennes": 9387, + "▁Leb": 9388, + "linux": 9389, + "acing": 9390, + "▁broken": 9391, + "tp": 9392, + "ío": 9393, + "abeth": 9394, + "istas": 9395, + "gew": 9396, + "ième": 9397, + "cas": 9398, + "▁preced": 9399, + "▁Dal": 9400, + "▁compared": 9401, + "equiv": 9402, + "illy": 9403, + "teen": 9404, + "▁Console": 9405, + "▁strict": 9406, + "itaire": 9407, + "▁ED": 9408, + "entials": 9409, + "▁perman": 9410, + "▁tous": 9411, + "▁geme": 9412, + "▁extrem": 9413, + "▁окру": 9414, + "kg": 9415, + "▁heavy": 9416, + "▁avril": 9417, + "▁anti": 9418, + "▁octobre": 9419, + "utf": 9420, + "helm": 9421, + "amples": 9422, + "▁(_": 9423, + "aken": 9424, + "▁dear": 9425, + "▁opinion": 9426, + "▁fish": 9427, + "▁Alexander": 9428, + "iw": 9429, + "им": 9430, + "cadem": 9431, + "▁reflect": 9432, + "▁др": 9433, + "▁trib": 9434, + "common": 9435, + "▁clearly": 9436, + "▁saf": 9437, + "=\"@+": 9438, + "▁Мос": 9439, + "сите": 9440, + "eqnarray": 9441, + "nung": 9442, + "▁relationship": 9443, + "▁Sem": 9444, + "▁killed": 9445, + "ted": 9446, + "uno": 9447, + "▁лі": 9448, + "▁wid": 9449, + "anning": 9450, + "▁panel": 9451, + "▁Leben": 9452, + "▁ruby": 9453, + "ansion": 9454, + "▁aren": 9455, + "tabular": 9456, + "alet": 9457, + "}$$": 9458, + "▁Lake": 9459, + "▁suite": 9460, + "▁minor": 9461, + "Hozzáférés": 9462, + "▁xmlns": 9463, + "DIR": 9464, + "driver": 9465, + "ints": 9466, + "▁vic": 9467, + "AND": 9468, + "prim": 9469, + "сылки": 9470, + "▁Ox": 9471, + "TC": 9472, + "rivial": 9473, + "atie": 9474, + "▁eight": 9475, + "▁conflic": 9476, + "angel": 9477, + "▁Begr": 9478, + "▁explicitly": 9479, + "ются": 9480, + "▁Dev": 9481, + "render": 9482, + "▁reprodu": 9483, + "▁cré": 9484, + "Gu": 9485, + "MB": 9486, + "▁kön": 9487, + "▁remained": 9488, + "▁kl": 9489, + "хов": 9490, + "▁byl": 9491, + "Phi": 9492, + "▁detail": 9493, + "jav": 9494, + "▁mouse": 9495, + "Bas": 9496, + "ię": 9497, + "asser": 9498, + "hs": 9499, + "▁shift": 9500, + "▁últ": 9501, + "rand": 9502, + "▁btn": 9503, + "raz": 9504, + "▁pul": 9505, + "▁statements": 9506, + "filename": 9507, + "▁prompt": 9508, + "élé": 9509, + "ikz": 9510, + "▁Sus": 9511, + "▁debut": 9512, + "Stat": 9513, + "forms": 9514, + "▁Hein": 9515, + "stadt": 9516, + "ennis": 9517, + "пол": 9518, + "arante": 9519, + "цій": 9520, + "▁queue": 9521, + "▁reci": 9522, + "▁sta": 9523, + "ynchron": 9524, + "centering": 9525, + "Some": 9526, + "Graph": 9527, + "▁tested": 9528, + "▁Kunst": 9529, + "ом": 9530, + "▁Nothing": 9531, + "ieu": 9532, + "“.": 9533, + "Bundle": 9534, + "▁oficial": 9535, + "allow": 9536, + "▁React": 9537, + "▁Library": 9538, + "blue": 9539, + "▁verw": 9540, + "▁pare": 9541, + "▁Friedrich": 9542, + "▁aware": 9543, + "Exp": 9544, + "▁effects": 9545, + "▁горо": 9546, + "lopedia": 9547, + "▁Ven": 9548, + "rale": 9549, + "▁Final": 9550, + "▁propos": 9551, + "lacement": 9552, + "kten": 9553, + "▁novel": 9554, + "orter": 9555, + "▁Germany": 9556, + "▁django": 9557, + "▁transition": 9558, + "▁happened": 9559, + "▁beautiful": 9560, + "▁neither": 9561, + "▁libraries": 9562, + "▁hide": 9563, + "alg": 9564, + "▁aspect": 9565, + "▁forget": 9566, + "cademy": 9567, + "onte": 9568, + "refix": 9569, + "▁cloud": 9570, + "ned": 9571, + "cdots": 9572, + "register": 9573, + "nym": 9574, + ".):": 9575, + "▁Jew": 9576, + "▁très": 9577, + "ниче": 9578, + "▁Dor": 9579, + "▁proc": 9580, + "▁gan": 9581, + "▁є": 9582, + "▁Sav": 9583, + "ví": 9584, + "Settings": 9585, + "▁Vari": 9586, + "▁cours": 9587, + "Ro": 9588, + "▁conj": 9589, + "▁reasons": 9590, + "▁reader": 9591, + "лександ": 9592, + "icate": 9593, + "}),": 9594, + "▁tasks": 9595, + "▁Ray": 9596, + "▁ric": 9597, + "Ke": 9598, + "onie": 9599, + "rf": 9600, + ")[": 9601, + "▁subsequ": 9602, + "▁Turn": 9603, + "▁VIAF": 9604, + "mathsf": 9605, + "HE": 9606, + "▁declare": 9607, + "▁protocol": 9608, + "▁PC": 9609, + "цион": 9610, + "ViewById": 9611, + "▁animation": 9612, + "▁confused": 9613, + "вич": 9614, + "▁enabled": 9615, + "owo": 9616, + "ást": 9617, + "öt": 9618, + "▁mand": 9619, + "▁Rail": 9620, + "fields": 9621, + "▁Kap": 9622, + "▁algebra": 9623, + "▁Су": 9624, + "férence": 9625, + "▁Current": 9626, + "сно": 9627, + "▁Lim": 9628, + "Params": 9629, + "▁Antonio": 9630, + "▁tv": 9631, + "late": 9632, + "ifer": 9633, + "Entry": 9634, + "▁Serv": 9635, + "▁musical": 9636, + "▁trace": 9637, + "▁scient": 9638, + "fic": 9639, + "▁forgot": 9640, + "video": 9641, + "▁older": 9642, + "Tree": 9643, + "▁uns": 9644, + "ники": 9645, + "▁Europa": 9646, + "▁Zwe": 9647, + "▁бе": 9648, + "▁vec": 9649, + "жу": 9650, + "▁▁▁▁▁▁▁▁▁▁▁": 9651, + "Match": 9652, + "span": 9653, + "▁blank": 9654, + "▁später": 9655, + "▁Ty": 9656, + "▁dict": 9657, + "ña": 9658, + "▁confirm": 9659, + "▁vý": 9660, + "зан": 9661, + "Rel": 9662, + "film": 9663, + "▁Rot": 9664, + "▁Hy": 9665, + "ках": 9666, + "▁demand": 9667, + "▁minist": 9668, + "▁Madrid": 9669, + "▁usual": 9670, + "spiel": 9671, + "eros": 9672, + "▁tutorial": 9673, + "▁Ссылки": 9674, + "sys": 9675, + "циаль": 9676, + "▁spread": 9677, + "▁convers": 9678, + "▁roll": 9679, + "artifactId": 9680, + "▁Number": 9681, + "▁symmet": 9682, + "▁Mult": 9683, + "expected": 9684, + "▁axis": 9685, + "▁matching": 9686, + "▁food": 9687, + "groupId": 9688, + "Mapp": 9689, + "▁свя": 9690, + "▁vend": 9691, + "Found": 9692, + "otto": 9693, + "Cat": 9694, + "crit": 9695, + "istent": 9696, + "▁drei": 9697, + "▁ended": 9698, + "▁Tele": 9699, + "component": 9700, + "▁involved": 9701, + "▁Estados": 9702, + "▁danger": 9703, + "▁chain": 9704, + "▁Prom": 9705, + "hom": 9706, + "▁polít": 9707, + "cop": 9708, + "▁nap": 9709, + "rif": 9710, + "plements": 9711, + "▁vent": 9712, + "anna": 9713, + "anted": 9714, + "dated": 9715, + "anth": 9716, + "▁threads": 9717, + "зова": 9718, + "▁станов": 9719, + "▁eerst": 9720, + "buf": 9721, + "heid": 9722, + "▁Ru": 9723, + "▁Prim": 9724, + "▁migr": 9725, + "▁Unidos": 9726, + "▁arbitr": 9727, + "▁roman": 9728, + "ountry": 9729, + "ultur": 9730, + "▁König": 9731, + "▁annot": 9732, + "aching": 9733, + "▁Haupt": 9734, + "umin": 9735, + "▁hem": 9736, + "ckets": 9737, + "bau": 9738, + "ection": 9739, + "eft": 9740, + "▁packages": 9741, + "▁Kur": 9742, + "thur": 9743, + "▁pays": 9744, + "liament": 9745, + "▁Бу": 9746, + "▁cada": 9747, + "points": 9748, + "ocket": 9749, + "▁verb": 9750, + "лее": 9751, + "▁submit": 9752, + "▁san": 9753, + "ruby": 9754, + "▁east": 9755, + "kov": 9756, + "▁Verlag": 9757, + "▁spot": 9758, + "ppo": 9759, + "Each": 9760, + "jekt": 9761, + "▁Biographie": 9762, + "▁news": 9763, + "▁país": 9764, + "ufact": 9765, + "▁dia": 9766, + "кова": 9767, + "▁accompl": 9768, + "▁Ét": 9769, + "ilities": 9770, + "▁ihm": 9771, + "invoke": 9772, + "▁append": 9773, + ".),": 9774, + "▁lab": 9775, + "anging": 9776, + "istan": 9777, + "resol": 9778, + "▁Section": 9779, + "Parent": 9780, + "moz": 9781, + "Mat": 9782, + "styles": 9783, + "unden": 9784, + "“,": 9785, + "irtschaft": 9786, + "ким": 9787, + "▁Finally": 9788, + "phen": 9789, + "▁Pac": 9790, + "▁ArrayList": 9791, + "▁recover": 9792, + "▁education": 9793, + "models": 9794, + "ped": 9795, + "▁happy": 9796, + "чу": 9797, + "▁guerra": 9798, + "media": 9799, + "OF": 9800, + "▁ensure": 9801, + "Mark": 9802, + "database": 9803, + "oggle": 9804, + "▁publish": 9805, + "OW": 9806, + "▁Bau": 9807, + "?.": 9808, + "▁части": 9809, + "▁repository": 9810, + "▁Matt": 9811, + "high": 9812, + "oven": 9813, + "▁ger": 9814, + "▁unknown": 9815, + "Amer": 9816, + "▁Brown": 9817, + "ALL": 9818, + "▁resulting": 9819, + "▁bor": 9820, + "▁poet": 9821, + "ними": 9822, + "Email": 9823, + "Font": 9824, + "▁hist": 9825, + "▁today": 9826, + "▁Berg": 9827, + "▁buttons": 9828, + "тал": 9829, + "▁sni": 9830, + "▁челов": 9831, + "Cre": 9832, + "▁union": 9833, + "▁zich": 9834, + "ishop": 9835, + "▁quando": 9836, + "Po": 9837, + "CTION": 9838, + "▁Cost": 9839, + "судар": 9840, + "erved": 9841, + "Note": 9842, + "Equal": 9843, + "лия": 9844, + "бур": 9845, + "▁abstract": 9846, + "stop": 9847, + "▁advice": 9848, + "▁icon": 9849, + "▁travel": 9850, + "BS": 9851, + "vens": 9852, + "▁batch": 9853, + "lique": 9854, + "sheet": 9855, + "▁ihre": 9856, + "emon": 9857, + "berto": 9858, + "▁assigned": 9859, + "ью": 9860, + "Phone": 9861, + "▁award": 9862, + "▁functionality": 9863, + "alla": 9864, + "▁Dam": 9865, + "▁ciudad": 9866, + "▁cluster": 9867, + "Description": 9868, + "▁sheet": 9869, + "▁Australian": 9870, + "▁».": 9871, + "▁\"<": 9872, + "▁wondering": 9873, + "aine": 9874, + "▁represented": 9875, + "kappa": 9876, + "nb": 9877, + "▁sy": 9878, + "▁Kö": 9879, + "=\"#": 9880, + "▁seven": 9881, + "Directory": 9882, + "▁sister": 9883, + "plates": 9884, + "▁luck": 9885, + "▁remaining": 9886, + "▁Vill": 9887, + "werk": 9888, + "anni": 9889, + "etti": 9890, + "func": 9891, + "▁ban": 9892, + "ims": 9893, + "miss": 9894, + "agraph": 9895, + "екси": 9896, + "▁Ref": 9897, + "nitt": 9898, + "▁Gab": 9899, + "▁andere": 9900, + "▁jedoch": 9901, + "results": 9902, + "!\\": 9903, + "▁listed": 9904, + "▁loro": 9905, + "▁knows": 9906, + "жно": 9907, + "Rad": 9908, + "▁socket": 9909, + "multi": 9910, + "▁рі": 9911, + "rails": 9912, + "▁tar": 9913, + "▁gentle": 9914, + "sett": 9915, + "services": 9916, + "bound": 9917, + "igkeit": 9918, + "aja": 9919, + "▁cmd": 9920, + "agger": 9921, + "▁ba": 9922, + "▁Belg": 9923, + "▁Kle": 9924, + "▁wordt": 9925, + "▁fost": 9926, + "▁dimension": 9927, + "Ang": 9928, + "uming": 9929, + "Obj": 9930, + "нен": 9931, + "▁Marie": 9932, + "exists": 9933, + "тро": 9934, + "▁боль": 9935, + "emente": 9936, + "▁Jon": 9937, + "SERT": 9938, + "▁highest": 9939, + "aki": 9940, + "▁tres": 9941, + "▁circum": 9942, + "▁Down": 9943, + "ommen": 9944, + "urer": 9945, + "▁causes": 9946, + "venue": 9947, + "issance": 9948, + "▁influence": 9949, + "▁fat": 9950, + "реди": 9951, + "}\\\\": 9952, + "▁entr": 9953, + "▁Sign": 9954, + "▁кла": 9955, + "▁binding": 9956, + "essen": 9957, + "▁Фран": 9958, + "▁Local": 9959, + "▁явля": 9960, + "appro": 9961, + "▁dependencies": 9962, + "▁talking": 9963, + "▁zurück": 9964, + "connection": 9965, + "Active": 9966, + "bbe": 9967, + "irls": 9968, + "▁Inf": 9969, + "wd": 9970, + "▁ис": 9971, + "road": 9972, + "▁conven": 9973, + "ět": 9974, + "вез": 9975, + "▁entries": 9976, + "esc": 9977, + "▁bits": 9978, + "asso": 9979, + "WR": 9980, + "ships": 9981, + "▁dés": 9982, + "esp": 9983, + "Make": 9984, + "▁familiar": 9985, + "Art": 9986, + "▁army": 9987, + "ctr": 9988, + "éric": 9989, + "queue": 9990, + "▁\\{": 9991, + "uela": 9992, + "amiento": 9993, + "ших": 9994, + "▁\"\"\"": 9995, + "contr": 9996, + "лле": 9997, + "FS": 9998, + "▁market": 9999, + "ång": 10000, + "citep": 10001, + "Ill": 10002, + "rank": 10003, + "▁sender": 10004, + "▁beim": 10005, + "рак": 10006, + "▁compat": 10007, + "▁occurs": 10008, + "▁diese": 10009, + "ститу": 10010, + "awa": 10011, + "▁iOS": 10012, + "▁Chinese": 10013, + "▁TR": 10014, + "▁Ken": 10015, + "▁Une": 10016, + "▁creates": 10017, + "▁showed": 10018, + "▁év": 10019, + "ologia": 10020, + "▁protest": 10021, + "▁Pf": 10022, + "▁squad": 10023, + "++,": 10024, + "áv": 10025, + "▁essere": 10026, + "зя": 10027, + "kol": 10028, + "▁slightly": 10029, + "addr": 10030, + "ân": 10031, + "▁reduce": 10032, + "▁\\(\\": 10033, + "▁Dep": 10034, + "▁generic": 10035, + "Loader": 10036, + "ți": 10037, + "▁пос": 10038, + "▁occasion": 10039, + "▁Lady": 10040, + "entity": 10041, + "▁avant": 10042, + "▁Pas": 10043, + "aggio": 10044, + "\\{": 10045, + "пад": 10046, + "atholic": 10047, + "Password": 10048, + "▁respond": 10049, + "▁Non": 10050, + "AG": 10051, + "neg": 10052, + "▁ус": 10053, + "blob": 10054, + "cke": 10055, + "▁Consider": 10056, + "▁Care": 10057, + "iki": 10058, + "▁Chicago": 10059, + "inden": 10060, + "▁Cop": 10061, + "]+": 10062, + "öm": 10063, + "évrier": 10064, + "кло": 10065, + "alen": 10066, + "▁maj": 10067, + "racy": 10068, + "orte": 10069, + "ients": 10070, + "ells": 10071, + "activity": 10072, + "▁runtime": 10073, + "NULL": 10074, + "▁possibly": 10075, + "▁stri": 10076, + "izi": 10077, + "▁mir": 10078, + "▁Version": 10079, + "prime": 10080, + "▁twenty": 10081, + "▁Mah": 10082, + "▁sounds": 10083, + "шен": 10084, + "clusion": 10085, + "acz": 10086, + "▁determined": 10087, + "▁Rep": 10088, + "▁Landes": 10089, + "▁wall": 10090, + "igi": 10091, + "▁reset": 10092, + "шо": 10093, + "yan": 10094, + "Met": 10095, + "ei": 10096, + "▁appearance": 10097, + "▁fois": 10098, + "▁nell": 10099, + "esi": 10100, + "ёт": 10101, + "loor": 10102, + "▁Ul": 10103, + "▁resolution": 10104, + "▁fot": 10105, + "▁throughout": 10106, + "▁ri": 10107, + "Level": 10108, + "pool": 10109, + "▁identity": 10110, + "▁janu": 10111, + "▁imper": 10112, + "▁över": 10113, + "}`": 10114, + "▁infer": 10115, + "▁dates": 10116, + "▁Standard": 10117, + "force": 10118, + "ockey": 10119, + "tera": 10120, + "▁distingu": 10121, + "▁presence": 10122, + "lica": 10123, + "▁leaving": 10124, + "itung": 10125, + "éb": 10126, + "▁establish": 10127, + "▁maar": 10128, + "adi": 10129, + "▁News": 10130, + "azon": 10131, + "folg": 10132, + "▁Hence": 10133, + "▁Ye": 10134, + "▁fab": 10135, + "▁führ": 10136, + "itmap": 10137, + "▁Vers": 10138, + "rov": 10139, + "Sign": 10140, + "device": 10141, + "Sigma": 10142, + "▁wetenschapp": 10143, + "▁Ps": 10144, + "PATH": 10145, + "▁torn": 10146, + "vest": 10147, + "стов": 10148, + "account": 10149, + "▁largest": 10150, + "▁percent": 10151, + "▁Women": 10152, + "▁img": 10153, + "tool": 10154, + "▁roce": 10155, + "▁ay": 10156, + "inet": 10157, + "▁août": 10158, + "▁polynomial": 10159, + "▁integral": 10160, + "▁areas": 10161, + "}'": 10162, + "▁hyp": 10163, + "loyee": 10164, + "таль": 10165, + "▁proxy": 10166, + "▁Wy": 10167, + "▁Мекси": 10168, + "▁escape": 10169, + "olar": 10170, + "▁mistake": 10171, + ")}{": 10172, + "▁Pot": 10173, + "▁processes": 10174, + "\">\r": 10175, + "halten": 10176, + "zza": 10177, + "amo": 10178, + "кре": 10179, + "▁Wood": 10180, + "ør": 10181, + "▁сер": 10182, + "ocia": 10183, + "two": 10184, + "profile": 10185, + "▁Ast": 10186, + "embro": 10187, + "▁arms": 10188, + "inas": 10189, + "innen": 10190, + "▁msg": 10191, + "INT": 10192, + "▁batter": 10193, + "ignment": 10194, + "▁vy": 10195, + "Hrsg": 10196, + "▁Grund": 10197, + "roc": 10198, + "seg": 10199, + "▁decor": 10200, + "▁eventually": 10201, + ">,": 10202, + "▁pag": 10203, + "anten": 10204, + "▁strugg": 10205, + "}^\\": 10206, + "daten": 10207, + "▁rela": 10208, + "пов": 10209, + "▁коро": 10210, + "▁Bos": 10211, + "▁labor": 10212, + "▁Secret": 10213, + "ugen": 10214, + "▁jap": 10215, + "▁husband": 10216, + "▁Album": 10217, + "▁etwa": 10218, + "▁произ": 10219, + "richt": 10220, + "rach": 10221, + "bat": 10222, + "▁prepar": 10223, + "▁Stock": 10224, + "▁lack": 10225, + "хід": 10226, + "▁hogy": 10227, + "▁Chrome": 10228, + "▁Admin": 10229, + "▁comparison": 10230, + "▁increasing": 10231, + "нг": 10232, + "imi": 10233, + "Db": 10234, + "▁gef": 10235, + "ucht": 10236, + "ése": 10237, + "gence": 10238, + "▁Core": 10239, + "▁incorrect": 10240, + "▁assuming": 10241, + "ourse": 10242, + "ieron": 10243, + "▁Theorem": 10244, + "▁casa": 10245, + "jes": 10246, + "▁дере": 10247, + "▁`\"": 10248, + "LD": 10249, + "äß": 10250, + "Deb": 10251, + "▁suiv": 10252, + "▁Bank": 10253, + "libs": 10254, + "▁Leon": 10255, + "▁quart": 10256, + "▁professional": 10257, + "▁tiene": 10258, + "▁accomp": 10259, + "стер": 10260, + "▁UK": 10261, + "NN": 10262, + "▁lí": 10263, + "ця": 10264, + "kel": 10265, + "▁•": 10266, + "▁dise": 10267, + "onto": 10268, + "▁má": 10269, + "ifs": 10270, + "bild": 10271, + "▁compute": 10272, + "▁éd": 10273, + "ję": 10274, + "▁Mé": 10275, + "▁languages": 10276, + "▁Times": 10277, + "cen": 10278, + "▁авто": 10279, + "ým": 10280, + "enez": 10281, + "▁upp": 10282, + "▁méd": 10283, + "▁cuando": 10284, + "од": 10285, + "Intent": 10286, + "eerd": 10287, + "▁Tal": 10288, + "offset": 10289, + "▁haben": 10290, + "reme": 10291, + "▁Stack": 10292, + "▁dri": 10293, + "▁seinem": 10294, + "▁février": 10295, + "▁combination": 10296, + "▁soll": 10297, + "▁movement": 10298, + "Spec": 10299, + "кры": 10300, + "retch": 10301, + "Offset": 10302, + "Root": 10303, + "Ар": 10304, + "wart": 10305, + "▁Follow": 10306, + "▁Social": 10307, + "ников": 10308, + "▁→": 10309, + "Don": 10310, + "▁harm": 10311, + "agr": 10312, + "nego": 10313, + "resource": 10314, + "▁Luc": 10315, + "▁seinen": 10316, + "▁Department": 10317, + "▁Update": 10318, + "▁Texas": 10319, + "▁reve": 10320, + "▁Pos": 10321, + "▁shot": 10322, + "othe": 10323, + "▁repeated": 10324, + "▁recently": 10325, + "ában": 10326, + "aks": 10327, + "пан": 10328, + "▁cha": 10329, + "ohl": 10330, + "▁tend": 10331, + "▁дво": 10332, + "chts": 10333, + "çaise": 10334, + "pling": 10335, + "album": 10336, + "ej": 10337, + "▁`[": 10338, + "maps": 10339, + "▁units": 10340, + "▁": 15110, + "▁pří": 15111, + "pandas": 15112, + "▁Plus": 15113, + "yll": 15114, + "▁terror": 15115, + "▁crim": 15116, + "▁zak": 15117, + "issue": 15118, + "panel": 15119, + "svg": 15120, + "▁reb": 15121, + "Customer": 15122, + "switch": 15123, + "обра": 15124, + "▁Championships": 15125, + "clo": 15126, + "atte": 15127, + "▁anymore": 15128, + "▁excellent": 15129, + "▁opportunity": 15130, + "▁Bahn": 15131, + "чин": 15132, + "eting": 15133, + "▁incident": 15134, + "tom": 15135, + "Pers": 15136, + "bben": 15137, + "ственной": 15138, + "их": 15139, + "router": 15140, + "▁newly": 15141, + "▁silence": 15142, + "▁GNU": 15143, + "▁Rails": 15144, + "▁Amb": 15145, + "▁Qual": 15146, + "▁Schaus": 15147, + "▁Sohn": 15148, + "▁ALL": 15149, + "▁royal": 15150, + "▁£": 15151, + "wię": 15152, + "▁entfer": 15153, + "▁Remove": 15154, + "▁hardly": 15155, + "Using": 15156, + "лог": 15157, + "▁Ich": 15158, + "▁derni": 15159, + "▁Connection": 15160, + "fish": 15161, + "▁Inform": 15162, + "▁Ener": 15163, + "roit": 15164, + "Bbb": 15165, + "ViewModel": 15166, + "Video": 15167, + "iley": 15168, + "▁много": 15169, + "▁Gem": 15170, + "▁compreh": 15171, + "enumerate": 15172, + "ulas": 15173, + "▁Bah": 15174, + "▁Yet": 15175, + "BR": 15176, + "хра": 15177, + "▁county": 15178, + "▁Hist": 15179, + "▁Гу": 15180, + "▁Ј": 15181, + "▁mari": 15182, + "▁Clar": 15183, + "Bitmap": 15184, + "▁Cz": 15185, + "▁mån": 15186, + "▁mere": 15187, + "▁musique": 15188, + "also": 15189, + "dates": 15190, + "▁DVD": 15191, + "▁gol": 15192, + "fony": 15193, + "▁Castle": 15194, + "▁фами": 15195, + "▁arrang": 15196, + "▁Business": 15197, + "▁Kaz": 15198, + "▁osc": 15199, + "▁secolo": 15200, + "▁affected": 15201, + "▁Health": 15202, + "reb": 15203, + "editor": 15204, + "▁owned": 15205, + "tl": 15206, + "▁ví": 15207, + "чних": 15208, + "кви": 15209, + "▁devient": 15210, + "Mutable": 15211, + "▁tegen": 15212, + "Register": 15213, + "єю": 15214, + "▁caracter": 15215, + "лли": 15216, + "▁nouvelle": 15217, + "oko": 15218, + "ichtet": 15219, + "▁evol": 15220, + "▁Hab": 15221, + "▁militar": 15222, + "▁puts": 15223, + "endif": 15224, + "▁Davis": 15225, + "▁Scotland": 15226, + "regular": 15227, + "▁Context": 15228, + "ispiel": 15229, + "▁Gallery": 15230, + "\",\r": 15231, + "▁arc": 15232, + "▁INFO": 15233, + "▁cod": 15234, + "дів": 15235, + "▁varchar": 15236, + "▁toujours": 15237, + "atial": 15238, + "▁hanno": 15239, + "▁профес": 15240, + "▁launched": 15241, + "▁населення": 15242, + "▁ton": 15243, + "aused": 15244, + "▁із": 15245, + "▁tö": 15246, + "▁Pur": 15247, + "▁olymp": 15248, + "ARN": 15249, + "óm": 15250, + "▁august": 15251, + "▁furn": 15252, + "▁Colomb": 15253, + "▁Staats": 15254, + "hora": 15255, + "▁мор": 15256, + "canvas": 15257, + "▁grave": 15258, + "▁composition": 15259, + "acja": 15260, + "▁которые": 15261, + "▁чо": 15262, + "General": 15263, + "ані": 15264, + "▁Johannes": 15265, + "кар": 15266, + "▁част": 15267, + "▁Васи": 15268, + "ssh": 15269, + "▁replacing": 15270, + "▁<>": 15271, + "ців": 15272, + "laus": 15273, + "eny": 15274, + "ähl": 15275, + "▁marg": 15276, + "cience": 15277, + "▁instruction": 15278, + "▁који": 15279, + "Editor": 15280, + "▁fundamental": 15281, + "mund": 15282, + "▁exceptions": 15283, + "▁plate": 15284, + "▁Lis": 15285, + "▁deren": 15286, + "prep": 15287, + "▁januari": 15288, + "Scope": 15289, + "ynast": 15290, + "rv": 15291, + "orsz": 15292, + "▁Tony": 15293, + "▁ді": 15294, + "▁одна": 15295, + "▁sab": 15296, + "oti": 15297, + "jel": 15298, + "▁generator": 15299, + "▁'.": 15300, + "▁sharp": 15301, + "▁только": 15302, + "▁accounts": 15303, + "▁že": 15304, + "▁foram": 15305, + "▁gouvern": 15306, + "TIME": 15307, + "▁Soviet": 15308, + "▁Gé": 15309, + "▁exped": 15310, + "▁ordinary": 15311, + "▁Conserv": 15312, + "▁compla": 15313, + "tei": 15314, + "▁captain": 15315, + "▁Samuel": 15316, + "▁Dark": 15317, + "▁він": 15318, + "▁delight": 15319, + "recht": 15320, + "dia": 15321, + "esses": 15322, + "ulp": 15323, + "шки": 15324, + "bez": 15325, + "▁detection": 15326, + "▁cookie": 15327, + "antry": 15328, + "Multi": 15329, + "oba": 15330, + "▁joy": 15331, + "▁safety": 15332, + "|^": 15333, + "pod": 15334, + "adém": 15335, + "▁Chron": 15336, + "▁Django": 15337, + "▁ehemal": 15338, + "kh": 15339, + "èle": 15340, + "▁poc": 15341, + "Bottom": 15342, + "launch": 15343, + "nem": 15344, + "▁GROUP": 15345, + "ního": 15346, + "▁Gib": 15347, + "sdk": 15348, + "BE": 15349, + "▁Gene": 15350, + "▁Staff": 15351, + "▁subsequent": 15352, + "icion": 15353, + "▁victory": 15354, + "▁canon": 15355, + "izar": 15356, + "izia": 15357, + "▁mate": 15358, + "▁layers": 15359, + "sudo": 15360, + "schule": 15361, + "periment": 15362, + "ület": 15363, + "ARCHAR": 15364, + "▁террито": 15365, + "▁measures": 15366, + "▁zou": 15367, + "opsis": 15368, + "нами": 15369, + "tbody": 15370, + "▁ese": 15371, + "sterdam": 15372, + "▁photo": 15373, + "ynchronous": 15374, + "setminus": 15375, + "▁loads": 15376, + "▁pleasure": 15377, + "▁meille": 15378, + "}\\,": 15379, + "qual": 15380, + "▁favour": 15381, + "▁rod": 15382, + "Der": 15383, + "рабо": 15384, + "▁pressed": 15385, + "rę": 15386, + "ieving": 15387, + "material": 15388, + "virt": 15389, + "▁capable": 15390, + "сло": 15391, + "ushed": 15392, + "▁побе": 15393, + "usetts": 15394, + "unsigned": 15395, + "ków": 15396, + "▁ov": 15397, + "egeben": 15398, + "▁applying": 15399, + "▁galax": 15400, + "▁Oracle": 15401, + "▁Stuttgart": 15402, + "Infl": 15403, + "achusetts": 15404, + "▁deel": 15405, + "lire": 15406, + "▁statunit": 15407, + "▁Politiker": 15408, + "▁beauty": 15409, + ")>": 15410, + "▁Columbia": 15411, + "▁zewnętrzne": 15412, + "▁програ": 15413, + "▁dx": 15414, + "cknow": 15415, + "▁dub": 15416, + "unächst": 15417, + "findViewById": 15418, + "▁Mand": 15419, + "áll": 15420, + "naire": 15421, + "▁destin": 15422, + "isting": 15423, + "aggi": 15424, + "chart": 15425, + "▁justice": 15426, + "Simple": 15427, + "▁unfortunately": 15428, + "ір": 15429, + "▁questa": 15430, + "▁Governor": 15431, + "яв": 15432, + "▁música": 15433, + "▁equipo": 15434, + "▁Dest": 15435, + "elect": 15436, + "StackTrace": 15437, + "зом": 15438, + "proc": 15439, + "entin": 15440, + "adora": 15441, + "▁Лю": 15442, + "▁registered": 15443, + "HL": 15444, + "facebook": 15445, + "▁storing": 15446, + "▁Currently": 15447, + "▁quadr": 15448, + "Standard": 15449, + "trim": 15450, + "ears": 15451, + "sender": 15452, + "▁Vas": 15453, + "▁edific": 15454, + "▁Bür": 15455, + "▁Country": 15456, + "tha": 15457, + ";\"": 15458, + "nor": 15459, + "▁Doctor": 15460, + "rument": 15461, + "Gen": 15462, + "▁Buen": 15463, + "rade": 15464, + "▁kun": 15465, + "navigation": 15466, + "Pay": 15467, + "▁captured": 15468, + "▁struck": 15469, + "venir": 15470, + "ément": 15471, + "▁Tree": 15472, + "▁xx": 15473, + "▁narr": 15474, + "льного": 15475, + "▁installing": 15476, + "▁association": 15477, + "▁inserted": 15478, + "erner": 15479, + "validate": 15480, + "▁lut": 15481, + "▁glo": 15482, + "▁technology": 15483, + "▁Place": 15484, + "$?": 15485, + "▁zv": 15486, + "слі": 15487, + "EP": 15488, + "▁atmos": 15489, + "ugo": 15490, + "ért": 15491, + "▁Werk": 15492, + "▁%}": 15493, + "tele": 15494, + "Span": 15495, + "▁Raj": 15496, + "▁Personen": 15497, + "▁Cant": 15498, + "▁combat": 15499, + "▁observation": 15500, + "parameter": 15501, + "▁agreed": 15502, + "pur": 15503, + "▁shadow": 15504, + "▁gł": 15505, + "Keys": 15506, + "Cred": 15507, + "ouri": 15508, + "▁pale": 15509, + "ické": 15510, + "▁Week": 15511, + "▁Prime": 15512, + ">.": 15513, + "Initial": 15514, + "▁один": 15515, + "▁'',": 15516, + "▁учи": 15517, + "▁Inv": 15518, + "cola": 15519, + "cible": 15520, + "▁Theatre": 15521, + "▁bem": 15522, + "▁satisfy": 15523, + "xl": 15524, + "▁разви": 15525, + "▁pixel": 15526, + "lán": 15527, + "▁twee": 15528, + "çon": 15529, + "нения": 15530, + "▁AT": 15531, + "ège": 15532, + "▁Mort": 15533, + "▁mysq": 15534, + "ften": 15535, + "▁пес": 15536, + "éma": 15537, + "▁Services": 15538, + "customer": 15539, + "▁AWS": 15540, + "ът": 15541, + "▁Ach": 15542, + "%.": 15543, + "▁clarify": 15544, + "▁университе": 15545, + "xture": 15546, + "umi": 15547, + "▁så": 15548, + "▁Pel": 15549, + "serial": 15550, + "URI": 15551, + "▁rg": 15552, + "▁соста": 15553, + "chestra": 15554, + "].[": 15555, + "wen": 15556, + "▁Londres": 15557, + "▁anys": 15558, + "DataSource": 15559, + "▁районе": 15560, + "▁rein": 15561, + "▁metadata": 15562, + "umble": 15563, + "arbeit": 15564, + "hner": 15565, + "cient": 15566, + "▁norte": 15567, + "▁она": 15568, + "▁scored": 15569, + "▁ray": 15570, + "▁февра": 15571, + "▁protagon": 15572, + "▁Sac": 15573, + "▁commonly": 15574, + "LinearLayout": 15575, + "▁applic": 15576, + "▁мая": 15577, + "За": 15578, + "▁accessible": 15579, + "iewer": 15580, + "flag": 15581, + "▁Rück": 15582, + "äu": 15583, + "▁erano": 15584, + "▁authentic": 15585, + "▁Ry": 15586, + "▁неско": 15587, + "▁embargo": 15588, + "▁dry": 15589, + "▁reasonable": 15590, + "▁Module": 15591, + "▁acceler": 15592, + "▁interview": 15593, + "▁Creek": 15594, + "▁alpha": 15595, + "serie": 15596, + "They": 15597, + "ючи": 15598, + "▁Hof": 15599, + "▁CR": 15600, + "modal": 15601, + "▁sequences": 15602, + "closed": 15603, + ")}$": 15604, + "▁Чер": 15605, + "▁ORDER": 15606, + "Rightarrow": 15607, + "hausen": 15608, + "}}_": 15609, + "▁també": 15610, + "▁magnetic": 15611, + "▁McC": 15612, + "▁winning": 15613, + "underline": 15614, + "▁Billboard": 15615, + "naio": 15616, + "▁liqu": 15617, + "displaystyle": 15618, + "timeout": 15619, + "▁considerable": 15620, + "▁eben": 15621, + "ifferent": 15622, + "anu": 15623, + "▁Сов": 15624, + "[(": 15625, + "▁:-)": 15626, + "leitung": 15627, + "formed": 15628, + "▁Manager": 15629, + "▁onclick": 15630, + "TY": 15631, + "тах": 15632, + "CV": 15633, + "runtime": 15634, + "poque": 15635, + "▁Ло": 15636, + "Temp": 15637, + "loaded": 15638, + "▁!==": 15639, + "▁singer": 15640, + "far": 15641, + "▁Comple": 15642, + "▁Österreich": 15643, + "Policy": 15644, + "▁worker": 15645, + "Wrapper": 15646, + "obi": 15647, + "▁discussed": 15648, + "▁buy": 15649, + "▁января": 15650, + "▁Din": 15651, + "▁ged": 15652, + "ској": 15653, + "Europe": 15654, + "▁tall": 15655, + "hos": 15656, + "лаго": 15657, + "▁Block": 15658, + "▁identified": 15659, + "ListView": 15660, + "▁attempting": 15661, + "▁typical": 15662, + "psum": 15663, + "oster": 15664, + "▁журна": 15665, + "Pe": 15666, + "merce": 15667, + "▁unexpected": 15668, + "hui": 15669, + "letter": 15670, + "▁nuevo": 15671, + "▁або": 15672, + "▁VALUES": 15673, + "▁Iz": 15674, + "Flags": 15675, + "▁TRUE": 15676, + "ización": 15677, + "▁growing": 15678, + "estre": 15679, + "▁poly": 15680, + "▁Stone": 15681, + "▁VIII": 15682, + "▁localhost": 15683, + "ählt": 15684, + "▁embedded": 15685, + "jdbc": 15686, + "▁convention": 15687, + "▁scala": 15688, + "сок": 15689, + "▁analog": 15690, + "▁\"+": 15691, + "цю": 15692, + "occ": 15693, + "▁litt": 15694, + "PN": 15695, + "▁актив": 15696, + "attributes": 15697, + "▁Ferd": 15698, + "▁azure": 15699, + "ști": 15700, + "ños": 15701, + "ping": 15702, + "▁teacher": 15703, + "}&": 15704, + "ipe": 15705, + "▁Nob": 15706, + "▁има": 15707, + "Bind": 15708, + "▁magic": 15709, + "▁Transport": 15710, + "ixel": 15711, + "▁computed": 15712, + "agna": 15713, + "erst": 15714, + "HA": 15715, + "Wait": 15716, + "▁authors": 15717, + "▁;)": 15718, + "clam": 15719, + "▁Pennsylvan": 15720, + "▁drug": 15721, + "▁vain": 15722, + "▁employed": 15723, + "▁individuals": 15724, + "▁ange": 15725, + "utat": 15726, + "▁$-": 15727, + "correct": 15728, + "▁experiments": 15729, + "Argument": 15730, + "▁IB": 15731, + "▁père": 15732, + "▁Brian": 15733, + "berger": 15734, + "Mac": 15735, + "iast": 15736, + "Perm": 15737, + "Cast": 15738, + "▁{};": 15739, + "▁Student": 15740, + "▁statt": 15741, + "algebra": 15742, + "▁equals": 15743, + "▁projet": 15744, + "▁président": 15745, + "ActivityThread": 15746, + "▁einz": 15747, + "enia": 15748, + "rez": 15749, + "essional": 15750, + "▁августа": 15751, + "override": 15752, + "news": 15753, + "▁planet": 15754, + "nn": 15755, + "▁Wis": 15756, + "твер": 15757, + "▁Valid": 15758, + "▁Gef": 15759, + "град": 15760, + "▁eig": 15761, + "antom": 15762, + "▁Meister": 15763, + "flags": 15764, + "fficiale": 15765, + "шая": 15766, + "-,": 15767, + "ationen": 15768, + "mouse": 15769, + "standard": 15770, + "Single": 15771, + "▁bol": 15772, + "isis": 15773, + "▁fruit": 15774, + "course": 15775, + "itants": 15776, + "▁étaient": 15777, + "TextField": 15778, + "▁фон": 15779, + "▁aircraft": 15780, + "▁ISSN": 15781, + "▁western": 15782, + "▁representing": 15783, + "Esp": 15784, + "▁Else": 15785, + "▁sizes": 15786, + "▁satisfied": 15787, + "otos": 15788, + "UD": 15789, + "Final": 15790, + "ój": 15791, + "ève": 15792, + "▁Roy": 15793, + "ffen": 15794, + "▁salt": 15795, + "▁Label": 15796, + "Sk": 15797, + "▁кре": 15798, + "▁Литература": 15799, + "▁см": 15800, + "Attributes": 15801, + "aye": 15802, + "ськ": 15803, + "▁высо": 15804, + "-)": 15805, + "oses": 15806, + "calcul": 15807, + "▁Cannot": 15808, + "Generic": 15809, + "emo": 15810, + "▁Autor": 15811, + "лён": 15812, + "лага": 15813, + "vote": 15814, + "licates": 15815, + "rus": 15816, + "éli": 15817, + "opf": 15818, + "atique": 15819, + "scala": 15820, + "▁Ohio": 15821, + "▁Britann": 15822, + "▁bef": 15823, + "▁Евро": 15824, + "▁Career": 15825, + "isée": 15826, + "ót": 15827, + "bose": 15828, + "▁Бер": 15829, + "▁Controller": 15830, + "pole": 15831, + "▁allen": 15832, + "▁hack": 15833, + "▁extent": 15834, + "▁calci": 15835, + "Mer": 15836, + "▁summary": 15837, + "Mart": 15838, + "▁historical": 15839, + "imat": 15840, + "bud": 15841, + "▁FOR": 15842, + "export": 15843, + "edi": 15844, + "Mapping": 15845, + "▁Ay": 15846, + "▁Ruby": 15847, + "▁definitions": 15848, + "▁{$": 15849, + "▁yours": 15850, + "rias": 15851, + "Touch": 15852, + "▁Gaz": 15853, + "▁Autom": 15854, + "▁истори": 15855, + "▁delen": 15856, + "▁Kinder": 15857, + "}}%": 15858, + "▁performing": 15859, + "FR": 15860, + "▁Sig": 15861, + "▁Brad": 15862, + "bras": 15863, + "▁Jar": 15864, + "pkg": 15865, + "wr": 15866, + "▁Pays": 15867, + "NC": 15868, + "▁opposed": 15869, + "Try": 15870, + "▁везе": 15871, + "▁Bog": 15872, + "▁writes": 15873, + "▁stories": 15874, + "▁mater": 15875, + "▁stagione": 15876, + "▁sty": 15877, + "▁compatible": 15878, + "heast": 15879, + "▁Guy": 15880, + "egründ": 15881, + "▁identifier": 15882, + "▁heads": 15883, + "пози": 15884, + "▁stup": 15885, + "▁tf": 15886, + "▁још": 15887, + "▁Hugh": 15888, + "▁cards": 15889, + "ovy": 15890, + "▁Toast": 15891, + "allas": 15892, + "▁públic": 15893, + "▁assumes": 15894, + "▁чемпиона": 15895, + "ycler": 15896, + "▁Junior": 15897, + "▁Fich": 15898, + "▁estimated": 15899, + "zerw": 15900, + "dialog": 15901, + "шин": 15902, + "shell": 15903, + "▁них": 15904, + "▁pitch": 15905, + "дол": 15906, + "outube": 15907, + "▁Santi": 15908, + "OnClickListener": 15909, + "▁Magyar": 15910, + "▁vue": 15911, + "ião": 15912, + "▁`#": 15913, + "collect": 15914, + "▁Rou": 15915, + "analysis": 15916, + "istrzost": 15917, + "▁Digital": 15918, + "▁crist": 15919, + "riere": 15920, + "▁campo": 15921, + "Us": 15922, + "▁circa": 15923, + "▁Component": 15924, + "▁NSString": 15925, + "pd": 15926, + "▁prince": 15927, + "▁invoke": 15928, + "▁Marine": 15929, + "Allow": 15930, + "estic": 15931, + "ристи": 15932, + "bone": 15933, + "туры": 15934, + "▁passion": 15935, + "áció": 15936, + "▁orn": 15937, + "вед": 15938, + "▁invari": 15939, + "▁ні": 15940, + "Remove": 15941, + "encies": 15942, + "ilib": 15943, + "▁Director": 15944, + "\"\"": 15945, + "▁Conse": 15946, + "googleapis": 15947, + "ók": 15948, + "▁Укра": 15949, + "▁Having": 15950, + "Domain": 15951, + "ierz": 15952, + "нологи": 15953, + "Cho": 15954, + "undefined": 15955, + "alloc": 15956, + "▁pied": 15957, + "▁fraction": 15958, + "bia": 15959, + "▁поло": 15960, + "ugno": 15961, + "minister": 15962, + "▁principale": 15963, + "▁refused": 15964, + "browser": 15965, + "*,": 15966, + "▁Hospital": 15967, + "▁universal": 15968, + "▁Ernst": 15969, + "who": 15970, + "▁Gard": 15971, + "'_": 15972, + "conde": 15973, + "▁[{": 15974, + "sob": 15975, + "▁Crit": 15976, + "▁декабря": 15977, + "▁punto": 15978, + "▁eingesetzt": 15979, + "▁tör": 15980, + "▁Ni": 15981, + "▁worry": 15982, + "▁legend": 15983, + "▁були": 15984, + "▁komm": 15985, + "rijk": 15986, + "effect": 15987, + "Ori": 15988, + "RES": 15989, + "▁Peters": 15990, + "▁Baron": 15991, + "▁Got": 15992, + "▁honest": 15993, + "äre": 15994, + "ász": 15995, + "▁noble": 15996, + "▁conclusion": 15997, + "▁formatting": 15998, + "▁otto": 15999, + "▁deleg": 16000, + "мб": 16001, + "ptop": 16002, + "▁sends": 16003, + "urname": 16004, + "▁festival": 16005, + ",‎": 16006, + "рус": 16007, + "▁doch": 16008, + "subject": 16009, + "▁careful": 16010, + "quent": 16011, + "▁Load": 16012, + "temperaturen": 16013, + "▁rue": 16014, + "Memory": 16015, + "ța": 16016, + "iona": 16017, + "▁dentro": 16018, + "▁begann": 16019, + "▁Aqu": 16020, + "▁scientific": 16021, + "kań": 16022, + "лок": 16023, + "elde": 16024, + "▁Those": 16025, + "quier": 16026, + "actér": 16027, + "▁Auflage": 16028, + ")'": 16029, + "▁gradient": 16030, + "integer": 16031, + "▁Import": 16032, + "SK": 16033, + "▁Status": 16034, + "▁explo": 16035, + "AE": 16036, + "Shell": 16037, + "▁Paulo": 16038, + ".»": 16039, + "}'": 16299, + "havior": 16300, + "lei": 16301, + "ulf": 16302, + "▁geometry": 16303, + "prev": 16304, + "empl": 16305, + "▁Lé": 16306, + "anson": 16307, + "▁Alice": 16308, + "prototype": 16309, + "READ": 16310, + "icular": 16311, + "▁бі": 16312, + "▁deutsche": 16313, + "▁Represent": 16314, + "sites": 16315, + "▁Mean": 16316, + "▁diss": 16317, + "▁Zur": 16318, + "▁през": 16319, + "PAR": 16320, + "▁'#": 16321, + "▁Dra": 16322, + "сон": 16323, + "▁steht": 16324, + "markt": 16325, + "▁ease": 16326, + "Drawing": 16327, + "=%": 16328, + "Stop": 16329, + "▁serving": 16330, + "▁także": 16331, + "▁DNS": 16332, + "▁literal": 16333, + "Die": 16334, + "▁вос": 16335, + "▁senior": 16336, + "acion": 16337, + "▁ubuntu": 16338, + "▁Frankfurt": 16339, + "▁Sunday": 16340, + "áb": 16341, + "▁journey": 16342, + "issa": 16343, + "berry": 16344, + "▁sep": 16345, + "▁ion": 16346, + "wert": 16347, + "ország": 16348, + "serve": 16349, + "▁Milano": 16350, + "▁века": 16351, + "рах": 16352, + "▁июля": 16353, + "▁manera": 16354, + "▁stations": 16355, + "▁adopted": 16356, + "▁anybody": 16357, + "VERSION": 16358, + "FE": 16359, + "dorf": 16360, + "...,": 16361, + "▁образова": 16362, + "Logger": 16363, + "фициаль": 16364, + "WRITE": 16365, + "▁ham": 16366, + "▁Future": 16367, + "oten": 16368, + "▁AG": 16369, + "▁trained": 16370, + "▁Nich": 16371, + "▁university": 16372, + "▁Olympics": 16373, + "▁doit": 16374, + "▁cultural": 16375, + "Conf": 16376, + "▁Conference": 16377, + "orno": 16378, + "▁MP": 16379, + "▁bou": 16380, + "cin": 16381, + "High": 16382, + "annte": 16383, + "▁displaying": 16384, + "▁chapter": 16385, + "▁Frauen": 16386, + "▁realized": 16387, + "▁attempted": 16388, + "▁preferred": 16389, + "Dat": 16390, + "▁trouve": 16391, + "▁intention": 16392, + "▁Notice": 16393, + "timestamp": 16394, + "*(": 16395, + "▁Ша": 16396, + "anas": 16397, + "cla": 16398, + "isz": 16399, + "tbl": 16400, + "Arr": 16401, + "▁inverse": 16402, + "▁terrible": 16403, + "▁occupied": 16404, + "JAX": 16405, + "<-": 16406, + "▁Philosoph": 16407, + "▁Corps": 16408, + "builder": 16409, + "▁begins": 16410, + "▁census": 16411, + ".’": 16412, + "▁proven": 16413, + "metric": 16414, + "▁increases": 16415, + "wich": 16416, + "▁ABC": 16417, + "projects": 16418, + "▁Thor": 16419, + "▁confidence": 16420, + "▁ufficiale": 16421, + "elm": 16422, + "▁garden": 16423, + "▁robust": 16424, + "▁così": 16425, + "iedz": 16426, + "▁Islam": 16427, + "▁Address": 16428, + "▁divide": 16429, + "▁Eu": 16430, + "catal": 16431, + "detail": 16432, + "ependant": 16433, + "fg": 16434, + "▁bew": 16435, + "▁fis": 16436, + "▁BO": 16437, + "▁wsp": 16438, + "▁pipeline": 16439, + "hd": 16440, + "▁Session": 16441, + "länd": 16442, + "iveau": 16443, + "estr": 16444, + "▁particle": 16445, + "▁laravel": 16446, + "pic": 16447, + "▁nau": 16448, + "▁fins": 16449, + "▁Vil": 16450, + "▁fus": 16451, + "▁quasi": 16452, + "operation": 16453, + "▁aller": 16454, + "▁analy": 16455, + "▁Он": 16456, + "▁Mes": 16457, + "▁опера": 16458, + "▁handled": 16459, + "▁deprec": 16460, + "tto": 16461, + "▁Ek": 16462, + "▁stran": 16463, + "▁anglais": 16464, + "jure": 16465, + "▁Silver": 16466, + "▁closely": 16467, + "enkins": 16468, + "anos": 16469, + "sted": 16470, + "▁сентября": 16471, + "brand": 16472, + "ньо": 16473, + "▁présent": 16474, + "rok": 16475, + "mount": 16476, + "▁Anthony": 16477, + "▁Furthermore": 16478, + "inha": 16479, + "▁архи": 16480, + "▁разли": 16481, + "▁октября": 16482, + "▁pint": 16483, + "ný": 16484, + "pts": 16485, + "▁italien": 16486, + "▁реги": 16487, + "лез": 16488, + "дина": 16489, + "atherine": 16490, + "Internal": 16491, + "Question": 16492, + "▁settlement": 16493, + "▁Все": 16494, + "▁folders": 16495, + "дри": 16496, + "▁valor": 16497, + "▁Miller": 16498, + "▁Assert": 16499, + "▁patient": 16500, + "▁Nieder": 16501, + "▁EP": 16502, + "▁Agr": 16503, + "▁onde": 16504, + "▁scop": 16505, + "sequence": 16506, + "▁PL": 16507, + "▁seek": 16508, + "javase": 16509, + "▁Vector": 16510, + "▁ná": 16511, + "▁categoría": 16512, + "clone": 16513, + "NR": 16514, + "available": 16515, + "▁Besch": 16516, + "▁eclipse": 16517, + "wicklung": 16518, + "deploy": 16519, + "enie": 16520, + "▁\")": 16521, + "äst": 16522, + "▁sync": 16523, + "CODE": 16524, + "▁Че": 16525, + "▁floating": 16526, + "/`": 16527, + "▁retired": 16528, + "deb": 16529, + "▁particul": 16530, + "▁collected": 16531, + "▁downloaded": 16532, + "nice": 16533, + "▁Buffer": 16534, + "▁Account": 16535, + "▁maggio": 16536, + "▁реда": 16537, + "▁sales": 16538, + "▁statunitense": 16539, + "▁Ki": 16540, + "▁Ferr": 16541, + "Lock": 16542, + "▁Isabel": 16543, + "clar": 16544, + "▁pov": 16545, + "atra": 16546, + "▁Frau": 16547, + "▁sorting": 16548, + "▁phrase": 16549, + "▁апреля": 16550, + "▁деятель": 16551, + "▁André": 16552, + "definition": 16553, + "writing": 16554, + "éré": 16555, + "щу": 16556, + "▁Ord": 16557, + "▁rum": 16558, + "▁Turk": 16559, + "▁Ivan": 16560, + "theless": 16561, + "▁ги": 16562, + "▁sake": 16563, + "▁Based": 16564, + "deck": 16565, + "orus": 16566, + "▁tutti": 16567, + "▁blan": 16568, + "▁Пу": 16569, + "Detail": 16570, + "▁Но": 16571, + "▁Sky": 16572, + "▁près": 16573, + "мой": 16574, + "coln": 16575, + "ческой": 16576, + "eti": 16577, + "▁arrow": 16578, + "▁Cha": 16579, + "chmark": 16580, + "œur": 16581, + "fab": 16582, + "куль": 16583, + "GridView": 16584, + "▁Background": 16585, + "sn": 16586, + "▁seguito": 16587, + "▁nic": 16588, + "cou": 16589, + "тів": 16590, + "▁bzw": 16591, + "addEventListener": 16592, + "sync": 16593, + "azzo": 16594, + "abstract": 16595, + "assets": 16596, + "▁Dru": 16597, + "зд": 16598, + "ordnet": 16599, + "▁bigger": 16600, + "▁initialized": 16601, + "каз": 16602, + "ogene": 16603, + "viously": 16604, + "▁guid": 16605, + "scheidung": 16606, + "▁Zent": 16607, + "▁frames": 16608, + "rieben": 16609, + "▁issued": 16610, + "▁dow": 16611, + "▁describes": 16612, + "ilst": 16613, + "▁criteria": 16614, + "▁gentleman": 16615, + "Basic": 16616, + "nez": 16617, + "Dev": 16618, + "Move": 16619, + "▁estaba": 16620, + "▁settembre": 16621, + "circle": 16622, + "▁fais": 16623, + "▁myst": 16624, + "▁archiv": 16625, + "dynamic": 16626, + "jà": 16627, + "itas": 16628, + "▁який": 16629, + "▁dor": 16630, + "▁Amazon": 16631, + "▁neces": 16632, + "▁Marcel": 16633, + "▁ella": 16634, + "рок": 16635, + "▁Pennsylvania": 16636, + "cular": 16637, + "Pack": 16638, + "itage": 16639, + "▁Burn": 16640, + "▁RO": 16641, + "▁они": 16642, + "~$": 16643, + "TeX": 16644, + "assign": 16645, + "▁beat": 16646, + "idense": 16647, + "acent": 16648, + "Alert": 16649, + "▁strateg": 16650, + "▁månaden": 16651, + "LOC": 16652, + "▁catalog": 16653, + "printStackTrace": 16654, + "()).": 16655, + "usted": 16656, + "▁Framework": 16657, + "ECK": 16658, + "▁até": 16659, + "Framework": 16660, + "▁attacks": 16661, + "▁Bert": 16662, + "▁тран": 16663, + ":%": 16664, + "arsi": 16665, + "notation": 16666, + "▁logical": 16667, + "weet": 16668, + "▁visited": 16669, + "bru": 16670, + "▁surprise": 16671, + "^^": 16672, + "inale": 16673, + "remote": 16674, + "'},": 16675, + "Syntax": 16676, + "iane": 16677, + "onnen": 16678, + "▁breaking": 16679, + "parser": 16680, + "apk": 16681, + "▁Miguel": 16682, + "▁§": 16683, + "▁acting": 16684, + "▁gebru": 16685, + "AtIndex": 16686, + "ються": 16687, + "▁offers": 16688, + "▁prac": 16689, + "▁grant": 16690, + "ternoon": 16691, + "▁acquired": 16692, + "▁Ny": 16693, + "▁comma": 16694, + "ník": 16695, + "▁Step": 16696, + "inners": 16697, + "▁SA": 16698, + "▁wat": 16699, + "days": 16700, + "▁rectangle": 16701, + "dar": 16702, + "▁trac": 16703, + "▁Indones": 16704, + "▁feedback": 16705, + "▁breaks": 16706, + "partition": 16707, + "icans": 16708, + "▁Notices": 16709, + "▁improved": 16710, + "phan": 16711, + "▁differential": 16712, + "scripts": 16713, + "▁XIII": 16714, + "▁Labor": 16715, + "▁precision": 16716, + "▁seed": 16717, + "bundle": 16718, + "idents": 16719, + "hre": 16720, + "▁Douglas": 16721, + "uld": 16722, + "▁secondary": 16723, + "▁brig": 16724, + "▁confirmed": 16725, + "▁claims": 16726, + "Role": 16727, + "▁Jewish": 16728, + "▁před": 16729, + "▁hotel": 16730, + "▁compte": 16731, + "▁recursive": 16732, + "](#)": 16733, + "▁rotate": 16734, + "▁chrome": 16735, + "inea": 16736, + "%;\r": 16737, + "▁Environment": 16738, + "platz": 16739, + "▁Single": 16740, + "▁sevent": 16741, + "▁posting": 16742, + "▁dealing": 16743, + "parameters": 16744, + "граф": 16745, + "Authentication": 16746, + "touch": 16747, + "Az": 16748, + "▁gray": 16749, + "encing": 16750, + "boldmath": 16751, + "▁сайте": 16752, + "▁Za": 16753, + "anje": 16754, + "▁polar": 16755, + "▁ули": 16756, + "kil": 16757, + "▁hover": 16758, + "▁REST": 16759, + "▁Come": 16760, + "jb": 16761, + "▁Georgia": 16762, + "▁Estado": 16763, + "OutputStream": 16764, + "ћи": 16765, + "▁dump": 16766, + "▁Age": 16767, + "▁swo": 16768, + "mobile": 16769, + "occup": 16770, + "шего": 16771, + "▁constitution": 16772, + "good": 16773, + "aku": 16774, + "▁анг": 16775, + "ieck": 16776, + "▁Psych": 16777, + "▁roots": 16778, + "▁vest": 16779, + "▁годах": 16780, + "▁República": 16781, + "▁pian": 16782, + "igration": 16783, + "▁préc": 16784, + "▁generates": 16785, + "LY": 16786, + "(`": 16787, + "▁=~": 16788, + "шения": 16789, + "▁Rah": 16790, + "▁connecting": 16791, + "ží": 16792, + "▁fő": 16793, + "▁appel": 16794, + "▁Railway": 16795, + "гли": 16796, + "▁développ": 16797, + "▁apo": 16798, + "fran": 16799, + "▁immediate": 16800, + "вого": 16801, + "Runner": 16802, + "äg": 16803, + "Something": 16804, + "▁généra": 16805, + "EventArgs": 16806, + "inction": 16807, + "gly": 16808, + "▁Due": 16809, + "▁prost": 16810, + "▁referring": 16811, + "▁jog": 16812, + "▁executable": 16813, + "▁Dream": 16814, + "acs": 16815, + "▁Cole": 16816, + "ampf": 16817, + "▁Bis": 16818, + "▁июня": 16819, + "lieder": 16820, + "тек": 16821, + "▁vb": 16822, + "▁mom": 16823, + "▁:(": 16824, + "▁dernier": 16825, + "'=>": 16826, + "▁этого": 16827, + "▁neue": 16828, + "▁Ча": 16829, + "▁weitere": 16830, + "▁alleg": 16831, + "▁reality": 16832, + "▁judge": 16833, + "▁Balt": 16834, + "▁thin": 16835, + "▁Ged": 16836, + "ieval": 16837, + "mx": 16838, + "ціональ": 16839, + "▁выпу": 16840, + "▁IX": 16841, + "▁blind": 16842, + "▁Motor": 16843, + "▁ша": 16844, + "▁approximation": 16845, + "dam": 16846, + "▁fog": 16847, + "кор": 16848, + "▁Writ": 16849, + "▁ling": 16850, + "▁писа": 16851, + "▁Mars": 16852, + "otti": 16853, + "Enum": 16854, + "▁Trib": 16855, + "▁merc": 16856, + "zung": 16857, + "vanced": 16858, + "cfg": 16859, + "нах": 16860, + "schen": 16861, + "\"].": 16862, + "bek": 16863, + "▁ster": 16864, + "jp": 16865, + "▁Rap": 16866, + "▁recording": 16867, + "▁peint": 16868, + "▁lets": 16869, + "änge": 16870, + ">\";": 16871, + "▁місце": 16872, + "▁caval": 16873, + "▁CSV": 16874, + "▁entstand": 16875, + "▁helper": 16876, + "endet": 16877, + "▁Gram": 16878, + "▁Diego": 16879, + "▁Bishop": 16880, + "TAG": 16881, + "▁ecc": 16882, + "▁Een": 16883, + "▁AV": 16884, + "City": 16885, + "▁Guide": 16886, + "hind": 16887, + "rical": 16888, + "▁Основ": 16889, + "Bus": 16890, + "▁zunächst": 16891, + "▁tick": 16892, + "▁Colonel": 16893, + "Thanks": 16894, + "▁ferm": 16895, + "▁granted": 16896, + "▁threshold": 16897, + "omorphic": 16898, + "▁Hun": 16899, + "enis": 16900, + "▁прав": 16901, + "▁які": 16902, + "PG": 16903, + "▁ws": 16904, + "▁technical": 16905, + "estro": 16906, + "klär": 16907, + "vars": 16908, + "ocrat": 16909, + "▁општи": 16910, + "onso": 16911, + "iba": 16912, + "▁Save": 16913, + "▁programa": 16914, + "▁въ": 16915, + "▁invån": 16916, + ">()": 16917, + "▁mejor": 16918, + "▁слова": 16919, + "▁replacement": 16920, + "▁impr": 16921, + "▁Francesco": 16922, + "▁Hotel": 16923, + "▁UPDATE": 16924, + "▁музы": 16925, + "ugs": 16926, + "vard": 16927, + "▁faz": 16928, + "inton": 16929, + "▁arts": 16930, + "▁Ky": 16931, + "▁Ils": 16932, + "▁sera": 16933, + "▁Volume": 16934, + "▁giugno": 16935, + "▁asym": 16936, + "▁Pir": 16937, + "▁NAS": 16938, + "▁Tam": 16939, + "ěl": 16940, + "Sequ": 16941, + "kmal": 16942, + "▁Eins": 16943, + "▁компа": 16944, + "obe": 16945, + "oor": 16946, + "▁heap": 16947, + "ctl": 16948, + "▁separately": 16949, + "reader": 16950, + "▁significantly": 16951, + "▁Lag": 16952, + "notes": 16953, + "▁sele": 16954, + "▁dedicated": 16955, + "▁Host": 16956, + "choice": 16957, + "wing": 16958, + "▁Titel": 16959, + "▁befindet": 16960, + "large": 16961, + "▁conten": 16962, + "JavaScript": 16963, + "▁deser": 16964, + "▁Gordon": 16965, + "спе": 16966, + "▁patri": 16967, + "▁Random": 16968, + "▁Returns": 16969, + "ым": 16970, + "рома": 16971, + "▁Studies": 16972, + "Sl": 16973, + "▁frü": 16974, + "TEXT": 16975, + "inate": 16976, + "▁Tol": 16977, + "▁everywhere": 16978, + "arta": 16979, + "▁orbit": 16980, + "▁Aires": 16981, + "▁Iss": 16982, + "▁też": 16983, + "▁diverse": 16984, + "▁numeric": 16985, + "maz": 16986, + "▁mise": 16987, + "▁battery": 16988, + "▁Akadem": 16989, + "нение": 16990, + "▁simultane": 16991, + "▁Dead": 16992, + "▁clust": 16993, + "▁otro": 16994, + "▁cerca": 16995, + "()`,": 16996, + "roz": 16997, + "ăt": 16998, + "▁MO": 16999, + "riften": 17000, + "important": 17001, + "▁jeho": 17002, + "▁findViewById": 17003, + "▁consequence": 17004, + "▁measured": 17005, + "ishes": 17006, + "▁sze": 17007, + "iendo": 17008, + "▁Wahl": 17009, + "strip": 17010, + "ARD": 17011, + "▁opacity": 17012, + "WORD": 17013, + "▁Ві": 17014, + "▁Location": 17015, + "rai": 17016, + "пен": 17017, + "▁rif": 17018, + "aussian": 17019, + "FileName": 17020, + "▁disco": 17021, + "ilen": 17022, + "▁vagy": 17023, + "licity": 17024, + "Border": 17025, + "▁Track": 17026, + "бом": 17027, + "fact": 17028, + "oka": 17029, + "▁gior": 17030, + "▁XVII": 17031, + "▁där": 17032, + "Site": 17033, + "ało": 17034, + "ská": 17035, + "▁pixels": 17036, + "vity": 17037, + "jQuery": 17038, + "▁sculpt": 17039, + "▁cargo": 17040, + "▁directive": 17041, + "▁wal": 17042, + "▁conna": 17043, + "▁Through": 17044, + "▁этом": 17045, + "Static": 17046, + "omsnitt": 17047, + "▁rund": 17048, + "▁claimed": 17049, + "зня": 17050, + "sha": 17051, + "▁rag": 17052, + "crement": 17053, + "▁fünf": 17054, + "▁rival": 17055, + "rin": 17056, + "slash": 17057, + "▁thirty": 17058, + "sleep": 17059, + "ологи": 17060, + "SM": 17061, + "gate": 17062, + "izations": 17063, + "vik": 17064, + "▁bless": 17065, + "▁Illinois": 17066, + "▁TE": 17067, + "uting": 17068, + "▁solving": 17069, + "GER": 17070, + "▁XIV": 17071, + "▁Indians": 17072, + "express": 17073, + "▁Heil": 17074, + "▁mujer": 17075, + "▁invånare": 17076, + "']);": 17077, + "▁aur": 17078, + "boost": 17079, + "GO": 17080, + "▁nin": 17081, + "tok": 17082, + "god": 17083, + "oter": 17084, + ")$$": 17085, + "▁descend": 17086, + "рю": 17087, + "▁Language": 17088, + "▁diver": 17089, + "▁Assuming": 17090, + "▁frequent": 17091, + "чні": 17092, + "▁Biography": 17093, + ",[": 17094, + "urm": 17095, + "▁walked": 17096, + "▁federal": 17097, + "▁Michigan": 17098, + "▁facts": 17099, + "▁Integr": 17100, + "LES": 17101, + "▁Alan": 17102, + "▁coup": 17103, + "Ber": 17104, + "▁particles": 17105, + "ће": 17106, + "Inflater": 17107, + "+(": 17108, + "Bound": 17109, + "▁Sü": 17110, + "Audio": 17111, + "citet": 17112, + "yect": 17113, + "▁nr": 17114, + "xe": 17115, + "▁Brun": 17116, + "▁_,": 17117, + "avor": 17118, + "▁discipl": 17119, + "alm": 17120, + "▁ноября": 17121, + "▁SSL": 17122, + "▁Kaiser": 17123, + "▁recher": 17124, + "ygon": 17125, + "▁regardless": 17126, + "▁configur": 17127, + "▁unnecess": 17128, + "▁Clark": 17129, + "PHP": 17130, + "▁FALSE": 17131, + "▁pad": 17132, + "$}": 17133, + "▁valu": 17134, + "▁disease": 17135, + "▁maior": 17136, + "▁hommes": 17137, + "▁Edition": 17138, + "slant": 17139, + "▁ending": 17140, + "▁settled": 17141, + "urus": 17142, + "hed": 17143, + "Pattern": 17144, + "▁година": 17145, + "▁Philadel": 17146, + "tikzpicture": 17147, + "▁coal": 17148, + "▁sede": 17149, + "▁satisfies": 17150, + "▁trim": 17151, + "▁bat": 17152, + "▁américain": 17153, + "▁luglio": 17154, + "▁поча": 17155, + "ffff": 17156, + "▁Target": 17157, + "generate": 17158, + "▁Zie": 17159, + "ția": 17160, + "▁gard": 17161, + "▁workers": 17162, + "▁Job": 17163, + "▁urban": 17164, + "ahlen": 17165, + "▁Building": 17166, + "▁neu": 17167, + "▁chron": 17168, + "▁Earl": 17169, + "gro": 17170, + "USE": 17171, + "▁XII": 17172, + "▁wealth": 17173, + "inae": 17174, + "▁Бра": 17175, + "▁libert": 17176, + "iros": 17177, + ":$": 17178, + "lee": 17179, + "ieves": 17180, + "▁Justice": 17181, + "▁oil": 17182, + "▁Athlet": 17183, + "▁clo": 17184, + "Scale": 17185, + "▁lips": 17186, + "▁april": 17187, + "▁impression": 17188, + "▁perce": 17189, + "▁участи": 17190, + "vil": 17191, + "éch": 17192, + "▁equality": 17193, + "▁мет": 17194, + "▁annotation": 17195, + "ernal": 17196, + "▁Mach": 17197, + "▁intitul": 17198, + "problem": 17199, + "ющих": 17200, + "oplus": 17201, + "▁thousands": 17202, + "▁calculations": 17203, + "umps": 17204, + "▁triangle": 17205, + "phal": 17206, + "▁Dorf": 17207, + "▁dollars": 17208, + "▁denen": 17209, + "lès": 17210, + "olid": 17211, + "▁Results": 17212, + "▁Stadium": 17213, + "▁Desp": 17214, + "▁Eisen": 17215, + "imir": 17216, + "▁sotto": 17217, + "▁či": 17218, + "atable": 17219, + "orum": 17220, + "▁convergence": 17221, + "▁jeune": 17222, + "oking": 17223, + "▁живо": 17224, + "aining": 17225, + "pointer": 17226, + "culo": 17227, + "▁jsou": 17228, + "▁grab": 17229, + "akte": 17230, + "▁hoping": 17231, + "▁Mak": 17232, + "▁sag": 17233, + "origine": 17234, + "▁послед": 17235, + "▁Veg": 17236, + "▁theoret": 17237, + "▁Tru": 17238, + "nement": 17239, + "▁faces": 17240, + "Hor": 17241, + "Join": 17242, + "arel": 17243, + "▁около": 17244, + "However": 17245, + "▁catal": 17246, + "bourg": 17247, + "▁mysqli": 17248, + "acions": 17249, + "▁Initial": 17250, + "▁rain": 17251, + "iture": 17252, + "▁Sciences": 17253, + "▁Kreis": 17254, + ".__": 17255, + "▁cinq": 17256, + "▁Auß": 17257, + "ithmet": 17258, + "itors": 17259, + "amazon": 17260, + "▁gap": 17261, + "▁ignored": 17262, + "adv": 17263, + "кої": 17264, + "▁часть": 17265, + "▁corpor": 17266, + "цер": 17267, + "▁crime": 17268, + "uous": 17269, + "▁налази": 17270, + "DataFrame": 17271, + "води": 17272, + "Ign": 17273, + "▁Lincoln": 17274, + "▁menos": 17275, + "▁Luft": 17276, + "▁Lind": 17277, + "▁Cook": 17278, + "▁materials": 17279, + "apped": 17280, + "ignore": 17281, + "▁откры": 17282, + "fried": 17283, + "▁gouvernement": 17284, + "▁fired": 17285, + "▁screenshot": 17286, + "сен": 17287, + "▁[(": 17288, + "▁организа": 17289, + "Graphics": 17290, + "▁проти": 17291, + "▁phen": 17292, + "craft": 17293, + "▁brain": 17294, + "▁Como": 17295, + "▁Everything": 17296, + "anes": 17297, + "IGN": 17298, + "▁nederbörd": 17299, + "▁Forest": 17300, + "zahl": 17301, + "▁Among": 17302, + "Qt": 17303, + "▁togg": 17304, + "▁variant": 17305, + "▁hill": 17306, + "писи": 17307, + "colon": 17308, + "▁dicembre": 17309, + "гор": 17310, + "▁Wind": 17311, + "ünstler": 17312, + "▁=\\": 17313, + "saved": 17314, + "▁nej": 17315, + "unte": 17316, + "utto": 17317, + "▁recens": 17318, + "▁sick": 17319, + "▁desen": 17320, + "UST": 17321, + "▁worst": 17322, + "▁Angel": 17323, + "odox": 17324, + "▁Province": 17325, + "▁Maz": 17326, + "▁agreement": 17327, + "▁Bass": 17328, + "▁segunda": 17329, + "onces": 17330, + "▁Linki": 17331, + "▁CL": 17332, + "▁já": 17333, + "itement": 17334, + "▁área": 17335, + "▁scalar": 17336, + "▁Рес": 17337, + "awt": 17338, + "sieme": 17339, + "▁juni": 17340, + "▁худож": 17341, + "ikus": 17342, + "▁lid": 17343, + "ppel": 17344, + "avi": 17345, + "▁balance": 17346, + "ipping": 17347, + "cussion": 17348, + "ческих": 17349, + "(\".": 17350, + "Also": 17351, + "▁whis": 17352, + "HOME": 17353, + "▁brown": 17354, + "▁día": 17355, + "▁può": 17356, + "plotlib": 17357, + "▁Jahrhunderts": 17358, + "DK": 17359, + "▁anchor": 17360, + "...]": 17361, + "▁Austria": 17362, + "▁marca": 17363, + "▁gez": 17364, + "iously": 17365, + "▁lazy": 17366, + "xa": 17367, + "▁Channel": 17368, + "▁neuen": 17369, + "das": 17370, + "▁searched": 17371, + "▁staat": 17372, + "▁Так": 17373, + "▁Josef": 17374, + "▁Sher": 17375, + "pois": 17376, + "▁enem": 17377, + "▁accessing": 17378, + "▁неко": 17379, + "▁furono": 17380, + "▁pseudo": 17381, + "?>": 17382, + "▁estadoun": 17383, + "▁Види": 17384, + "▁motiv": 17385, + "▁recall": 17386, + "isson": 17387, + "ób": 17388, + ")--": 17389, + "▁Erz": 17390, + "▁савез": 17391, + "Direct": 17392, + "соб": 17393, + "▁sho": 17394, + "völker": 17395, + "Ap": 17396, + "gens": 17397, + "ништво": 17398, + "▁Amsterdam": 17399, + "usk": 17400, + "пло": 17401, + "▁simulation": 17402, + "▁BC": 17403, + "▁Woj": 17404, + "autom": 17405, + "Alex": 17406, + "▁economic": 17407, + "гом": 17408, + "ikai": 17409, + "▁altre": 17410, + "▁'-": 17411, + "▁Weg": 17412, + "NotFound": 17413, + "йской": 17414, + "▁converting": 17415, + "phabet": 17416, + "atrice": 17417, + "bourne": 17418, + "alom": 17419, + "▁comparing": 17420, + "▁Zo": 17421, + "▁fla": 17422, + "вая": 17423, + "▁entra": 17424, + "▁charset": 17425, + "developers": 17426, + "ística": 17427, + "}>": 17428, + "▁Jazz": 17429, + "▁Howard": 17430, + "шта": 17431, + "▁clone": 17432, + "door": 17433, + "▁Pin": 17434, + "***": 17435, + "▁silent": 17436, + "ecycle": 17437, + "isce": 17438, + "▁mud": 17439, + "▁Display": 17440, + "▁lip": 17441, + "▁использова": 17442, + "▁characteristic": 17443, + "▁sb": 17444, + "firebase": 17445, + "▁Bew": 17446, + "Calendar": 17447, + "▁uso": 17448, + "èse": 17449, + "▁Rat": 17450, + "▁esper": 17451, + "▁throwing": 17452, + "▁rodz": 17453, + "▁yards": 17454, + "▁grass": 17455, + "▁marker": 17456, + "▁Kos": 17457, + "Theta": 17458, + "▁organis": 17459, + "kernel": 17460, + "▁personas": 17461, + "keep": 17462, + "▁exclaimed": 17463, + "oslav": 17464, + "▁Entertain": 17465, + "нер": 17466, + "▁inwon": 17467, + "▁Rand": 17468, + "reduce": 17469, + "fac": 17470, + "expression": 17471, + "yj": 17472, + "▁differenti": 17473, + "aglia": 17474, + "▁templates": 17475, + "▁mű": 17476, + "▁prv": 17477, + "▁mois": 17478, + "▁gewann": 17479, + "▁була": 17480, + "bibli": 17481, + "demo": 17482, + "▁Anderson": 17483, + "▁ред": 17484, + "▁porque": 17485, + "▁Pologne": 17486, + "▁trip": 17487, + "▁exemple": 17488, + "▁Internacional": 17489, + "▁као": 17490, + "Insert": 17491, + "general": 17492, + "SESSION": 17493, + "berga": 17494, + "hält": 17495, + "unas": 17496, + "мира": 17497, + "▁yields": 17498, + "mapsto": 17499, + "spot": 17500, + "▁+\\": 17501, + "лла": 17502, + "▁precisely": 17503, + "▁член": 17504, + "shadow": 17505, + "Are": 17506, + "unal": 17507, + "▁dispar": 17508, + "▁título": 17509, + "nest": 17510, + "▁Low": 17511, + "▁prot": 17512, + "▁Costa": 17513, + "named": 17514, + "▁gained": 17515, + "lesia": 17516, + "▁administration": 17517, + "Import": 17518, + "branch": 17519, + "▁sympath": 17520, + "voj": 17521, + "▁EC": 17522, + "▁municipio": 17523, + "▁animated": 17524, + "▁directories": 17525, + "▁roof": 17526, + "ząd": 17527, + "imet": 17528, + "proto": 17529, + "bla": 17530, + ":]": 17531, + "have": 17532, + "atem": 17533, + "▁ns": 17534, + "▁sector": 17535, + "three": 17536, + "owane": 17537, + "wers": 17538, + "ових": 17539, + "rence": 17540, + "▁extr": 17541, + "igten": 17542, + "▁occident": 17543, + "ță": 17544, + "▁eat": 17545, + "▁hydro": 17546, + "ubernetes": 17547, + "[@": 17548, + "▁Moon": 17549, + "▁Sho": 17550, + "▁elsewhere": 17551, + "üller": 17552, + "Upload": 17553, + "ланд": 17554, + "▁För": 17555, + "wissenschaft": 17556, + "KS": 17557, + "▁physics": 17558, + "tz": 17559, + "▁серед": 17560, + "▁Arbeit": 17561, + "▁мест": 17562, + "▁Gebiet": 17563, + "▁insect": 17564, + "Ah": 17565, + "izado": 17566, + "▁temple": 17567, + "▁annual": 17568, + "stad": 17569, + "▁habitat": 17570, + "▁AB": 17571, + "wort": 17572, + "▁repos": 17573, + "▁Neu": 17574, + "▁$(\".": 17575, + "Vorlage": 17576, + "▁reprezent": 17577, + "estanden": 17578, + "Intern": 17579, + ".`": 17580, + "▁failing": 17581, + "▁Material": 17582, + "▁effectively": 17583, + "телем": 17584, + "▁гла": 17585, + "▁nahm": 17586, + "▁differently": 17587, + "extension": 17588, + "▁Verm": 17589, + "enabled": 17590, + "configure": 17591, + "nio": 17592, + "ciones": 17593, + "▁Beach": 17594, + "сона": 17595, + "▁copying": 17596, + "▁україн": 17597, + "▁призна": 17598, + "zh": 17599, + "Desktop": 17600, + "▁sost": 17601, + "▁subsequently": 17602, + "▁Lehr": 17603, + "▁ó": 17604, + "lär": 17605, + "odor": 17606, + "phon": 17607, + "nc": 17608, + "iterator": 17609, + "▁эти": 17610, + "▁europé": 17611, + "▁Toronto": 17612, + "ódigo": 17613, + "▁posto": 17614, + "ffe": 17615, + "▁crew": 17616, + "▁Schwar": 17617, + "Sa": 17618, + "square": 17619, + "▁beside": 17620, + "▁Мі": 17621, + "▁ath": 17622, + "▁advent": 17623, + "cji": 17624, + "written": 17625, + "▁russ": 17626, + "rost": 17627, + "HI": 17628, + "▁dice": 17629, + "cca": 17630, + "▁dép": 17631, + "ply": 17632, + "bigg": 17633, + "ział": 17634, + "ütt": 17635, + "▁одно": 17636, + "JECT": 17637, + "ському": 17638, + "nos": 17639, + "mock": 17640, + "Launch": 17641, + "same": 17642, + "▁jobs": 17643, + "▁widely": 17644, + "▁defines": 17645, + "▁Pse": 17646, + "▁neighbour": 17647, + "ющие": 17648, + "▁closer": 17649, + "▁располо": 17650, + "▁clubs": 17651, + "fly": 17652, + "шим": 17653, + "▁suffered": 17654, + "▁nar": 17655, + "▁lavor": 17656, + "Extension": 17657, + "itionally": 17658, + "▁grace": 17659, + "▁Campeonato": 17660, + "▁Christmas": 17661, + "middle": 17662, + "othek": 17663, + "elements": 17664, + "▁sondern": 17665, + "▁tarde": 17666, + "▁permanent": 17667, + "▁conclude": 17668, + "Seg": 17669, + "▁акаде": 17670, + "}\",": 17671, + "▁февраля": 17672, + "řed": 17673, + "▁IL": 17674, + "jud": 17675, + "▁USS": 17676, + "▁Nature": 17677, + "ifference": 17678, + "Serializer": 17679, + "▁twelve": 17680, + "tid": 17681, + "мия": 17682, + "ческого": 17683, + "▁calendar": 17684, + "concat": 17685, + "▁intersection": 17686, + "▁PA": 17687, + "azure": 17688, + "▁située": 17689, + "▁kinds": 17690, + "▁ausge": 17691, + "▁rural": 17692, + "Theme": 17693, + "▁tale": 17694, + "noindent": 17695, + "going": 17696, + "rx": 17697, + "agi": 17698, + "wrapper": 17699, + "▁Coast": 17700, + "mbH": 17701, + "▁перед": 17702, + "spre": 17703, + "▁}\\": 17704, + "▁LI": 17705, + "znam": 17706, + "itled": 17707, + "Sample": 17708, + "uliar": 17709, + "*\\": 17710, + "▁resistance": 17711, + "stock": 17712, + "ked": 17713, + "▁HE": 17714, + "▁possession": 17715, + "▁Ring": 17716, + "▁magyar": 17717, + "outs": 17718, + "▁Secretary": 17719, + "nde": 17720, + "▁Wald": 17721, + "-(": 17722, + "▁ISO": 17723, + "▁afternoon": 17724, + "ionen": 17725, + "▁stops": 17726, + "▁constants": 17727, + "guard": 17728, + "bow": 17729, + "▁ers": 17730, + "▁Firebase": 17731, + "▁Clear": 17732, + "▁Holy": 17733, + "Win": 17734, + "▁titles": 17735, + "▁трав": 17736, + "▁contrib": 17737, + "häng": 17738, + "▁photograph": 17739, + "▁Distribution": 17740, + "ifts": 17741, + "▁aunque": 17742, + "comb": 17743, + "ADD": 17744, + "▁publication": 17745, + "▁служ": 17746, + "▁кня": 17747, + "▁ayant": 17748, + "▁restore": 17749, + "▁belief": 17750, + "▁vég": 17751, + "▁extensions": 17752, + "▁decom": 17753, + "вший": 17754, + "WT": 17755, + "▁parti": 17756, + "▁gioc": 17757, + "▁мира": 17758, + "▁issu": 17759, + "pipe": 17760, + "▁props": 17761, + "▁willing": 17762, + "▁nest": 17763, + "aso": 17764, + "pot": 17765, + "▁handles": 17766, + "▁фо": 17767, + "▁moder": 17768, + "▁ebenfalls": 17769, + "▁fighting": 17770, + "umbn": 17771, + "▁transparent": 17772, + "▁Krist": 17773, + "▁homes": 17774, + "▁voyage": 17775, + "Failed": 17776, + "▁Bird": 17777, + "▁Heart": 17778, + "Counter": 17779, + "▁Scottish": 17780, + "ática": 17781, + "▁arbeit": 17782, + "^{-\\": 17783, + "▁Sor": 17784, + "▁engaged": 17785, + "▁aside": 17786, + "▁Fou": 17787, + "▁wiel": 17788, + "▁reconst": 17789, + "ousin": 17790, + "▁hosted": 17791, + "▁classe": 17792, + "▁contest": 17793, + "...\"": 17794, + "мом": 17795, + "▁bean": 17796, + "gem": 17797, + "▁consultato": 17798, + "▁bio": 17799, + "▁subjects": 17800, + "boBox": 17801, + "▁Schrift": 17802, + "▁dinner": 17803, + "ăr": 17804, + "▁równ": 17805, + "▁%%": 17806, + "bage": 17807, + "▁veröff": 17808, + "▁detected": 17809, + "ienn": 17810, + "rose": 17811, + "▁Ton": 17812, + "Complete": 17813, + "▁proto": 17814, + "ichts": 17815, + "STAT": 17816, + "Checked": 17817, + "▁inten": 17818, + "▁smile": 17819, + "▁strip": 17820, + "neut": 17821, + "');\r": 17822, + "four": 17823, + "▁todas": 17824, + "Controls": 17825, + "▁thorough": 17826, + "rup": 17827, + "▁држави": 17828, + "ită": 17829, + "Protocol": 17830, + "Ка": 17831, + "▁expanded": 17832, + "extra": 17833, + "oport": 17834, + "▁Станов": 17835, + "leases": 17836, + "▁notion": 17837, + "▁guest": 17838, + "▁Islands": 17839, + "icked": 17840, + "▁Dave": 17841, + "▁reflection": 17842, + "liv": 17843, + "ální": 17844, + "▁revealed": 17845, + "▁sog": 17846, + "▁Tax": 17847, + "▁periodo": 17848, + "▁Weltkrie": 17849, + "catalina": 17850, + "qué": 17851, + "▁Father": 17852, + "▁Bir": 17853, + "expect": 17854, + "▁regression": 17855, + "iné": 17856, + "▁dabei": 17857, + "perm": 17858, + "мене": 17859, + "▁Abd": 17860, + "▁CF": 17861, + "arks": 17862, + "resolve": 17863, + "wedge": 17864, + "▁initialization": 17865, + "▁Véase": 17866, + "▁приня": 17867, + "stmt": 17868, + "▁income": 17869, + "MY": 17870, + "▁odkazy": 17871, + "▁Siehe": 17872, + "▁bodies": 17873, + "▁soc": 17874, + "Random": 17875, + "▁senza": 17876, + "ablo": 17877, + "▁regarded": 17878, + "onCreate": 17879, + "▁Magazine": 17880, + "▁Raf": 17881, + "▁Buenos": 17882, + "ил": 17883, + ")));": 17884, + "capt": 17885, + "redirect": 17886, + "▁petit": 17887, + "▁farm": 17888, + "▁rôle": 17889, + "▁статьи": 17890, + "    ": 17891, + "subfigure": 17892, + "èces": 17893, + "ziel": 17894, + "▁окон": 17895, + "EE": 17896, + "mee": 17897, + "▁perten": 17898, + "▁représent": 17899, + "▁LA": 17900, + "?'": 17901, + "▁тру": 17902, + "▁rational": 17903, + "osof": 17904, + "▁kne": 17905, + "▁artists": 17906, + "Flow": 17907, + "▁Аль": 17908, + "izard": 17909, + "▁numero": 17910, + "actic": 17911, + "▁destruct": 17912, + "▁Пра": 17913, + "onsieur": 17914, + "qt": 17915, + "abestanden": 17916, + "ność": 17917, + "Connect": 17918, + "▁oracle": 17919, + "▁Stockholm": 17920, + "sizeof": 17921, + "▁gemäß": 17922, + "ACT": 17923, + "▁expert": 17924, + "utions": 17925, + "▁hacia": 17926, + "▁logger": 17927, + "▁fool": 17928, + "rypto": 17929, + "ær": 17930, + "▁cidade": 17931, + "▁составе": 17932, + "oker": 17933, + "▁Transfer": 17934, + "▁denied": 17935, + "Track": 17936, + "▁radi": 17937, + "zec": 17938, + "▁Historic": 17939, + "▁Einwohner": 17940, + "кою": 17941, + "▁хра": 17942, + "▁Category": 17943, + "▁Disney": 17944, + "▁swap": 17945, + "Begin": 17946, + "▁mientras": 17947, + "▁dance": 17948, + "▁tête": 17949, + "▁droit": 17950, + "erta": 17951, + "▁birds": 17952, + "▁convin": 17953, + "parator": 17954, + "дра": 17955, + "▁ES": 17956, + "▁Ressources": 17957, + "EGIN": 17958, + "ücke": 17959, + "▁Cruz": 17960, + "abling": 17961, + "▁\"@": 17962, + "▁metres": 17963, + "▁Beg": 17964, + "▁Gründ": 17965, + "▁Boh": 17966, + "▁mile": 17967, + "▁Technology": 17968, + "\"+": 17969, + "acco": 17970, + "▁ss": 17971, + "▁Fed": 17972, + "▁Hend": 17973, + "usch": 17974, + "itä": 17975, + "folk": 17976, + "▁absor": 17977, + "antal": 17978, + "odge": 17979, + "▁WHEN": 17980, + "▁Externí": 17981, + "▁Regiment": 17982, + "▁evaluation": 17983, + "▁Tai": 17984, + "▁vocals": 17985, + "▁experimental": 17986, + "embed": 17987, + "▁Minn": 17988, + "▁вме": 17989, + "prec": 17990, + "every": 17991, + "▁hoof": 17992, + "▁Fernando": 17993, + "▁Bibliographie": 17994, + "▁nag": 17995, + "amerikanischer": 17996, + "▁marks": 17997, + "▁UTC": 17998, + "▁uncertain": 17999, + "дия": 18000, + "olia": 18001, + "▁cup": 18002, + "▁fille": 18003, + "▁dok": 18004, + "useppe": 18005, + "esterd": 18006, + "▁Brand": 18007, + "▁Third": 18008, + "PP": 18009, + "nodes": 18010, + "▁Pad": 18011, + "▁loved": 18012, + "swing": 18013, + "▁surprised": 18014, + "ardi": 18015, + "▁GR": 18016, + "]\"": 18017, + "▁equally": 18018, + "ihe": 18019, + "care": 18020, + "писок": 18021, + "lijk": 18022, + "rinn": 18023, + "▁\\[\\": 18024, + "▁sons": 18025, + "▁tät": 18026, + "icamente": 18027, + "▁listing": 18028, + "iellement": 18029, + "▁nyelven": 18030, + "▁ds": 18031, + "▁agricult": 18032, + "▁Hermann": 18033, + "▁besides": 18034, + "progress": 18035, + "▁peculiar": 18036, + "focus": 18037, + "cn": 18038, + "-$": 18039, + "ственный": 18040, + "ourg": 18041, + "▁wyn": 18042, + "▁conducted": 18043, + "▁Становништво": 18044, + "connected": 18045, + "▁bott": 18046, + "▁смер": 18047, + "▁Poz": 18048, + "unct": 18049, + "conda": 18050, + "▁савезној": 18051, + "▁havet": 18052, + "ligt": 18053, + "orted": 18054, + "▁entering": 18055, + "multip": 18056, + "▁Temple": 18057, + "▁Plant": 18058, + "typeof": 18059, + "▁Vlad": 18060, + "▁qued": 18061, + "▁reste": 18062, + "▁май": 18063, + "▁Very": 18064, + "ambiguation": 18065, + "▁challeng": 18066, + "▁respective": 18067, + "▁тор": 18068, + "Ctrl": 18069, + "▁absence": 18070, + "aru": 18071, + "вое": 18072, + "▁först": 18073, + "▁sq": 18074, + "▁Emperor": 18075, + "▁Ign": 18076, + "▁това": 18077, + ":`": 18078, + "adoop": 18079, + "▁Madame": 18080, + "▁gruppo": 18081, + "stud": 18082, + "▁externas": 18083, + "▁Александр": 18084, + "▁dign": 18085, + "▁живе": 18086, + "Amount": 18087, + "▁correlate": 18088, + "▁Fant": 18089, + "▁rails": 18090, + "fp": 18091, + "министратив": 18092, + "▁bought": 18093, + "▁filters": 18094, + "▁ancora": 18095, + "▁partner": 18096, + "▁quand": 18097, + "symbol": 18098, + "ulating": 18099, + "▁zd": 18100, + "awn": 18101, + "▁Grant": 18102, + "because": 18103, + "rable": 18104, + "\\}": 18105, + "ísticas": 18106, + "▁уче": 18107, + "▁période": 18108, + "▁ske": 18109, + "▁Anyway": 18110, + "▁indexes": 18111, + "▁directions": 18112, + "▁RAM": 18113, + "chrome": 18114, + "▁apost": 18115, + "▁warnings": 18116, + "▁Airport": 18117, + "VI": 18118, + "abile": 18119, + "▁lord": 18120, + "provider": 18121, + "▁Ji": 18122, + "ostream": 18123, + "▁gemeente": 18124, + "tableView": 18125, + "Extra": 18126, + "cursor": 18127, + "eground": 18128, + "▁Moz": 18129, + "▁rib": 18130, + "▁morph": 18131, + "loads": 18132, + "elsk": 18133, + "▁MAX": 18134, + "▁Santiago": 18135, + "▁Him": 18136, + "codes": 18137, + "▁lanz": 18138, + "▁counts": 18139, + "rinningsområ": 18140, + "щё": 18141, + "▁spé": 18142, + "▁pierws": 18143, + "▁Sver": 18144, + "▁acknow": 18145, + "Boolean": 18146, + "▁фамили": 18147, + "▁Senate": 18148, + "шов": 18149, + "agers": 18150, + "▁Nueva": 18151, + "bil": 18152, + "kiem": 18153, + "▁Mey": 18154, + "wij": 18155, + "▁GmbH": 18156, + "validation": 18157, + "▁ensuite": 18158, + "inking": 18159, + "▁campion": 18160, + "▁financial": 18161, + "izon": 18162, + "Headers": 18163, + "▁deprecated": 18164, + "▁fonction": 18165, + "REG": 18166, + "▁volumes": 18167, + "▁Chi": 18168, + "▁encountered": 18169, + "lak": 18170, + "рая": 18171, + "▁continues": 18172, + "▁~[": 18173, + "uerte": 18174, + "▁\\;": 18175, + "▁Dok": 18176, + "▁weights": 18177, + "▁rh": 18178, + "▁Napole": 18179, + "▁naturally": 18180, + "sku": 18181, + "pas": 18182, + "▁gegründ": 18183, + "etr": 18184, + "▁Ku": 18185, + "icted": 18186, + "▁fabric": 18187, + "▁ASC": 18188, + "▁Entertainment": 18189, + "▁energ": 18190, + "клад": 18191, + "omon": 18192, + "theme": 18193, + "▁харак": 18194, + "▁draft": 18195, + "▁channels": 18196, + "▁desert": 18197, + "▁través": 18198, + "▁Lock": 18199, + "▁siendo": 18200, + "фек": 18201, + "même": 18202, + "▁packet": 18203, + "▁Mountain": 18204, + "▁Fahr": 18205, + "braio": 18206, + "пере": 18207, + "▁genannt": 18208, + "▁deployment": 18209, + "Pal": 18210, + "ног": 18211, + "стру": 18212, + "Prim": 18213, + "für": 18214, + "▁dangerous": 18215, + "▁szám": 18216, + "reck": 18217, + "▁popup": 18218, + "icky": 18219, + "inar": 18220, + "cowo": 18221, + "нцикло": 18222, + "ítás": 18223, + "▁plugins": 18224, + "▁driven": 18225, + "лев": 18226, + "▁\"(": 18227, + "tta": 18228, + "▁Ú": 18229, + "▁eb": 18230, + "▁'';": 18231, + "▁knock": 18232, + "▁основа": 18233, + "▁maison": 18234, + "гля": 18235, + "▁Honor": 18236, + "tail": 18237, + "ritz": 18238, + "▁guys": 18239, + "▁combinations": 18240, + "ondere": 18241, + "▁Ald": 18242, + "▁fiddle": 18243, + "дав": 18244, + "urd": 18245, + "▁projection": 18246, + "▁También": 18247, + "verb": 18248, + "▁terre": 18249, + "rugu": 18250, + "▁september": 18251, + "▁=": 18572, + "▁Beat": 18573, + "▁Sax": 18574, + "vertical": 18575, + "кто": 18576, + "▁plants": 18577, + "▁Références": 18578, + "▁ogni": 18579, + "▁curs": 18580, + "▁SK": 18581, + "они": 18582, + "▁destac": 18583, + "\");\r": 18584, + "▁Sure": 18585, + "▁partido": 18586, + "▁Folge": 18587, + "▁Moore": 18588, + "▁wz": 18589, + "скус": 18590, + "ltre": 18591, + "ondo": 18592, + "▁pose": 18593, + "imos": 18594, + "бой": 18595, + "ципа": 18596, + "jus": 18597, + ".....": 18598, + "▁época": 18599, + "▁quanto": 18600, + "▁Support": 18601, + "geschichte": 18602, + "SERVER": 18603, + "▁Georges": 18604, + "enum": 18605, + "▁herm": 18606, + "▁nebo": 18607, + "▁Chr": 18608, + "character": 18609, + "▁***": 18610, + "▁Forsch": 18611, + "iami": 18612, + "▁¿": 18613, + "cych": 18614, + "▁fifth": 18615, + "sent": 18616, + "▁anderem": 18617, + "▁proportion": 18618, + "▁prest": 18619, + "▁Girl": 18620, + "▁drama": 18621, + "wand": 18622, + "▁Mail": 18623, + "▁Lux": 18624, + "▁který": 18625, + "▁Gesellschaft": 18626, + "▁Hinweis": 18627, + "nisse": 18628, + "▁mondo": 18629, + "Eq": 18630, + "▁perí": 18631, + "▁eastern": 18632, + "▁UEFA": 18633, + "uale": 18634, + "▁convex": 18635, + "▁поль": 18636, + "▁Hey": 18637, + "zenie": 18638, + "initely": 18639, + "▁Zusammen": 18640, + "SSL": 18641, + "ocal": 18642, + "▁canal": 18643, + "voy": 18644, + "▁Кри": 18645, + "▁között": 18646, + "▁cars": 18647, + "▁versión": 18648, + "Environment": 18649, + "Her": 18650, + "▁señ": 18651, + "▁spatial": 18652, + "ymi": 18653, + "Fire": 18654, + "▁veget": 18655, + "▁Wie": 18656, + "▁znaj": 18657, + "▁damage": 18658, + "▁endl": 18659, + "gif": 18660, + "▁quali": 18661, + "▁которых": 18662, + "ellan": 18663, + "▁mens": 18664, + "▁plug": 18665, + "▁abund": 18666, + "FIG": 18667, + "▁sf": 18668, + "▁confl": 18669, + "▁населения": 18670, + "▁principles": 18671, + "▁Gabriel": 18672, + "ibe": 18673, + "▁{%": 18674, + "▁població": 18675, + "ніципа": 18676, + "▁extreme": 18677, + "▁asse": 18678, + "▁vu": 18679, + "Mock": 18680, + "▁spielte": 18681, + "▁Aer": 18682, + "▁datos": 18683, + "endes": 18684, + "▁Gel": 18685, + "▁Gor": 18686, + "Christ": 18687, + "chos": 18688, + "Processor": 18689, + "▁instruct": 18690, + "▁picked": 18691, + "nahme": 18692, + "fahr": 18693, + "▁indicated": 18694, + "▁%.": 18695, + "▁ts": 18696, + "▁notable": 18697, + "▁qualified": 18698, + "▁Ал": 18699, + "Black": 18700, + "▁council": 18701, + "▁overhead": 18702, + "aci": 18703, + "année": 18704, + "▁initWith": 18705, + "bió": 18706, + "▁introduction": 18707, + "▁companion": 18708, + "▁expon": 18709, + "▁kör": 18710, + "oby": 18711, + "burn": 18712, + "gnu": 18713, + "virtual": 18714, + "▁intellect": 18715, + "▁держа": 18716, + "'+": 18717, + "бле": 18718, + "▁strictly": 18719, + "▁recognize": 18720, + "hour": 18721, + "▁Wrest": 18722, + "ennen": 18723, + "$).": 18724, + "fff": 18725, + "▁Centro": 18726, + "▁Pitt": 18727, + "▁dział": 18728, + "▁cela": 18729, + "▁francese": 18730, + "рами": 18731, + "special": 18732, + "▁Dup": 18733, + "toire": 18734, + "каль": 18735, + "COUNT": 18736, + "▁Brook": 18737, + "▁руково": 18738, + "publique": 18739, + "▁seconda": 18740, + "▁compt": 18741, + "▁bland": 18742, + "Before": 18743, + "▁Pack": 18744, + "alty": 18745, + "öder": 18746, + "▁intervals": 18747, + "▁Datenbank": 18748, + "Movie": 18749, + "▁transm": 18750, + "▁tap": 18751, + "▁поч": 18752, + "fon": 18753, + "iai": 18754, + "▁fib": 18755, + "▁wyd": 18756, + "▁hung": 18757, + "▁alive": 18758, + "Clear": 18759, + "▁pushed": 18760, + "▁tuple": 18761, + "achen": 18762, + "гово": 18763, + "▁revers": 18764, + "▁augment": 18765, + "▁challenge": 18766, + "lost": 18767, + "▁deuxième": 18768, + "structor": 18769, + "▁mehrerer": 18770, + "atural": 18771, + "Split": 18772, + "стем": 18773, + "шла": 18774, + ")\\\\": 18775, + "▁Dog": 18776, + "▁developers": 18777, + "▁nod": 18778, + "▁сторо": 18779, + "▁NaN": 18780, + "▁priest": 18781, + "▁exha": 18782, + "UND": 18783, + "pair": 18784, + "alone": 18785, + "▁moon": 18786, + "▁#!/": 18787, + "▁guns": 18788, + "rola": 18789, + "чита": 18790, + "▁Encyclopedia": 18791, + "atis": 18792, + "▁'\"": 18793, + "zych": 18794, + "▁superfic": 18795, + "▁эк": 18796, + "едера": 18797, + "feed": 18798, + "LAY": 18799, + "Fi": 18800, + "unks": 18801, + "isecond": 18802, + "▁'@": 18803, + "▁Adding": 18804, + "рое": 18805, + "▁tang": 18806, + "цо": 18807, + "hung": 18808, + "bis": 18809, + "ského": 18810, + "▁advert": 18811, + "▁занима": 18812, + "uzz": 18813, + "ágina": 18814, + "▁Tel": 18815, + "sig": 18816, + "▁Ez": 18817, + "▁guarantee": 18818, + "▁teaching": 18819, + "oty": 18820, + "termin": 18821, + "▁distributions": 18822, + "FLA": 18823, + "▁Giuseppe": 18824, + "querySelector": 18825, + "▁/\\": 18826, + "▁Squad": 18827, + "gz": 18828, + "delay": 18829, + "▁surrounding": 18830, + "▁manus": 18831, + "▁Hou": 18832, + "²,": 18833, + "▁cultiv": 18834, + "▁troubles": 18835, + "▁raison": 18836, + "expand": 18837, + "▁cov": 18838, + "nungen": 18839, + ")){": 18840, + "▁geen": 18841, + "▁außer": 18842, + "▁Лі": 18843, + "ři": 18844, + "▁situations": 18845, + "▁telep": 18846, + "▁Jed": 18847, + "▁travail": 18848, + "lias": 18849, + "bullet": 18850, + "▁selecting": 18851, + "avier": 18852, + "▁essential": 18853, + "(/": 18854, + "yyyy": 18855, + "ště": 18856, + "ulty": 18857, + "▁kra": 18858, + "▁tabs": 18859, + "▁experienced": 18860, + "azi": 18861, + "▁Directory": 18862, + "▁cron": 18863, + "▁spend": 18864, + "▁RA": 18865, + "▁selenium": 18866, + "▁Thé": 18867, + "Elements": 18868, + "cii": 18869, + "▁plat": 18870, + "▁archive": 18871, + "▁assistance": 18872, + "▁neck": 18873, + "▁Avenue": 18874, + "▁wheel": 18875, + "▁hade": 18876, + "Common": 18877, + "▁Dialog": 18878, + "▁forg": 18879, + "▁surely": 18880, + "▁hockey": 18881, + "któ": 18882, + "▁tk": 18883, + "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁": 18884, + "▁Bruce": 18885, + "▁enorm": 18886, + ",’": 18887, + "▁Christopher": 18888, + "jev": 18889, + "▁quad": 18890, + "▁AJAX": 18891, + "▁relief": 18892, + "▁modes": 18893, + "sklär": 18894, + "▁Vid": 18895, + "▁Serial": 18896, + "▁tokens": 18897, + "▁Poland": 18898, + "\\]": 18899, + "▁vide": 18900, + "rooms": 18901, + "omas": 18902, + "▁Bureau": 18903, + "cx": 18904, + "ностью": 18905, + "▁signs": 18906, + "шение": 18907, + "lossen": 18908, + "▁Queens": 18909, + "▁membre": 18910, + "▁mez": 18911, + "▁Bool": 18912, + "▁Naj": 18913, + "▁Memory": 18914, + "▁Khan": 18915, + "▁là": 18916, + "▁Hud": 18917, + "▁dismiss": 18918, + "ighth": 18919, + "▁fs": 18920, + "prevent": 18921, + "▁меда": 18922, + "▁Police": 18923, + "▁ско": 18924, + "finite": 18925, + "▁ami": 18926, + "▁Much": 18927, + "owania": 18928, + "ORY": 18929, + "iors": 18930, + "▁Premio": 18931, + "▁textbox": 18932, + "dm": 18933, + "▁afin": 18934, + "▁Donald": 18935, + "▁Priv": 18936, + "▁decid": 18937, + "▁Maurice": 18938, + "agan": 18939, + "▁Britannica": 18940, + "▁oft": 18941, + "▁consecutive": 18942, + "\"?>": 18943, + "овий": 18944, + "student": 18945, + "▁peque": 18946, + "▁dieses": 18947, + "▁retour": 18948, + "étr": 18949, + "▁сез": 18950, + "▁kre": 18951, + "▁votes": 18952, + "ruption": 18953, + "izada": 18954, + "▁Wiel": 18955, + "▁Gray": 18956, + "▁Leop": 18957, + "teilung": 18958, + "(['": 18959, + "▁whites": 18960, + "frica": 18961, + "animation": 18962, + "curl": 18963, + "lings": 18964, + "=\"$": 18965, + "loyd": 18966, + "textsc": 18967, + "ору": 18968, + "▁села": 18969, + "esian": 18970, + "▁Mission": 18971, + "▁неза": 18972, + "▁ultimately": 18973, + "бов": 18974, + "olen": 18975, + "скому": 18976, + "nete": 18977, + "▁Dit": 18978, + "▁costru": 18979, + "dependent": 18980, + "▁Resource": 18981, + "▁hosts": 18982, + "▁rear": 18983, + "Duration": 18984, + "ників": 18985, + "Ма": 18986, + "▁planning": 18987, + "▁prediction": 18988, + "▁Lyn": 18989, + "▁kir": 18990, + "▁Legisl": 18991, + "мат": 18992, + "▁Soccer": 18993, + "▁survey": 18994, + "▁estadounidense": 18995, + "orgen": 18996, + "jourd": 18997, + "▁aprile": 18998, + "▁ids": 18999, + "ське": 19000, + "▁employee": 19001, + "▁Schauspieler": 19002, + "ръ": 19003, + "▁multimedia": 19004, + "▁свою": 19005, + "▁wine": 19006, + "▁EU": 19007, + "ică": 19008, + "▁Rhein": 19009, + "▁Palmar": 19010, + "oteca": 19011, + "▁prepare": 19012, + "▁Tot": 19013, + "▁Null": 19014, + "▁kin": 19015, + "inals": 19016, + "▁Newton": 19017, + "▁tbl": 19018, + "▁Sold": 19019, + "▁verf": 19020, + "aturing": 19021, + "▁laptop": 19022, + "▁Совет": 19023, + "secret": 19024, + "▁Olympic": 19025, + "▁footballer": 19026, + "▁Rudolf": 19027, + "▁conhe": 19028, + "zysk": 19029, + "▁evaluated": 19030, + "»)": 19031, + "shop": 19032, + "repository": 19033, + "▁zach": 19034, + "▁losing": 19035, + "etter": 19036, + "▁Wirtschaft": 19037, + "так": 19038, + "▁unnecessary": 19039, + "▁Phot": 19040, + "anska": 19041, + "▁Native": 19042, + "CCE": 19043, + "▁fifty": 19044, + "▁erw": 19045, + "rh": 19046, + "issent": 19047, + "}{(": 19048, + "▁lanç": 19049, + "▁Xcode": 19050, + "город": 19051, + "cir": 19052, + "▁película": 19053, + "▁Oscar": 19054, + "▁shore": 19055, + "▁supplied": 19056, + "examples": 19057, + "Mess": 19058, + "VICE": 19059, + "▁exclude": 19060, + "▁hen": 19061, + "▁губер": 19062, + "▁Fragment": 19063, + "▁Bitte": 19064, + "▁Besides": 19065, + "▁hes": 19066, + "▁ihrem": 19067, + "▁Serge": 19068, + "▁artific": 19069, + "=\"${": 19070, + "лово": 19071, + "uteur": 19072, + "taire": 19073, + "пас": 19074, + "▁easiest": 19075, + "▁famiglia": 19076, + "Normal": 19077, + "▁dalle": 19078, + "▁nations": 19079, + "rp": 19080, + "thead": 19081, + "▁області": 19082, + "▁Democratic": 19083, + "▁челове": 19084, + "мож": 19085, + "▁гер": 19086, + "▁smallest": 19087, + "▁Publishing": 19088, + "▁Ts": 19089, + "▁laughed": 19090, + "lle": 19091, + "▁Amt": 19092, + "▁IIS": 19093, + "FORM": 19094, + "Mag": 19095, + "дон": 19096, + "▁storia": 19097, + "▁organized": 19098, + "ční": 19099, + "▁ox": 19100, + "lingen": 19101, + "▁luego": 19102, + "cció": 19103, + "▁rely": 19104, + "▁tussen": 19105, + "erten": 19106, + "▁honour": 19107, + "▁Claude": 19108, + "▁Korea": 19109, + "▁Metropol": 19110, + "Super": 19111, + "rien": 19112, + "érature": 19113, + "attro": 19114, + "▁біль": 19115, + "▁Herbert": 19116, + "▁auteurs": 19117, + "▁darauf": 19118, + "▁mental": 19119, + "▁rang": 19120, + "▁són": 19121, + "▁Soph": 19122, + ")\",": 19123, + "Descriptor": 19124, + "prepare": 19125, + "▁Landkreis": 19126, + "HC": 19127, + "cross": 19128, + "лиза": 19129, + "▁Login": 19130, + "onen": 19131, + "Feature": 19132, + "▁museum": 19133, + "vek": 19134, + "▁Nelson": 19135, + "▁rejo": 19136, + "▁команди": 19137, + "▁summar": 19138, + "▁следу": 19139, + "ämp": 19140, + "▁Gas": 19141, + "вом": 19142, + "VALUE": 19143, + "inge": 19144, + "period": 19145, + "lassen": 19146, + "ával": 19147, + "▁altogether": 19148, + "umph": 19149, + "istro": 19150, + "ąż": 19151, + "▁Keep": 19152, + "▁Marco": 19153, + "▁étant": 19154, + "▁Dre": 19155, + "geometry": 19156, + "▁Kas": 19157, + "messages": 19158, + "Cook": 19159, + "▁Side": 19160, + "▁коми": 19161, + "стри": 19162, + "▁excess": 19163, + "▁Biografia": 19164, + "XXXX": 19165, + "▁Nie": 19166, + "vendor": 19167, + "xsd": 19168, + "Mill": 19169, + "processing": 19170, + "▁Missouri": 19171, + "▁permett": 19172, + "▁apar": 19173, + "▁crowd": 19174, + "fert": 19175, + "▁Dou": 19176, + "rí": 19177, + "▁CC": 19178, + "▁payment": 19179, + "▁Hollywood": 19180, + "▁Virtual": 19181, + "▁spoken": 19182, + "▁tram": 19183, + "▁Community": 19184, + "▁administrative": 19185, + "▁воло": 19186, + "gior": 19187, + "visor": 19188, + "▁Украи": 19189, + "stage": 19190, + "▁Format": 19191, + "▁convenient": 19192, + "На": 19193, + "▁median": 19194, + "▁вра": 19195, + "▁Према": 19196, + "enig": 19197, + "▁Opera": 19198, + "rés": 19199, + "▁fmt": 19200, + "▁efficiency": 19201, + "male": 19202, + "Master": 19203, + "Series": 19204, + "▁syd": 19205, + "generic": 19206, + "interval": 19207, + "▁efect": 19208, + "▁inwoners": 19209, + "лимпи": 19210, + "irement": 19211, + "Err": 19212, + "öh": 19213, + "▁lying": 19214, + "▁Settings": 19215, + "!=": 19216, + "ematic": 19217, + "argv": 19218, + "▁Basic": 19219, + "▁consideration": 19220, + "▁habe": 19221, + "-%": 19222, + "▁mountains": 19223, + "▁peak": 19224, + "▁fallen": 19225, + "eded": 19226, + "logic": 19227, + "▁matched": 19228, + "▁typing": 19229, + ")},": 19230, + "▁fancy": 19231, + "▁elegant": 19232, + "ال": 19233, + "▁участ": 19234, + "▁Sarah": 19235, + "▁Verd": 19236, + "▁tego": 19237, + "rules": 19238, + "▁mounted": 19239, + "▁ім": 19240, + "еру": 19241, + "stoff": 19242, + "fahren": 19243, + "distance": 19244, + "▁License": 19245, + "▁LEFT": 19246, + "▁wp": 19247, + "/{": 19248, + "▁amazon": 19249, + ">&": 19250, + "▁első": 19251, + "quarters": 19252, + "▁shock": 19253, + "nick": 19254, + "▁Archite": 19255, + "▁Square": 19256, + "▁rates": 19257, + "iore": 19258, + "▁Nat": 19259, + "▁Charlot": 19260, + "reichen": 19261, + "▁variation": 19262, + "osis": 19263, + "life": 19264, + "slide": 19265, + "abi": 19266, + "uki": 19267, + "mysq": 19268, + "▁primitive": 19269, + "▁universitaire": 19270, + "LENG": 19271, + "ależ": 19272, + "ebook": 19273, + "syn": 19274, + "▁Gegen": 19275, + "▁Kü": 19276, + "▁але": 19277, + "▁Lub": 19278, + "concurrent": 19279, + "izzato": 19280, + "▁stub": 19281, + "▁ie": 19282, + "▁'./": 19283, + "cod": 19284, + "▁internacional": 19285, + "▁Glas": 19286, + "▁mare": 19287, + "▁Neb": 19288, + "▁GB": 19289, + "kwargs": 19290, + "▁aument": 19291, + "WID": 19292, + "▁род": 19293, + "punkt": 19294, + "▁Grad": 19295, + "SN": 19296, + "AMP": 19297, + "▁Born": 19298, + "▁Guerre": 19299, + "готов": 19300, + "▁medio": 19301, + "Med": 19302, + "supp": 19303, + "actual": 19304, + "dropdown": 19305, + "▁oktober": 19306, + "▁ř": 19307, + "▁circular": 19308, + "▁skin": 19309, + "▁emphas": 19310, + "▁голов": 19311, + "▁pue": 19312, + "▁informations": 19313, + "▁Wolfgang": 19314, + "▁useless": 19315, + "ит": 19316, + "▁Joan": 19317, + "▁бор": 19318, + "▁Glad": 19319, + "▁Know": 19320, + "ként": 19321, + "speed": 19322, + "▁Kevin": 19323, + "unft": 19324, + "▁arqu": 19325, + "▁Casa": 19326, + "(...": 19327, + "▁rapidly": 19328, + "▁proble": 19329, + "▁Википеди": 19330, + "žen": 19331, + "▁Neben": 19332, + "▁Meter": 19333, + "Children": 19334, + "cem": 19335, + "igos": 19336, + "aju": 19337, + "▁Retrie": 19338, + "▁Hell": 19339, + "▁gig": 19340, + "▁controvers": 19341, + "▁zoom": 19342, + "▁cens": 19343, + "▁alcuni": 19344, + "▁Header": 19345, + "Meta": 19346, + "Required": 19347, + "▁институ": 19348, + "▁skup": 19349, + "▁ingles": 19350, + "égl": 19351, + "bij": 19352, + "▁tér": 19353, + "▁compag": 19354, + "▁committed": 19355, + "▁processed": 19356, + "Lower": 19357, + "▁Foreign": 19358, + "▁seq": 19359, + "sheets": 19360, + "▁Fem": 19361, + "hoz": 19362, + "inks": 19363, + "▁kall": 19364, + "variant": 19365, + "▁libro": 19366, + "▁clicks": 19367, + "▁gobierno": 19368, + "iegel": 19369, + "мого": 19370, + "geme": 19371, + "▁tower": 19372, + "▁parish": 19373, + "▁TCP": 19374, + "▁ls": 19375, + "▁nginx": 19376, + "NaN": 19377, + "▁Dir": 19378, + "▁Begriffe": 19379, + "arie": 19380, + "ímp": 19381, + "icios": 19382, + "▁sharing": 19383, + "▁cinéma": 19384, + "bec": 19385, + "RED": 19386, + "▁Kra": 19387, + "abol": 19388, + "▁flux": 19389, + "▁expensive": 19390, + "▁суще": 19391, + "▁`_": 19392, + "ocz": 19393, + "лист": 19394, + "▁acquaint": 19395, + "▁wise": 19396, + "▁pouvoir": 19397, + "▁devant": 19398, + "▁momentum": 19399, + "immer": 19400, + "▁Coupe": 19401, + "indexOf": 19402, + "▁doesnt": 19403, + "▁зав": 19404, + "▁license": 19405, + "▁â": 19406, + "CSS": 19407, + "▁rice": 19408, + "Team": 19409, + "▁ano": 19410, + "lit": 19411, + "▁merged": 19412, + "▁Cell": 19413, + "лл": 19414, + "boy": 19415, + "asts": 19416, + "▁sell": 19417, + "▁große": 19418, + "▁virtuel": 19419, + "Cancel": 19420, + "▁sj": 19421, + "gment": 19422, + ".<": 19423, + "чай": 19424, + "ië": 19425, + "akh": 19426, + "izers": 19427, + "prit": 19428, + "▁Tib": 19429, + "▁elaborate": 19430, + "▁fé": 19431, + "▁меди": 19432, + "LENGTH": 19433, + "▁primarily": 19434, + "▁scores": 19435, + "▁carrying": 19436, + "▁lake": 19437, + "compose": 19438, + "▁Township": 19439, + "unge": 19440, + "▁alberga": 19441, + "anych": 19442, + "quelle": 19443, + "▁Ark": 19444, + "▁pris": 19445, + "▁voll": 19446, + "шли": 19447, + "Validation": 19448, + "▁ceux": 19449, + "▁populate": 19450, + "\"\r": 19451, + "▁femmes": 19452, + "ANG": 19453, + "▁Despite": 19454, + "вые": 19455, + "iske": 19456, + "zug": 19457, + "нача": 19458, + "▁hatten": 19459, + "INSERT": 19460, + "Employee": 19461, + "▁moments": 19462, + "▁última": 19463, + "▁holder": 19464, + "blank": 19465, + "Collections": 19466, + "athers": 19467, + "▁grade": 19468, + "▁affairs": 19469, + ".$$": 19470, + "▁delta": 19471, + "▁Jugend": 19472, + "▁español": 19473, + "▁OUT": 19474, + "▁mathematical": 19475, + "▁mongo": 19476, + "▁Фе": 19477, + "uling": 19478, + "▁revolution": 19479, + "▁coin": 19480, + "▁subclass": 19481, + "\"=>": 19482, + "äche": 19483, + "▁pyg": 19484, + "щая": 19485, + "illery": 19486, + "▁comenz": 19487, + "depth": 19488, + "▁cél": 19489, + "▁resize": 19490, + "▁Same": 19491, + "▁strik": 19492, + "▁tir": 19493, + "▁scarc": 19494, + "▁Member": 19495, + "subscribe": 19496, + "óż": 19497, + "útbol": 19498, + "except": 19499, + "▁driving": 19500, + "kie": 19501, + "zony": 19502, + "èmes": 19503, + "David": 19504, + "issant": 19505, + "▁ты": 19506, + "▁élect": 19507, + "▁rename": 19508, + "▁Running": 19509, + "▁interfaces": 19510, + "////////////////": 19511, + "▁Walker": 19512, + "▁société": 19513, + "▁asks": 19514, + "brid": 19515, + "▁jewe": 19516, + "▁seines": 19517, + "▁agents": 19518, + "▁MY": 19519, + "▁Lawrence": 19520, + "dess": 19521, + "iesen": 19522, + "▁людях": 19523, + "прави": 19524, + "▁ancest": 19525, + "▁welche": 19526, + "raum": 19527, + "▁orb": 19528, + "scal": 19529, + "▁Lear": 19530, + "▁wear": 19531, + "▁slave": 19532, + "▁renamed": 19533, + "čen": 19534, + "maste": 19535, + "angles": 19536, + "▁América": 19537, + "▁ti": 19538, + "▁demsel": 19539, + "▁beneath": 19540, + "binary": 19541, + "▁edición": 19542, + "▁kilomet": 19543, + "uits": 19544, + "▁cuatro": 19545, + "▁entrance": 19546, + "ondissement": 19547, + "▁bag": 19548, + "▁Armen": 19549, + "ijo": 19550, + "▁Lors": 19551, + "▁demselben": 19552, + "êm": 19553, + "▁discrete": 19554, + "▁prominent": 19555, + "▁Jay": 19556, + "decor": 19557, + "DL": 19558, + "▁dí": 19559, + "Struct": 19560, + "▁Production": 19561, + "they": 19562, + "arius": 19563, + "schnitt": 19564, + "▁Cou": 19565, + "▁lex": 19566, + "youtube": 19567, + "▁работа": 19568, + "station": 19569, + "sep": 19570, + "▁mirror": 19571, + "▁hits": 19572, + "▁Beck": 19573, + "atically": 19574, + "▁Laz": 19575, + "▁winner": 19576, + "DEX": 19577, + "▁INT": 19578, + "}^{-": 19579, + "▁wegen": 19580, + "mad": 19581, + "Angle": 19582, + "zing": 19583, + "▁Bayern": 19584, + "sal": 19585, + "äger": 19586, + "▁busy": 19587, + "▁stör": 19588, + "▁folk": 19589, + "▁prix": 19590, + "▁allocated": 19591, + "▁pt": 19592, + "affen": 19593, + "cluster": 19594, + "▁complement": 19595, + "árs": 19596, + "▁Amerika": 19597, + "рій": 19598, + "▁valley": 19599, + "▁rooms": 19600, + "▁moi": 19601, + ".\",": 19602, + ";;;;": 19603, + "▁lowest": 19604, + "nog": 19605, + "▁landet": 19606, + "▁programme": 19607, + "chio": 19608, + "▁Während": 19609, + "ández": 19610, + "▁долж": 19611, + "▁ouv": 19612, + "omány": 19613, + "▁Википедии": 19614, + "▁só": 19615, + "▁elektr": 19616, + "Desc": 19617, + "▁Beaut": 19618, + "нар": 19619, + "▁може": 19620, + "Pierre": 19621, + "esota": 19622, + "▁operated": 19623, + "▁forte": 19624, + "рис": 19625, + "▁opposition": 19626, + "alia": 19627, + "▁Syl": 19628, + "getName": 19629, + "вели": 19630, + "fik": 19631, + "▁comprom": 19632, + "▁TextView": 19633, + "Spring": 19634, + "metadata": 19635, + "engu": 19636, + "/,": 19637, + "▁carri": 19638, + "istol": 19639, + "▁diagonal": 19640, + "lista": 19641, + "izen": 19642, + "▁rende": 19643, + "gcc": 19644, + "beck": 19645, + "lius": 19646, + "iral": 19647, + "Resolver": 19648, + "▁percentage": 19649, + "▁attra": 19650, + "strings": 19651, + "wiąz": 19652, + "ods": 19653, + "волю": 19654, + "ęż": 19655, + "▁newspaper": 19656, + "imiter": 19657, + "ABC": 19658, + "▁Manchester": 19659, + "[{": 19660, + "Agent": 19661, + "▁Wor": 19662, + "▁Kath": 19663, + "▁пові": 19664, + "▁entonces": 19665, + "▁niveau": 19666, + "atted": 19667, + "learn": 19668, + "atiques": 19669, + "▁уби": 19670, + "▁quindi": 19671, + "binding": 19672, + "▁imported": 19673, + "▁Horn": 19674, + "emberg": 19675, + "complex": 19676, + "▁neural": 19677, + "information": 19678, + "▁recognition": 19679, + "ingt": 19680, + "▁inhabitants": 19681, + "vue": 19682, + "▁Bevölker": 19683, + "▁curves": 19684, + "▁leb": 19685, + "дій": 19686, + "▁sow": 19687, + "▁sentiment": 19688, + "PH": 19689, + "rache": 19690, + "▁-(": 19691, + "▁estable": 19692, + "▁Ferdinand": 19693, + "▁écrit": 19694, + "▁primeiro": 19695, + "▁tex": 19696, + "▁intermediate": 19697, + "verage": 19698, + "ibus": 19699, + "▁serves": 19700, + "ivas": 19701, + "▁bru": 19702, + "▁lum": 19703, + "attice": 19704, + "чный": 19705, + "▁Dres": 19706, + "▁videos": 19707, + "duration": 19708, + "▁abit": 19709, + "▁egg": 19710, + "ographical": 19711, + "alph": 19712, + "STATE": 19713, + "▁пара": 19714, + "reading": 19715, + "▁vehicle": 19716, + "▁fortune": 19717, + "ultats": 19718, + "▁Storia": 19719, + "midt": 19720, + "łącz": 19721, + "▁Memorial": 19722, + "▁vas": 19723, + "▁зан": 19724, + "▁utility": 19725, + "▁obsc": 19726, + "▁relacion": 19727, + "▁runat": 19728, + "Release": 19729, + "take": 19730, + "▁Oliver": 19731, + "▁Sid": 19732, + "ulos": 19733, + "▁Garc": 19734, + "▁розта": 19735, + "▁Sak": 19736, + "Py": 19737, + "führt": 19738, + "▁trabal": 19739, + "*{": 19740, + "▁zes": 19741, + "▁szere": 19742, + "▁varios": 19743, + "▁otra": 19744, + "▁eval": 19745, + "▁situé": 19746, + "▁wounded": 19747, + "▁Vincent": 19748, + "▁викори": 19749, + "▁encode": 19750, + "Modal": 19751, + "▁forb": 19752, + "▁dynamics": 19753, + "▁depos": 19754, + "arde": 19755, + "▁streets": 19756, + "▁Komm": 19757, + "=$(": 19758, + "▁повер": 19759, + "▁dois": 19760, + "▁vitt": 19761, + "▁automatisch": 19762, + "▁reload": 19763, + "▁Verwalt": 19764, + "bero": 19765, + "▁hub": 19766, + "▁mos": 19767, + "▁tutto": 19768, + "▁Frederick": 19769, + "łow": 19770, + "antages": 19771, + "aque": 19772, + "paper": 19773, + "▁einige": 19774, + "`),": 19775, + "dj": 19776, + "▁Ple": 19777, + "▁%,": 19778, + "▁Bitmap": 19779, + "▁friendly": 19780, + "▁truly": 19781, + "▁stroke": 19782, + "roph": 19783, + "▁engl": 19784, + "▁coff": 19785, + "▁dust": 19786, + "▁Jahres": 19787, + "ppi": 19788, + "▁wys": 19789, + "factor": 19790, + "schluss": 19791, + "▁деревня": 19792, + "▁Past": 19793, + "▁дома": 19794, + "COM": 19795, + "▁pueden": 19796, + "▁gift": 19797, + "▁Gla": 19798, + "▁triggered": 19799, + "ély": 19800, + "ülés": 19801, + "▁Oliv": 19802, + "▁verso": 19803, + "▁lle": 19804, + "▁Gli": 19805, + "▁Ltd": 19806, + "oa": 19807, + "▁territorio": 19808, + "ordre": 19809, + "▁deck": 19810, + "dra": 19811, + "aszt": 19812, + "▁concerning": 19813, + "▁Additionally": 19814, + "▁které": 19815, + "▁grund": 19816, + "▁Gest": 19817, + "▁misunder": 19818, + "pret": 19819, + "────": 19820, + "▁reputation": 19821, + "zia": 19822, + "▁успе": 19823, + "▁escaped": 19824, + "▁Prag": 19825, + "perform": 19826, + "▁austral": 19827, + "▁Vater": 19828, + "час": 19829, + "▁races": 19830, + "▁Byte": 19831, + "Mask": 19832, + "▁Territ": 19833, + "стю": 19834, + "▁Voci": 19835, + "▁Fichier": 19836, + "▁Населення": 19837, + "▁Unterscheidung": 19838, + "teenth": 19839, + "▁pilot": 19840, + "▁ji": 19841, + "▁двух": 19842, + "▁orientation": 19843, + "indre": 19844, + "▁Dort": 19845, + "ças": 19846, + "пли": 19847, + "▁reaction": 19848, + "▁consisting": 19849, + "▁ferro": 19850, + "тисти": 19851, + "yard": 19852, + "▁сві": 19853, + "▁interpretation": 19854, + "ią": 19855, + "rah": 19856, + "▁fand": 19857, + "Public": 19858, + "▁universe": 19859, + "▁retir": 19860, + "▁conscious": 19861, + "arqu": 19862, + "▁waste": 19863, + "▁Bib": 19864, + "yclerView": 19865, + "▁listening": 19866, + "gleich": 19867, + "niejs": 19868, + "▁correlation": 19869, + "▁receiver": 19870, + "▁уда": 19871, + "▁courage": 19872, + "uchs": 19873, + "fass": 19874, + "▁chunk": 19875, + "▁Anfang": 19876, + "▁großen": 19877, + "continue": 19878, + "▁Warszawa": 19879, + "hé": 19880, + "iy": 19881, + "ivement": 19882, + "▁α": 19883, + "▁exposed": 19884, + "▁zahl": 19885, + "▁sacr": 19886, + "▁Looks": 19887, + "▁eager": 19888, + "enten": 19889, + "Cursor": 19890, + "/_": 19891, + "ixa": 19892, + "рела": 19893, + "знача": 19894, + "▁фамилией": 19895, + "▁argent": 19896, + "▁Anders": 19897, + "œuvre": 19898, + "▁Isa": 19899, + "мента": 19900, + "▁advers": 19901, + "riction": 19902, + "GP": 19903, + "▁після": 19904, + "▁preserve": 19905, + "▁Garden": 19906, + "Rate": 19907, + "après": 19908, + "▁readable": 19909, + "indu": 19910, + "▁skill": 19911, + "▁helping": 19912, + "ographique": 19913, + "cling": 19914, + "ologist": 19915, + "▁Filter": 19916, + "▁finger": 19917, + "▁Vall": 19918, + "▁Polish": 19919, + "lg": 19920, + "▁Familien": 19921, + "▁waters": 19922, + "▁pseud": 19923, + "aza": 19924, + "_)": 19925, + "ARY": 19926, + "▁среди": 19927, + "▁Must": 19928, + "▁Bod": 19929, + "anon": 19930, + "▁lado": 19931, + "▁tight": 19932, + "imen": 19933, + "appen": 19934, + "frames": 19935, + "ingers": 19936, + "▁COVID": 19937, + "▁зі": 19938, + "▁све": 19939, + "▁ць": 19940, + "▁Left": 19941, + "]];": 19942, + "чь": 19943, + "фика": 19944, + "▁сло": 19945, + "▁пі": 19946, + "▁existe": 19947, + "▁Atlantic": 19948, + "▁maintained": 19949, + "▁irre": 19950, + "▁année": 19951, + "▁commented": 19952, + "веро": 19953, + "berta": 19954, + "▁Lad": 19955, + "▁Upon": 19956, + "▁pause": 19957, + "mill": 19958, + "opter": 19959, + "UK": 19960, + "рес": 19961, + "нциклопеди": 19962, + "▁alongside": 19963, + "▁robot": 19964, + "▁fert": 19965, + "▁moy": 19966, + "▁ade": 19967, + "Mapper": 19968, + ")->": 19969, + "igua": 19970, + "étique": 19971, + "тка": 19972, + "alias": 19973, + "▁ори": 19974, + "▁Magn": 19975, + "▁gehörte": 19976, + "imb": 19977, + ")}{\\": 19978, + "▁Wikipédia": 19979, + "▁urs": 19980, + "▁ende": 19981, + "leb": 19982, + "▁GC": 19983, + "Hol": 19984, + "ancing": 19985, + "Union": 19986, + "▁tenía": 19987, + "TT": 19988, + "▁estate": 19989, + "há": 19990, + "▁полі": 19991, + "ultan": 19992, + "▁Hockey": 19993, + "ulse": 19994, + "▁choices": 19995, + "scher": 19996, + "▁[],": 19997, + "▁potentially": 19998, + "▁Übers": 19999, + "▁admit": 20000, + "Comment": 20001, + "стя": 20002, + "▁Vien": 20003, + "▁ці": 20004, + "▁permut": 20005, + "cgi": 20006, + "▁crít": 20007, + "Console": 20008, + "ctic": 20009, + "▁okres": 20010, + "awk": 20011, + "football": 20012, + "ouest": 20013, + "CTYPE": 20014, + "ologique": 20015, + "▁constit": 20016, + "▁interests": 20017, + "▁Progress": 20018, + "▁Menu": 20019, + "▁také": 20020, + "▁Asian": 20021, + "▁защи": 20022, + "▁younger": 20023, + "▁wished": 20024, + "▁Sort": 20025, + "▁audience": 20026, + "amba": 20027, + "▁gehört": 20028, + "▁Kansas": 20029, + "yaume": 20030, + "▁Professional": 20031, + "âce": 20032, + "▁fatto": 20033, + "tod": 20034, + "▁datasets": 20035, + "▁fare": 20036, + "▁waves": 20037, + "~/": 20038, + "▁measurement": 20039, + "▁wol": 20040, + "indust": 20041, + "▁struggling": 20042, + "▁pulled": 20043, + "▁caratter": 20044, + "▁Externe": 20045, + "▁действи": 20046, + "cnt": 20047, + "liches": 20048, + "▁Possible": 20049, + "▁faced": 20050, + "▁hypothesis": 20051, + "▁kilom": 20052, + "▁när": 20053, + "boolean": 20054, + "PY": 20055, + "ampa": 20056, + "▁kiss": 20057, + "▁astero": 20058, + "▁negli": 20059, + "aments": 20060, + "▁Stu": 20061, + "ató": 20062, + "▁Constitution": 20063, + "▁interpol": 20064, + "▁Unable": 20065, + "▁pis": 20066, + "▁parc": 20067, + "\"])": 20068, + "pler": 20069, + "▁autory": 20070, + "▁algunos": 20071, + "ywna": 20072, + "}))": 20073, + "▁falls": 20074, + "▁équip": 20075, + "▁emit": 20076, + "▁profil": 20077, + "gets": 20078, + "фо": 20079, + "▁Military": 20080, + "▁nombreux": 20081, + "oct": 20082, + "Replace": 20083, + "▁seasons": 20084, + "▁château": 20085, + "▁typeof": 20086, + "polit": 20087, + "▁rand": 20088, + "▁quar": 20089, + "▁erstmals": 20090, + "сини": 20091, + "▁payload": 20092, + "По": 20093, + "кін": 20094, + "repo": 20095, + "▁Pav": 20096, + "Score": 20097, + "erves": 20098, + "▁sollte": 20099, + "▁між": 20100, + "ébec": 20101, + "▁clip": 20102, + "▁Nice": 20103, + "▁neben": 20104, + "▁assass": 20105, + "itories": 20106, + "▁unity": 20107, + "▁ен": 20108, + "▁Institut": 20109, + "▁internationale": 20110, + "▁наук": 20111, + "▁comand": 20112, + "▁kleine": 20113, + "▁adjacent": 20114, + "▁delivered": 20115, + "▁ше": 20116, + "зем": 20117, + "▁cot": 20118, + "visual": 20119, + "вает": 20120, + "▁Census": 20121, + "\\_": 20122, + "▁territory": 20123, + "чил": 20124, + "чные": 20125, + "flutter": 20126, + "DidLoad": 20127, + "Documents": 20128, + "▁dob": 20129, + "Bre": 20130, + "animate": 20131, + "▁biz": 20132, + "▁bata": 20133, + "▁SU": 20134, + "eso": 20135, + "▁priority": 20136, + "ván": 20137, + "iras": 20138, + "▁charged": 20139, + "▁Micro": 20140, + "atoire": 20141, + "чер": 20142, + "abad": 20143, + "uru": 20144, + "▁vš": 20145, + "dire": 20146, + "▁Twitter": 20147, + "▁мето": 20148, + ")..": 20149, + "▁Цент": 20150, + "▁entwick": 20151, + "▁Mind": 20152, + "▁функ": 20153, + "Future": 20154, + "lst": 20155, + "łoż": 20156, + "fli": 20157, + "tensor": 20158, + "▁topology": 20159, + "▁arte": 20160, + "ERT": 20161, + "▁variance": 20162, + "Images": 20163, + "▁(@": 20164, + "ArrayList": 20165, + "OC": 20166, + "▁Демо": 20167, + "aucoup": 20168, + "▁denotes": 20169, + "imon": 20170, + "њи": 20171, + "▁Przyp": 20172, + "▁Zag": 20173, + "▁дире": 20174, + "▁Similarly": 20175, + "бро": 20176, + "▁militaire": 20177, + "▁тому": 20178, + "▁Johnny": 20179, + "▁Мексику": 20180, + "ћа": 20181, + "Supp": 20182, + "▁junior": 20183, + "oltre": 20184, + "▁Моск": 20185, + "▁admitted": 20186, + "▁religios": 20187, + "зяй": 20188, + "его": 20189, + "▁tears": 20190, + "ingo": 20191, + "odu": 20192, + "iveness": 20193, + "▁logo": 20194, + "▁último": 20195, + "▁aliment": 20196, + "▁UITableView": 20197, + ")!": 20198, + "▁nj": 20199, + "lette": 20200, + "▁resident": 20201, + "▁termine": 20202, + "▁уже": 20203, + "▁Сте": 20204, + "office": 20205, + "▁carte": 20206, + "▁livre": 20207, + "▁Москов": 20208, + "▁elections": 20209, + "зиден": 20210, + "Trigger": 20211, + "▁Benjamin": 20212, + "addClass": 20213, + "ског": 20214, + "▁Observable": 20215, + "Cla": 20216, + "gemein": 20217, + "▁consent": 20218, + "ври": 20219, + "▁unfold": 20220, + "▁governor": 20221, + "нал": 20222, + "▁toda": 20223, + "Remote": 20224, + "arias": 20225, + "▁instal": 20226, + "fixed": 20227, + "▁decay": 20228, + "▁дерев": 20229, + "xyz": 20230, + "▁DATE": 20231, + "imar": 20232, + "ntil": 20233, + "▁startup": 20234, + "alion": 20235, + "▁kolej": 20236, + "cios": 20237, + "▁ranges": 20238, + "▁stupid": 20239, + "▁implementations": 20240, + "▁rm": 20241, + "ének": 20242, + "▁gcc": 20243, + "▁scène": 20244, + "Navigation": 20245, + "▁ ": 20246, + "▁кан": 20247, + "▁towns": 20248, + "Username": 20249, + "▁фе": 20250, + "▁leaders": 20251, + "oit": 20252, + "wär": 20253, + "▁dummy": 20254, + "▁assistant": 20255, + "{$\\": 20256, + "бір": 20257, + "▁roy": 20258, + "▁Layout": 20259, + "▁Jung": 20260, + "Lines": 20261, + "▁Holland": 20262, + "пор": 20263, + "▁Гри": 20264, + "▁Bened": 20265, + "▁Под": 20266, + "xls": 20267, + "▁Gol": 20268, + "▁Aleks": 20269, + "▁ejemplo": 20270, + "▁sezon": 20271, + "arding": 20272, + "footnote": 20273, + "▁Congrès": 20274, + "refer": 20275, + "ската": 20276, + "Iterator": 20277, + "▁ourselves": 20278, + "▁Mic": 20279, + "▁código": 20280, + "▁площа": 20281, + "▁\\$": 20282, + "▁Charlie": 20283, + "Nodes": 20284, + "▁puzz": 20285, + "▁Identifier": 20286, + "▁flutter": 20287, + "▁prü": 20288, + "▁ort": 20289, + "▁Cort": 20290, + "asticsearch": 20291, + "▁Свя": 20292, + "▁Bull": 20293, + "udem": 20294, + "▁apparent": 20295, + ":--": 20296, + "▁Хар": 20297, + "▁Lap": 20298, + "▁comport": 20299, + "matically": 20300, + "▁curios": 20301, + "▁может": 20302, + "▁Bh": 20303, + "apping": 20304, + "▁basketball": 20305, + "zetek": 20306, + "▁runt": 20307, + "▁Milan": 20308, + "fection": 20309, + "ría": 20310, + "▁Kin": 20311, + "▁slower": 20312, + "both": 20313, + "▁Instituto": 20314, + "▁Historical": 20315, + "▁również": 20316, + "matches": 20317, + "yci": 20318, + "▁espèce": 20319, + "▁Schweizer": 20320, + "NT": 20321, + "SF": 20322, + "acia": 20323, + "forge": 20324, + "Points": 20325, + "numbers": 20326, + "▁falling": 20327, + "▁inheritance": 20328, + "▁Erst": 20329, + "▁customers": 20330, + "▁actu": 20331, + "▁migration": 20332, + "\\'": 20333, + "Plan": 20334, + "Mr": 20335, + "othy": 20336, + "▁upgrad": 20337, + "бира": 20338, + "▁Offic": 20339, + "▁Wait": 20340, + "▁toler": 20341, + "ardon": 20342, + "▁slide": 20343, + ")_": 20344, + "▁став": 20345, + "▁nuclear": 20346, + "▁Bil": 20347, + "owner": 20348, + "▁Harris": 20349, + "Information": 20350, + "▁pó": 20351, + "▁включа": 20352, + "▁nuovo": 20353, + "▁Cav": 20354, + "▁Descri": 20355, + "▁ак": 20356, + "ództ": 20357, + "▁reactjs": 20358, + "▁Adams": 20359, + "▁Alternatively": 20360, + "струк": 20361, + ")`,": 20362, + "substring": 20363, + "▁massive": 20364, + "▁heavily": 20365, + "▁сезо": 20366, + "▁Ana": 20367, + "▁vale": 20368, + "Pad": 20369, + "▁Either": 20370, + "▁rs": 20371, + "anche": 20372, + "▁uploaded": 20373, + "▁(/": 20374, + "▁спор": 20375, + "▁reduction": 20376, + "▁Tokyo": 20377, + "gren": 20378, + "▁migli": 20379, + "▁iterator": 20380, + "stav": 20381, + "▁supporting": 20382, + "▁österreich": 20383, + "▁NSLog": 20384, + "istiques": 20385, + "rimin": 20386, + "MODE": 20387, + "}}}\\": 20388, + "▁explos": 20389, + "оте": 20390, + "▁(„": 20391, + "Sal": 20392, + "▁simplest": 20393, + "▁già": 20394, + "▁тан": 20395, + "▁cyl": 20396, + "bir": 20397, + "▁measurements": 20398, + "Created": 20399, + "erek": 20400, + "lookup": 20401, + "wirtschaft": 20402, + "▁Воло": 20403, + "timer": 20404, + "derr": 20405, + "▁стала": 20406, + "▁scenes": 20407, + "▁persu": 20408, + "liest": 20409, + "▁schedule": 20410, + "tal": 20411, + "лено": 20412, + "▁painting": 20413, + "▁improvement": 20414, + "software": 20415, + "▁governo": 20416, + "▁Hir": 20417, + "Execution": 20418, + "▁Okay": 20419, + "Prop": 20420, + "loster": 20421, + "ніципалі": 20422, + "▁peuvent": 20423, + "olu": 20424, + "▁Фа": 20425, + "rollo": 20426, + "▁коло": 20427, + "▁carrière": 20428, + "▁toggle": 20429, + "▁($\\": 20430, + "▁aggregate": 20431, + "▁Бі": 20432, + "textarea": 20433, + "Ok": 20434, + "itto": 20435, + "▁stim": 20436, + "▁recursion": 20437, + "▁Federation": 20438, + ")_{": 20439, + "ategor": 20440, + "▁distribu": 20441, + "Cloud": 20442, + "▁madre": 20443, + "▁iv": 20444, + "▁Lieutenant": 20445, + "▁substant": 20446, + "▁leaf": 20447, + "▁Kontrola": 20448, + "VA": 20449, + "▁tomb": 20450, + "эн": 20451, + "atoes": 20452, + "▁godine": 20453, + "▁#>": 20454, + "Cert": 20455, + "▁empresa": 20456, + "Props": 20457, + "▁planned": 20458, + "▁randomly": 20459, + "jähr": 20460, + "elem": 20461, + "▁Operation": 20462, + "*`": 20463, + "protocol": 20464, + "()));": 20465, + "wel": 20466, + "▁praw": 20467, + "▁сим": 20468, + "▁wob": 20469, + "▁hace": 20470, + "▁nearest": 20471, + "disable": 20472, + "▁Commun": 20473, + "▁revel": 20474, + "Free": 20475, + "▁brackets": 20476, + "IOException": 20477, + "▁alto": 20478, + "▁marry": 20479, + "▁auc": 20480, + "),\\": 20481, + "▁typo": 20482, + "edad": 20483, + "ará": 20484, + "icator": 20485, + "tatywna": 20486, + "▁buff": 20487, + "orders": 20488, + "▁asynchronous": 20489, + "▁econ": 20490, + "▁feu": 20491, + "▁Iron": 20492, + "▁rising": 20493, + "Radius": 20494, + "clk": 20495, + "▁zweiten": 20496, + "`'": 20497, + "▁uniqu": 20498, + "▁FM": 20499, + "▁Bran": 20500, + "▁flu": 20501, + "▁sensitive": 20502, + "urre": 20503, + "▁Iter": 20504, + "▁Sein": 20505, + "▁diferentes": 20506, + "▁него": 20507, + "chia": 20508, + "▁Anleitung": 20509, + "aturday": 20510, + "▁shorter": 20511, + "▁translated": 20512, + "▁Rés": 20513, + "▁rode": 20514, + "drag": 20515, + "▁lange": 20516, + "Bi": 20517, + "üb": 20518, + "leur": 20519, + "▁ordering": 20520, + "alous": 20521, + "▁Кор": 20522, + "archar": 20523, + "destroy": 20524, + "ervation": 20525, + "]],": 20526, + "AccessorImpl": 20527, + "▁autorytatywna": 20528, + "Sequence": 20529, + "▁proyect": 20530, + "▁bran": 20531, + "▁(+": 20532, + "▁Kab": 20533, + "▁zem": 20534, + "▁Calcul": 20535, + "▁seul": 20536, + "▁Niger": 20537, + "▁chiam": 20538, + "throw": 20539, + "▁Planet": 20540, + "bildung": 20541, + "▁zones": 20542, + "transition": 20543, + "лений": 20544, + "▁mapped": 20545, + "onaut": 20546, + "Pair": 20547, + "ilian": 20548, + "▁Morgan": 20549, + "▁unto": 20550, + "jou": 20551, + "▁hid": 20552, + "▁Meta": 20553, + "▁elles": 20554, + "Lou": 20555, + "rama": 20556, + "geordnet": 20557, + "▁scarcely": 20558, + "▁mint": 20559, + "Focus": 20560, + "▁Alter": 20561, + "▁dio": 20562, + "▁ampl": 20563, + "ièrement": 20564, + "▁исследова": 20565, + "LED": 20566, + "algorithm": 20567, + "▁сайті": 20568, + "▁\"\")": 20569, + "History": 20570, + "pk": 20571, + "▁Whit": 20572, + "▁систем": 20573, + "▁Kirchen": 20574, + "rà": 20575, + "APP": 20576, + "▁<%": 20577, + "antine": 20578, + "▁Disk": 20579, + "conv": 20580, + "welt": 20581, + "▁Fut": 20582, + "▁Nom": 20583, + "ordo": 20584, + "ellij": 20585, + "▁receives": 20586, + "cow": 20587, + "ytu": 20588, + "▁obras": 20589, + "▁purchase": 20590, + "▁earned": 20591, + "▁accessed": 20592, + "axi": 20593, + "▁Mans": 20594, + "ivan": 20595, + "▁tuvo": 20596, + "▁Trace": 20597, + "rimonio": 20598, + "▁desenvol": 20599, + "érique": 20600, + "▁resulted": 20601, + "▁computing": 20602, + "▁inspired": 20603, + "▁Prize": 20604, + "*\"": 20605, + "Comput": 20606, + "▁extensive": 20607, + "èg": 20608, + "▁Portály": 20609, + "▁castle": 20610, + "▁*.": 20611, + "▁photos": 20612, + "▁voet": 20613, + "ONG": 20614, + "▁Alle": 20615, + "▁threaten": 20616, + "stüt": 20617, + "▁albums": 20618, + "▁dense": 20619, + "flat": 20620, + "continu": 20621, + "Subject": 20622, + "▁readonly": 20623, + "Opt": 20624, + "писко": 20625, + "▁Aber": 20626, + "▁Position": 20627, + "▁Today": 20628, + "▁mini": 20629, + "▁Bef": 20630, + "listen": 20631, + "ственного": 20632, + "SUB": 20633, + "ossa": 20634, + "▁Pope": 20635, + "▁Jimmy": 20636, + "▁Дру": 20637, + "ungsseite": 20638, + "▁tren": 20639, + "optim": 20640, + "itsch": 20641, + "▁samt": 20642, + "▁испол": 20643, + "&=": 20644, + "▁Przypisy": 20645, + "▁продол": 20646, + "Cr": 20647, + "ermann": 20648, + "▁матери": 20649, + "▁Hugo": 20650, + "▁Deze": 20651, + "TRUE": 20652, + "▁defeat": 20653, + "▁watched": 20654, + "▁Gent": 20655, + "AUT": 20656, + "orous": 20657, + "▁опреде": 20658, + "orientation": 20659, + "▁distinguished": 20660, + "▁mesmo": 20661, + "▁sli": 20662, + "мена": 20663, + "mittel": 20664, + "gericht": 20665, + "eton": 20666, + "->{": 20667, + "▁wont": 20668, + "▁weg": 20669, + "▁classific": 20670, + "ilus": 20671, + "▁MD": 20672, + "tasks": 20673, + "▁chim": 20674, + "await": 20675, + "▁gang": 20676, + "▁wię": 20677, + "through": 20678, + "▁Russell": 20679, + "▁guessing": 20680, + "▁акт": 20681, + "блі": 20682, + "categories": 20683, + "сут": 20684, + "▁Fen": 20685, + "▁муж": 20686, + "▁newer": 20687, + "▁Async": 20688, + "▁terme": 20689, + ">/": 20690, + "пара": 20691, + "▁Trust": 20692, + "▁Opt": 20693, + "▁dah": 20694, + "▁wonderful": 20695, + "adratkil": 20696, + "▁Гра": 20697, + "mapping": 20698, + "▁discovery": 20699, + "▁BE": 20700, + "Enable": 20701, + "▁Friend": 20702, + "сня": 20703, + "▁controlled": 20704, + "чної": 20705, + "▁contributions": 20706, + "jší": 20707, + "▁Lev": 20708, + "▁francés": 20709, + "▁mic": 20710, + "zik": 20711, + "▁alem": 20712, + "cancel": 20713, + "!'": 20714, + "▁grat": 20715, + "▁Begriffsklär": 20716, + "Camera": 20717, + "ificación": 20718, + "ród": 20719, + "▁Arnold": 20720, + "▁bezeichneter": 20721, + "▁fought": 20722, + "▁deput": 20723, + "▁Drop": 20724, + "tax": 20725, + "dg": 20726, + "▁Hop": 20727, + "GN": 20728, + "▁Kirch": 20729, + "▁Бар": 20730, + "Invoke": 20731, + "▁erhalten": 20732, + "▁veel": 20733, + "▁wordpress": 20734, + "▁INNER": 20735, + "transaction": 20736, + "▁déjà": 20737, + "Fact": 20738, + "▁надмор": 20739, + "▁angularjs": 20740, + "▁át": 20741, + "▁alap": 20742, + "▁Price": 20743, + "▁effet": 20744, + "▁sphere": 20745, + "ClassLoader": 20746, + "▁rugby": 20747, + "▁kingdom": 20748, + "▁Mut": 20749, + "▁кино": 20750, + "▁reward": 20751, + "cit": 20752, + "▁presente": 20753, + "Sto": 20754, + "Character": 20755, + "logs": 20756, + "▁centrale": 20757, + "▁mouv": 20758, + "▁okay": 20759, + "▁aplic": 20760, + "More": 20761, + "ények": 20762, + "▁Köln": 20763, + "nett": 20764, + "▁истории": 20765, + "▁describing": 20766, + "▁soldier": 20767, + "▁Need": 20768, + "Light": 20769, + "▁\"\\<": 20770, + "▁hav": 20771, + "ermo": 20772, + "▁inferior": 20773, + "lea": 20774, + "▁gg": 20775, + "▁конце": 20776, + "fragment": 20777, + "sb": 20778, + "Country": 20779, + "▁vě": 20780, + "▁Beng": 20781, + "▁Это": 20782, + "▁водо": 20783, + "мар": 20784, + "STRING": 20785, + "▁új": 20786, + "multiple": 20787, + "statement": 20788, + "▁involves": 20789, + "▁tecn": 20790, + "Student": 20791, + "gré": 20792, + "▁lean": 20793, + "▁bringing": 20794, + "▁Medical": 20795, + "▁програм": 20796, + "▁Vog": 20797, + "▁жов": 20798, + "▁Spirit": 20799, + "nth": 20800, + "▁standards": 20801, + "▁Profile": 20802, + "▁ez": 20803, + "▁территории": 20804, + "▁stem": 20805, + "uil": 20806, + "▁Og": 20807, + "Btn": 20808, + "nal": 20809, + "▁nearby": 20810, + "▁producing": 20811, + "criv": 20812, + "▁assumptions": 20813, + "▁Spark": 20814, + "▁Lot": 20815, + "itudes": 20816, + "afka": 20817, + "five": 20818, + "atio": 20819, + "▁distinguish": 20820, + "rock": 20821, + "église": 20822, + "▁rappres": 20823, + ">\\<": 20824, + "лій": 20825, + "▁мини": 20826, + "▁intitulé": 20827, + "}}(\\": 20828, + "▁Rout": 20829, + "▁Border": 20830, + "▁overrid": 20831, + "HOST": 20832, + "ritten": 20833, + "say": 20834, + "▁Чи": 20835, + "ichtung": 20836, + "▁straightforward": 20837, + "obb": 20838, + "▁Terra": 20839, + "▁[:": 20840, + "Ben": 20841, + "▁composite": 20842, + ")+\\": 20843, + "▁crown": 20844, + "direction": 20845, + "▁несколько": 20846, + "▁avail": 20847, + "▁purchased": 20848, + "hook": 20849, + "eties": 20850, + "▁fase": 20851, + "▁Rum": 20852, + "▁genom": 20853, + "▁dét": 20854, + "ową": 20855, + "mpeg": 20856, + "▁Ін": 20857, + "desktop": 20858, + "▁injection": 20859, + "agle": 20860, + "▁Edd": 20861, + "_{(": 20862, + "▁Hem": 20863, + "utos": 20864, + "proj": 20865, + "▁superficie": 20866, + "Plot": 20867, + "▁Docker": 20868, + "ätz": 20869, + "kreich": 20870, + "▁unclear": 20871, + "▁Unity": 20872, + "▁streams": 20873, + "вид": 20874, + "▁simplified": 20875, + "Fill": 20876, + "▁sant": 20877, + "▁Kommun": 20878, + "▁duc": 20879, + "▁две": 20880, + "▁obs": 20881, + "žit": 20882, + "▁Janeiro": 20883, + "бя": 20884, + "▁presso": 20885, + "▁Ministry": 20886, + "▁burst": 20887, + "▁reaching": 20888, + "liter": 20889, + "▁responses": 20890, + "▁Eug": 20891, + "▁sod": 20892, + "▁Cord": 20893, + "▁Perm": 20894, + "parts": 20895, + "цима": 20896, + "variables": 20897, + "▁forgotten": 20898, + "Fern": 20899, + "ostęp": 20900, + "vl": 20901, + "▁См": 20902, + "kim": 20903, + "ając": 20904, + "наль": 20905, + "гле": 20906, + "helper": 20907, + "dup": 20908, + "euw": 20909, + "fra": 20910, + "ellite": 20911, + "anya": 20912, + "▁reign": 20913, + "gesamt": 20914, + "седа": 20915, + "▁Ryan": 20916, + "▁formatted": 20917, + "▁Borg": 20918, + "walk": 20919, + "▁ал": 20920, + "agnostics": 20921, + "▁Cape": 20922, + "▁Franco": 20923, + "▁fug": 20924, + ":)": 20925, + "юз": 20926, + "Fetch": 20927, + "▁roughly": 20928, + "▁Mis": 20929, + "uetooth": 20930, + "▁Venezuela": 20931, + "▁astronom": 20932, + "\")`": 20933, + "ombres": 20934, + "▁которой": 20935, + "óp": 20936, + "owed": 20937, + "HR": 20938, + "▁Camer": 20939, + "кие": 20940, + "parison": 20941, + "▁Bij": 20942, + "templates": 20943, + "environment": 20944, + "ização": 20945, + "▁ér": 20946, + "▁plenty": 20947, + "▁TypeError": 20948, + "▁forty": 20949, + "коном": 20950, + "▁Sed": 20951, + "▁thats": 20952, + "▁gravity": 20953, + "▁spiritual": 20954, + "▁duplicates": 20955, + "▁encryption": 20956, + "▁reven": 20957, + "getInstance": 20958, + "ällor": 20959, + "disk": 20960, + "▁thro": 20961, + "▁Nak": 20962, + "▁poł": 20963, + "▁heraus": 20964, + "invalid": 20965, + "sBy": 20966, + "Boot": 20967, + "▁bucket": 20968, + "▁Parse": 20969, + "hex": 20970, + "Conne": 20971, + "▁Computer": 20972, + "zyk": 20973, + "▁induced": 20974, + "▁Bruno": 20975, + "▁addressed": 20976, + "mania": 20977, + "▁inclus": 20978, + "ounced": 20979, + "scriptsize": 20980, + "▁Epis": 20981, + "▁vocal": 20982, + "▁Jonathan": 20983, + "ум": 20984, + "staden": 20985, + "▁Children": 20986, + "пей": 20987, + "Italia": 20988, + "reibung": 20989, + "▁nost": 20990, + "▁ещё": 20991, + "▁Werke": 20992, + "▁actress": 20993, + "▁Minnesota": 20994, + "rike": 20995, + "▁tek": 20996, + "▁primeira": 20997, + "▁frat": 20998, + "▁Configuration": 20999, + "▁bid": 21000, + "trigger": 21001, + "Contents": 21002, + "▁constantly": 21003, + "!!!": 21004, + "▁dread": 21005, + "▁hundreds": 21006, + "istische": 21007, + "▁cardinal": 21008, + "TABLE": 21009, + "▁estos": 21010, + "assoc": 21011, + "gray": 21012, + "▁Schloss": 21013, + "▁sche": 21014, + "cong": 21015, + "▁koji": 21016, + "ètes": 21017, + "▁Era": 21018, + "omi": 21019, + "▁SR": 21020, + "▁wrapped": 21021, + "▁trunc": 21022, + "▁ah": 21023, + "egos": 21024, + "oki": 21025, + "mouth": 21026, + "logging": 21027, + "▁fasc": 21028, + "▁Sample": 21029, + "▁conte": 21030, + "▁villa": 21031, + "comments": 21032, + "▁batal": 21033, + "▁García": 21034, + "▁Norte": 21035, + "▁wechsel": 21036, + "▁Museo": 21037, + "▁enfants": 21038, + "▁whisper": 21039, + "nake": 21040, + "▁jednak": 21041, + "lês": 21042, + "enders": 21043, + "▁äl": 21044, + "▁VB": 21045, + "▁cookies": 21046, + "zeti": 21047, + "atum": 21048, + "▁dedu": 21049, + "▁arranged": 21050, + "laz": 21051, + "▁cuenta": 21052, + "yml": 21053, + "▁flav": 21054, + "MR": 21055, + "emet": 21056, + "біль": 21057, + "cmp": 21058, + "ituto": 21059, + "zett": 21060, + "▁envi": 21061, + "▁kot": 21062, + "$:": 21063, + "upper": 21064, + "▁Alberto": 21065, + "kb": 21066, + "Anal": 21067, + "ört": 21068, + "▁[-": 21069, + "▁führte": 21070, + "iah": 21071, + "▁Tun": 21072, + "▁искус": 21073, + "uwe": 21074, + "ispecies": 21075, + "Pub": 21076, + "Sync": 21077, + "▁Colombia": 21078, + "akers": 21079, + "▁Imperial": 21080, + "oving": 21081, + "▁intelligence": 21082, + "▁equipment": 21083, + "ein": 21084, + "dagger": 21085, + "▁Edge": 21086, + "▁Республи": 21087, + "adratkilometer": 21088, + "▁Anto": 21089, + "▁charges": 21090, + "▁Ocean": 21091, + "▁simplify": 21092, + "▁miesz": 21093, + "running": 21094, + "▁Lac": 21095, + "genommen": 21096, + "▁representative": 21097, + "=.": 21098, + "▁Pred": 21099, + "▁spite": 21100, + "ciale": 21101, + "▁nave": 21102, + "▁extens": 21103, + "▁neutral": 21104, + "▁которая": 21105, + ".::": 21347, + "шёл": 21348, + "▁principales": 21349, + "▁цар": 21350, + "▁tied": 21351, + "▁alta": 21352, + "▁Cit": 21353, + "lined": 21354, + "major": 21355, + "▁punk": 21356, + "▁cinco": 21357, + "ický": 21358, + "▁raggi": 21359, + "typen": 21360, + "тельство": 21361, + "▁conference": 21362, + "▁сіль": 21363, + "▁heut": 21364, + "iš": 21365, + "ета": 21366, + "velope": 21367, + "hbox": 21368, + "nown": 21369, + "▁zar": 21370, + "ktiv": 21371, + "ieß": 21372, + "▁стре": 21373, + "▁EventArgs": 21374, + "▁Ira": 21375, + "▁VBA": 21376, + "▁Santo": 21377, + "▁Fach": 21378, + "▁FF": 21379, + "▁Raymond": 21380, + "мец": 21381, + "implementation": 21382, + "▁brothers": 21383, + "▁côté": 21384, + "▁controllers": 21385, + "▁Cle": 21386, + "▁cable": 21387, + "▁confer": 21388, + "▁{-": 21389, + "▁czł": 21390, + "▁Filip": 21391, + "atorio": 21392, + "▁wicht": 21393, + "▁beaucoup": 21394, + "▁Lit": 21395, + "▁sessions": 21396, + "▁Success": 21397, + "▁routing": 21398, + "niu": 21399, + "▁Vice": 21400, + "▁krit": 21401, + "updated": 21402, + "▁Invalid": 21403, + "▁Mannschaft": 21404, + "▁aos": 21405, + "▁tudi": 21406, + "▁després": 21407, + "qua": 21408, + "Contains": 21409, + "Company": 21410, + "▁persona": 21411, + "adapter": 21412, + "сни": 21413, + "▁voj": 21414, + "▁escri": 21415, + "agt": 21416, + "▁ство": 21417, + "▁distrito": 21418, + "apan": 21419, + "▁aspects": 21420, + "▁zal": 21421, + ")^{\\": 21422, + "▁système": 21423, + "▁ана": 21424, + "iums": 21425, + "▁premiers": 21426, + "▁поэ": 21427, + "▁mère": 21428, + "▁Gun": 21429, + "aping": 21430, + "▁Rain": 21431, + "▁igual": 21432, + "▁processor": 21433, + "')`": 21434, + "bling": 21435, + "▁mism": 21436, + "bráz": 21437, + "▁closest": 21438, + "▁Reading": 21439, + "▁попу": 21440, + "cono": 21441, + "▁kult": 21442, + "▁!!": 21443, + "▁Expression": 21444, + "▁induction": 21445, + "ahren": 21446, + "▁cp": 21447, + "▁violence": 21448, + "ientí": 21449, + "cente": 21450, + "▁Dob": 21451, + "jack": 21452, + "song": 21453, + "bucket": 21454, + "▁deport": 21455, + "кими": 21456, + "lm": 21457, + "▁innoc": 21458, + "Changes": 21459, + "▁prohib": 21460, + "angol": 21461, + "iseconds": 21462, + "▁пор": 21463, + "▁hip": 21464, + "▁pů": 21465, + "endorf": 21466, + "▁scheduled": 21467, + "▁Flug": 21468, + "acyj": 21469, + "▁Films": 21470, + "athedral": 21471, + "Power": 21472, + "ardin": 21473, + "kap": 21474, + "icken": 21475, + "resize": 21476, + "eus": 21477, + "rr": 21478, + "лян": 21479, + "▁Hav": 21480, + "▁ora": 21481, + "FROM": 21482, + "лося": 21483, + "▁terug": 21484, + "▁Width": 21485, + "▁accepts": 21486, + "бен": 21487, + "▁mich": 21488, + "▁Czech": 21489, + "▁Bedeut": 21490, + "▁вид": 21491, + "ôme": 21492, + "▁Loop": 21493, + "spect": 21494, + "ük": 21495, + "eston": 21496, + "▁slot": 21497, + "▁została": 21498, + "▁Charlotte": 21499, + "▁составляет": 21500, + "▁Promise": 21501, + "▁epo": 21502, + "▁diction": 21503, + "▁Franklin": 21504, + "▁Riv": 21505, + "руг": 21506, + "cida": 21507, + "▁Explorer": 21508, + "cookie": 21509, + "▁formerly": 21510, + "▁municipality": 21511, + "▁Stefan": 21512, + "lists": 21513, + "COMP": 21514, + "Len": 21515, + "▁Staat": 21516, + "▁NBA": 21517, + "dens": 21518, + "▁oscill": 21519, + "!.": 21520, + "▁PO": 21521, + "ône": 21522, + "eses": 21523, + "▁националь": 21524, + "voor": 21525, + "▁копи": 21526, + "▁пози": 21527, + "ulu": 21528, + "Constraint": 21529, + "▁своей": 21530, + "▁algebraic": 21531, + "чня": 21532, + "Dict": 21533, + "▁appearing": 21534, + "▁prav": 21535, + "▁Universal": 21536, + "Browser": 21537, + "▁Singap": 21538, + "ennessee": 21539, + "]_": 21540, + "▁Sof": 21541, + "▁Cad": 21542, + "ounce": 21543, + "▁costs": 21544, + "]{\\": 21545, + "../../": 21546, + "ській": 21547, + "ühl": 21548, + "iety": 21549, + "пр": 21550, + "▁interpreted": 21551, + "ajn": 21552, + "colog": 21553, + "YS": 21554, + "mans": 21555, + "▁metrics": 21556, + "▁registr": 21557, + "istance": 21558, + "▁Поль": 21559, + "▁anonymous": 21560, + "▁institutions": 21561, + "▁zdob": 21562, + "prüng": 21563, + "▁арти": 21564, + "▁estat": 21565, + "acci": 21566, + "▁academic": 21567, + "▁chiesa": 21568, + "▁Gian": 21569, + "contrib": 21570, + "umed": 21571, + "▁Gir": 21572, + "▁baseball": 21573, + "numeric": 21574, + "Generator": 21575, + "GM": 21576, + "▁tiny": 21577, + "▁distinction": 21578, + "гер": 21579, + "▁rust": 21580, + "▁FIFA": 21581, + "▁Properties": 21582, + "^-": 21583, + "▁экс": 21584, + "▁Stanis": 21585, + "▁Ajax": 21586, + "escape": 21587, + "▁consp": 21588, + "▁Chen": 21589, + "▁Naval": 21590, + "Bit": 21591, + "▁bât": 21592, + "скими": 21593, + "drive": 21594, + "▁Round": 21595, + "photo": 21596, + "▁Level": 21597, + "▁geg": 21598, + "Tom": 21599, + "▁Mobile": 21600, + "▁Trop": 21601, + "Direction": 21602, + "isan": 21603, + ")^{-": 21604, + "▁Setting": 21605, + "▁Probably": 21606, + "лья": 21607, + "▁assets": 21608, + "▁atte": 21609, + "▁bulk": 21610, + "ést": 21611, + "▁wing": 21612, + "nius": 21613, + "▁wins": 21614, + "▁lud": 21615, + "ushing": 21616, + "▁deven": 21617, + "ограф": 21618, + "burger": 21619, + "▁embar": 21620, + "FilterChain": 21621, + "▁tum": 21622, + "▁öss": 21623, + "▁nommé": 21624, + "▁pir": 21625, + "▁luc": 21626, + "dbo": 21627, + "agues": 21628, + "▁alcan": 21629, + "ouwen": 21630, + "▁Stanley": 21631, + "циали": 21632, + "▁grown": 21633, + "▁preserved": 21634, + "▁solar": 21635, + "▁Население": 21636, + "▁performances": 21637, + "▁Cow": 21638, + "▁engineering": 21639, + "▁scaling": 21640, + "atomic": 21641, + "endance": 21642, + "▁ace": 21643, + "ängen": 21644, + "Anim": 21645, + "phase": 21646, + "zburg": 21647, + "Old": 21648, + "▁servant": 21649, + "▁gemeins": 21650, + "▁Observ": 21651, + "translate": 21652, + "▁covering": 21653, + "▁están": 21654, + "▁problema": 21655, + "▁установ": 21656, + "▁llev": 21657, + "▁czerw": 21658, + "éal": 21659, + "mez": 21660, + "REE": 21661, + "ERR": 21662, + "тури": 21663, + "segu": 21664, + "▁profit": 21665, + "▁multiplication": 21666, + "kommen": 21667, + "▁faut": 21668, + "▁candidates": 21669, + "▁Uri": 21670, + "▁Laura": 21671, + "▁sap": 21672, + "▁висини": 21673, + "▁Between": 21674, + "fade": 21675, + "▁reserved": 21676, + "▁involving": 21677, + "▁Mare": 21678, + "▁Container": 21679, + "▁назна": 21680, + "▁DEBUG": 21681, + "▁hurt": 21682, + "▁Polski": 21683, + "▁lux": 21684, + "CB": 21685, + "wach": 21686, + "▁период": 21687, + "▁Catherine": 21688, + "▁ganz": 21689, + "uchte": 21690, + "▁consumer": 21691, + "▁crossed": 21692, + "ordered": 21693, + "away": 21694, + "techn": 21695, + "▁subscri": 21696, + "▁shortcut": 21697, + "▁производ": 21698, + "▁simultaneously": 21699, + "▁rating": 21700, + "▁Kings": 21701, + "▁relationships": 21702, + "▁Sex": 21703, + "▁Tool": 21704, + "agh": 21705, + "acters": 21706, + "logger": 21707, + "homme": 21708, + "engers": 21709, + "▁Ri": 21710, + "earance": 21711, + "▁appearances": 21712, + "Real": 21713, + "▁passe": 21714, + "iclopedia": 21715, + "чко": 21716, + "terre": 21717, + "▁Ontario": 21718, + "▁переда": 21719, + "footer": 21720, + "archivi": 21721, + "ifiz": 21722, + "▁Protest": 21723, + "▁LIN": 21724, + "unnable": 21725, + "▁centuries": 21726, + "▁Bayer": 21727, + "цію": 21728, + "овин": 21729, + "▁Andrea": 21730, + "selection": 21731, + "▁calm": 21732, + "▁modification": 21733, + "▁shortly": 21734, + "inaire": 21735, + "▁fusion": 21736, + "▁feelings": 21737, + "PK": 21738, + "▁Roberto": 21739, + "гне": 21740, + "Shared": 21741, + "▁mehrere": 21742, + "▁Niem": 21743, + "omp": 21744, + "Env": 21745, + "▁Article": 21746, + "▁Pok": 21747, + "▁VARCHAR": 21748, + "▁dil": 21749, + "▁afford": 21750, + "▁confront": 21751, + "owanie": 21752, + "▁ministre": 21753, + "adesh": 21754, + "▁Poly": 21755, + "▁Распо": 21756, + "▁Gruppe": 21757, + "▁Helen": 21758, + "▁cc": 21759, + "▁portrait": 21760, + "bew": 21761, + "▁beta": 21762, + "▁Wir": 21763, + "▁Audio": 21764, + "▁(\\<": 21765, + "riority": 21766, + "▁nit": 21767, + "▁представи": 21768, + "▁Vie": 21769, + "▁wür": 21770, + "▁Hold": 21771, + "▁Sad": 21772, + "▁Tochter": 21773, + "▁oltre": 21774, + "▁Activ": 21775, + "▁Jason": 21776, + "▁wieku": 21777, + "▁regards": 21778, + "▁taste": 21779, + "agnostic": 21780, + "лася": 21781, + "▁Self": 21782, + "▁apr": 21783, + "▁Deep": 21784, + "scop": 21785, + "Activ": 21786, + "▁typedef": 21787, + "ContentView": 21788, + "compiler": 21789, + "▁Roth": 21790, + "xc": 21791, + "зик": 21792, + "▁largo": 21793, + "▁Rena": 21794, + "heiten": 21795, + "▁platforms": 21796, + "ulla": 21797, + "▁glance": 21798, + "▁mascul": 21799, + "▁mex": 21800, + "▁Jorge": 21801, + "▁funcion": 21802, + "choose": 21803, + "▁reviews": 21804, + "▁Alban": 21805, + "▁Glo": 21806, + "▁Species": 21807, + "▁Fame": 21808, + "▁Roll": 21809, + "▁Puerto": 21810, + "▁\\)": 21811, + "ymnas": 21812, + "environ": 21813, + "▁iphone": 21814, + "▁Wrestling": 21815, + "ały": 21816, + "▁Indiana": 21817, + "Radio": 21818, + "VS": 21819, + "▁independence": 21820, + "тай": 21821, + "▁decode": 21822, + "White": 21823, + "▁journ": 21824, + "ículo": 21825, + "▁Barb": 21826, + "▁Evangel": 21827, + "▁Andy": 21828, + "▁Welcome": 21829, + "▁Device": 21830, + "gef": 21831, + "▁remembered": 21832, + "▁variations": 21833, + "▁Adolf": 21834, + "itaine": 21835, + "▁надморској": 21836, + "▁steam": 21837, + "▁concerns": 21838, + "▁`|": 21839, + "▁био": 21840, + "тельства": 21841, + "▁quattro": 21842, + "extend": 21843, + "▁trabajo": 21844, + "enberg": 21845, + "▁scenarios": 21846, + "ânt": 21847, + "▁kommt": 21848, + "▁domestic": 21849, + "▁Basketball": 21850, + "▁Cooper": 21851, + "sock": 21852, + "держа": 21853, + "={\\": 21854, + "▁inici": 21855, + "▁Phill": 21856, + "▁генерал": 21857, + "archiviato": 21858, + "ън": 21859, + "Rob": 21860, + "▁tong": 21861, + "▁characteristics": 21862, + "▁amaz": 21863, + "▁Mode": 21864, + "▁inaugur": 21865, + "wehr": 21866, + "rant": 21867, + "ionali": 21868, + "▁Mother": 21869, + "Ma": 21870, + "équ": 21871, + "▁Kelly": 21872, + "cile": 21873, + "▁besteht": 21874, + "▁estimates": 21875, + "ruguay": 21876, + "▁Ans": 21877, + "Mad": 21878, + "▁нав": 21879, + "▁données": 21880, + "▁tropical": 21881, + "▁Several": 21882, + "elter": 21883, + "▁Pho": 21884, + "kem": 21885, + "▁Customer": 21886, + "▁складі": 21887, + "▁courses": 21888, + "Platform": 21889, + "navbar": 21890, + "learning": 21891, + "▁Swedish": 21892, + "▁zast": 21893, + "▁Lig": 21894, + "management": 21895, + "▁lod": 21896, + "uffle": 21897, + "Texture": 21898, + "arga": 21899, + "átum": 21900, + "▁DDR": 21901, + "нії": 21902, + "▁Société": 21903, + "▁domains": 21904, + "▁permitted": 21905, + "▁externe": 21906, + "▁quelque": 21907, + "vt": 21908, + "yman": 21909, + "▁Ward": 21910, + "▁agli": 21911, + "▁andra": 21912, + "Snapshot": 21913, + "▁må": 21914, + "▁yeah": 21915, + "дена": 21916, + "ępu": 21917, + "askell": 21918, + "▁République": 21919, + "inject": 21920, + "▁';": 21921, + "änn": 21922, + "▁zelf": 21923, + "▁Entwicklung": 21924, + "ária": 21925, + "onomy": 21926, + "▁svil": 21927, + "iese": 21928, + "▁conser": 21929, + "▁nim": 21930, + "▁rész": 21931, + "▁Итали": 21932, + "▁partici": 21933, + "▁Lion": 21934, + "sr": 21935, + "always": 21936, + "▁Владимир": 21937, + "ческие": 21938, + "[,": 21939, + "▁Definition": 21940, + "nant": 21941, + "oem": 21942, + "Ids": 21943, + "▁вне": 21944, + "▁[...]": 21945, + "▁направ": 21946, + "▁GO": 21947, + "▁års": 21948, + "▁után": 21949, + "▁outros": 21950, + "▁región": 21951, + "▁Mong": 21952, + "▁filme": 21953, + "▁triple": 21954, + "▁spons": 21955, + "Develop": 21956, + "▁outcome": 21957, + "▁Bible": 21958, + "▁имени": 21959, + "Canvas": 21960, + "пута": 21961, + "curr": 21962, + "ások": 21963, + "){\\": 21964, + "ningar": 21965, + "`;": 21966, + "▁Flash": 21967, + ":#": 21968, + "must": 21969, + "cpu": 21970, + "▁formats": 21971, + "Har": 21972, + "▁episodio": 21973, + "▁Rosa": 21974, + "▁dès": 21975, + "emit": 21976, + "riteria": 21977, + "Annotation": 21978, + "Flag": 21979, + "gmail": 21980, + "▁Normal": 21981, + "ollary": 21982, + "▁foss": 21983, + "▁concurrent": 21984, + "▁crashes": 21985, + "▁виде": 21986, + "▁Minor": 21987, + "▁Sit": 21988, + "▁SN": 21989, + "▁scar": 21990, + "▁femin": 21991, + "▁specification": 21992, + "soap": 21993, + "▁operate": 21994, + "▁principalmente": 21995, + "▁aust": 21996, + "ibile": 21997, + "itime": 21998, + "лежа": 21999, + "iframe": 22000, + "▁concepts": 22001, + "▁tack": 22002, + "▁viss": 22003, + "▁carbon": 22004, + "tery": 22005, + "▁naming": 22006, + "▁Orts": 22007, + "idente": 22008, + "▁Capit": 22009, + "▁expr": 22010, + "▁насељу": 22011, + "▁Selected": 22012, + "▁hinter": 22013, + "▁iframe": 22014, + "▁zb": 22015, + "indexPath": 22016, + "coll": 22017, + "▁wrześ": 22018, + "▁acht": 22019, + "▁gradually": 22020, + "▁чу": 22021, + "зей": 22022, + "haft": 22023, + "▁tran": 22024, + "▁laquelle": 22025, + "ytics": 22026, + "IDE": 22027, + "▁pygame": 22028, + "▁Package": 22029, + "▁className": 22030, + "Bal": 22031, + "perl": 22032, + "тина": 22033, + "Occ": 22034, + "▁infrastr": 22035, + "▁Champions": 22036, + "▁classic": 22037, + "▁Raw": 22038, + "▁partially": 22039, + "▁Ted": 22040, + "▁stolet": 22041, + "rained": 22042, + "WHERE": 22043, + "▁vall": 22044, + "▁Julia": 22045, + "zat": 22046, + "▁surrounded": 22047, + "SEE": 22048, + "▁walking": 22049, + "Bad": 22050, + "FOR": 22051, + "contre": 22052, + "▁Palest": 22053, + "ático": 22054, + "▁engineer": 22055, + "▁partners": 22056, + "▁Jews": 22057, + "ilers": 22058, + "▁cerem": 22059, + "▁interactions": 22060, + "acu": 22061, + "sty": 22062, + "▁Princess": 22063, + "sharp": 22064, + "▁Singles": 22065, + "▁їх": 22066, + "chez": 22067, + "Receiver": 22068, + "▁patients": 22069, + "stringify": 22070, + "▁competed": 22071, + "bey": 22072, + "$;": 22073, + "▁Bd": 22074, + "hadoop": 22075, + "▁División": 22076, + "öld": 22077, + "▁restricted": 22078, + "▁commander": 22079, + "▁Highway": 22080, + "▁Česk": 22081, + "▁myth": 22082, + "чан": 22083, + "raham": 22084, + "▁enqu": 22085, + "▁pog": 22086, + "▁comuna": 22087, + "▁println": 22088, + "▁круп": 22089, + "▁depois": 22090, + "▁seats": 22091, + "▁neighb": 22092, + "циона": 22093, + "agine": 22094, + "▁clothes": 22095, + "▁Prior": 22096, + "Brain": 22097, + "FFFF": 22098, + "':'": 22099, + "features": 22100, + "▁filesystem": 22101, + "▁singles": 22102, + "▁Melbourne": 22103, + "▁destruction": 22104, + "▁Lyon": 22105, + "▁Insel": 22106, + "Nav": 22107, + "▁Replace": 22108, + "▁lé": 22109, + "Who": 22110, + "▁Estad": 22111, + "▁dimensional": 22112, + "▁öff": 22113, + "▁grands": 22114, + "джа": 22115, + "plane": 22116, + "ності": 22117, + "▁Origin": 22118, + "WI": 22119, + "änner": 22120, + "▁Cry": 22121, + "ITION": 22122, + "▁född": 22123, + "▁cultura": 22124, + "▁Rank": 22125, + "▁vuel": 22126, + "▁zag": 22127, + "▁Maxim": 22128, + "ону": 22129, + "()))": 22130, + "Raw": 22131, + "kirche": 22132, + "▁además": 22133, + "▁tie": 22134, + "▁Style": 22135, + "сков": 22136, + "istant": 22137, + "olph": 22138, + "▁Zür": 22139, + "▁Info": 22140, + "DOM": 22141, + "usc": 22142, + "nahm": 22143, + "▁Федера": 22144, + "▁Fot": 22145, + "▁specifying": 22146, + "▁titolo": 22147, + "▁Boys": 22148, + "iech": 22149, + "Place": 22150, + "▁Hoff": 22151, + "▁cached": 22152, + "валь": 22153, + "isher": 22154, + "rolling": 22155, + "opens": 22156, + "▁hr": 22157, + "------": 22158, + "▁maggior": 22159, + "▁transactions": 22160, + "▁criminal": 22161, + "▁retre": 22162, + "▁Campbell": 22163, + ")):": 22164, + "▁ned": 22165, + "Pager": 22166, + "▁Hero": 22167, + "(__": 22168, + "▁uncle": 22169, + "▁reaches": 22170, + "arto": 22171, + "▁hello": 22172, + "Preferences": 22173, + "▁затем": 22174, + "Named": 22175, + "▁readers": 22176, + "хі": 22177, + "kern": 22178, + "▁упо": 22179, + "кин": 22180, + "▁lav": 22181, + "▁nob": 22182, + "▁secre": 22183, + "▁ListView": 22184, + "вания": 22185, + "▁Mayor": 22186, + "borough": 22187, + "▁filosof": 22188, + "нення": 22189, + "фри": 22190, + "▁patr": 22191, + "FM": 22192, + "▁acid": 22193, + "▁Salvador": 22194, + "▁abb": 22195, + "▁Graham": 22196, + "policy": 22197, + "negative": 22198, + "ńskiego": 22199, + "▁Heimat": 22200, + "▁dazu": 22201, + "▁mely": 22202, + "▁ride": 22203, + "▁duties": 22204, + "overy": 22205, + "▁Proposition": 22206, + "▁Paolo": 22207, + "/'": 22208, + "▁Mau": 22209, + "imenti": 22210, + "Saint": 22211, + "father": 22212, + "▁equilib": 22213, + "phony": 22214, + "▁clas": 22215, + "▁отли": 22216, + "▁Buffered": 22217, + "rek": 22218, + "▁mitt": 22219, + "▁Hur": 22220, + "▁Harvard": 22221, + "▁demonstrate": 22222, + "uario": 22223, + "▁dolor": 22224, + "▁rejected": 22225, + "▁Müller": 22226, + "▁nac": 22227, + "▁Belle": 22228, + "▁gathered": 22229, + "nr": 22230, + "frika": 22231, + "öll": 22232, + "▁chemical": 22233, + "nig": 22234, + "▁calc": 22235, + "▁DEFAULT": 22236, + "▁philosophy": 22237, + "▁Laravel": 22238, + "▁alignment": 22239, + "EV": 22240, + "eor": 22241, + "▁dzie": 22242, + "▁mest": 22243, + "▁Io": 22244, + "CRE": 22245, + "зви": 22246, + "▁Medic": 22247, + "▁nä": 22248, + "▁zab": 22249, + "▁Slov": 22250, + "utlich": 22251, + "▁amplit": 22252, + "▁Frankreich": 22253, + "▁кіль": 22254, + "IND": 22255, + "execution": 22256, + "▁Karriere": 22257, + "dostęp": 22258, + "▁réal": 22259, + "engo": 22260, + "▁severe": 22261, + "зма": 22262, + "▁турни": 22263, + "▁Carter": 22264, + "▁Robinson": 22265, + "getElementsBy": 22266, + "▁prototype": 22267, + "▁japon": 22268, + "führung": 22269, + "▁consegu": 22270, + "▁studi": 22271, + "▁lire": 22272, + "▁schließ": 22273, + "▁Buff": 22274, + "▁redund": 22275, + "▁ern": 22276, + "▁myster": 22277, + "▁proprio": 22278, + "ateful": 22279, + "▁Parent": 22280, + "▁ladies": 22281, + "rack": 22282, + "тика": 22283, + "enburg": 22284, + "▁качестве": 22285, + "▁EF": 22286, + "▁stam": 22287, + "▁nueva": 22288, + "▁filtered": 22289, + "reten": 22290, + "▁Ian": 22291, + "▁Matthew": 22292, + "kih": 22293, + "▁ő": 22294, + "▁компози": 22295, + "▁forever": 22296, + "oires": 22297, + ":\\\\": 22298, + "▁études": 22299, + "▁soup": 22300, + "▁pleased": 22301, + ")}(": 22302, + "▁Stop": 22303, + "Setter": 22304, + "▁Help": 22305, + "▁bars": 22306, + "▁ERR": 22307, + "▁(?": 22308, + "▁poetry": 22309, + "▁Util": 22310, + "AK": 22311, + "▁fick": 22312, + "▁IM": 22313, + "▁proud": 22314, + "носи": 22315, + "▁muerte": 22316, + "▁Palmarès": 22317, + "▁Nas": 22318, + "щих": 22319, + "▁quer": 22320, + "▁apenas": 22321, + "]['": 22322, + "▁Konst": 22323, + "пон": 22324, + "▁Schiff": 22325, + "▁mp": 22326, + "▁благо": 22327, + "fram": 22328, + "▁household": 22329, + "▁tract": 22330, + "encoding": 22331, + "▁undert": 22332, + "▁Aug": 22333, + "ован": 22334, + "▁Arten": 22335, + "▁invoked": 22336, + "▁dynast": 22337, + "▁fleet": 22338, + "чество": 22339, + "▁Murray": 22340, + "▁gut": 22341, + "elihood": 22342, + "▁SSH": 22343, + "ответ": 22344, + "▁personally": 22345, + "прия": 22346, + "▁financi": 22347, + "▁Thompson": 22348, + "alu": 22349, + "identity": 22350, + "▁Grab": 22351, + "addle": 22352, + "Ét": 22353, + "▁Tob": 22354, + "▁verlor": 22355, + "▁Sainte": 22356, + "▁dop": 22357, + "▁вере": 22358, + "___": 22359, + "▁promotion": 22360, + "▁-=": 22361, + "▁отде": 22362, + "▁ambigu": 22363, + "ORDER": 22364, + "▁Communic": 22365, + "▁imply": 22366, + "oned": 22367, + "cluding": 22368, + "▁collision": 22369, + "▁fragments": 22370, + "scription": 22371, + "▁'{": 22372, + "лях": 22373, + "▁hans": 22374, + "ус": 22375, + "wire": 22376, + "namespace": 22377, + "▁sword": 22378, + "refresh": 22379, + "▁kwam": 22380, + "zs": 22381, + "commons": 22382, + "▁cosa": 22383, + "▁regime": 22384, + "grep": 22385, + "▁dioc": 22386, + "▁Contact": 22387, + "▁estas": 22388, + "▁Stewart": 22389, + "▁viele": 22390, + "това": 22391, + "▁Ran": 22392, + "annes": 22393, + "iday": 22394, + "▁snapshot": 22395, + "orrow": 22396, + "▁zač": 22397, + "▁участие": 22398, + "▁promised": 22399, + "Assembly": 22400, + "▁championship": 22401, + "▁Define": 22402, + "▁eren": 22403, + "▁ново": 22404, + "▁thinks": 22405, + "Age": 22406, + "▁gev": 22407, + "varchar": 22408, + "ività": 22409, + "compos": 22410, + "▁Mutter": 22411, + "CONT": 22412, + "armée": 22413, + "agnet": 22414, + "▁Brow": 22415, + ".—": 22416, + "▁Television": 22417, + "▁Для": 22418, + "▁vm": 22419, + "▁ordin": 22420, + "▁Михай": 22421, + "▁aproxim": 22422, + "')->": 22423, + "▁zoo": 22424, + "ippi": 22425, + "▁sino": 22426, + "▁Québec": 22427, + "rages": 22428, + "äck": 22429, + "eing": 22430, + "arlo": 22431, + "pios": 22432, + "▁Chan": 22433, + "▁elli": 22434, + "▁incons": 22435, + "gestellt": 22436, + "ppers": 22437, + "Jean": 22438, + "anstalt": 22439, + "▁Dance": 22440, + "▁toen": 22441, + "▁decis": 22442, + "▁Резу": 22443, + "▁officially": 22444, + "ätze": 22445, + "▁доро": 22446, + "▁enumer": 22447, + "▁troisième": 22448, + "typ": 22449, + "offs": 22450, + "боль": 22451, + "odn": 22452, + "▁Zar": 22453, + "▁друго": 22454, + "quia": 22455, + "▁Nicolas": 22456, + "пису": 22457, + "▁mob": 22458, + "paces": 22459, + "нього": 22460, + "Alg": 22461, + "éroï": 22462, + "Errors": 22463, + "▁гре": 22464, + "▁женщи": 22465, + "inch": 22466, + "▁Korean": 22467, + "▁Apost": 22468, + "▁Liver": 22469, + "▁elementary": 22470, + "▁DI": 22471, + "виси": 22472, + "▁soil": 22473, + "▁DLL": 22474, + "▁risp": 22475, + "▁Shakespe": 22476, + "▁Gaussian": 22477, + "▁Kurt": 22478, + "Vertex": 22479, + "ebol": 22480, + "organisation": 22481, + "ären": 22482, + "▁YES": 22483, + "CUR": 22484, + "▁началь": 22485, + "▁постро": 22486, + "▁Luigi": 22487, + "▁caching": 22488, + "preventDefault": 22489, + "amd": 22490, + "▁Vit": 22491, + "subst": 22492, + "▁строи": 22493, + "▁Campion": 22494, + "chr": 22495, + "фере": 22496, + "▁Список": 22497, + "NF": 22498, + "▁cím": 22499, + "▁hé": 22500, + "rebbe": 22501, + "ocy": 22502, + "below": 22503, + "▁bylo": 22504, + "▁Уи": 22505, + "▁\\({\\": 22506, + "▁`:": 22507, + "giore": 22508, + "San": 22509, + "▁Gate": 22510, + "▁вс": 22511, + "▁olimp": 22512, + "▁Matrix": 22513, + "▁hearing": 22514, + "rii": 22515, + "tfrac": 22516, + "▁allemand": 22517, + "▁Vue": 22518, + "лн": 22519, + "▁compiling": 22520, + "▁Ens": 22521, + "▁investigation": 22522, + "▁Ax": 22523, + "▁chars": 22524, + "▁targets": 22525, + "▁loud": 22526, + "usement": 22527, + "▁Nether": 22528, + "commerce": 22529, + "IGHT": 22530, + "ocoa": 22531, + "ifecycle": 22532, + "▁Leo": 22533, + "priv": 22534, + "▁goods": 22535, + "adamente": 22536, + "Austral": 22537, + "▁reboot": 22538, + "Gest": 22539, + "▁representations": 22540, + "ceu": 22541, + "▁doctrine": 22542, + "cers": 22543, + "▁Krak": 22544, + "▁advoc": 22545, + "▁squadra": 22546, + "▁arbeitete": 22547, + "üst": 22548, + "▁pill": 22549, + "Answer": 22550, + "▁квіт": 22551, + "▁Wa": 22552, + "umann": 22553, + "▁Dynam": 22554, + "Famil": 22555, + "▁tennis": 22556, + "▁Engineering": 22557, + "▁circles": 22558, + "▁Maryland": 22559, + "▁besta": 22560, + "▁bases": 22561, + "▁znajdu": 22562, + "ктора": 22563, + "▁arrest": 22564, + "лер": 22565, + "▁Gia": 22566, + "▁remarkable": 22567, + "▁могу": 22568, + "▁Supreme": 22569, + "▁`%": 22570, + "dor": 22571, + "▁aujourd": 22572, + "▁wis": 22573, + "WIDTH": 22574, + "▁misma": 22575, + "▁fluid": 22576, + "▁petite": 22577, + "▁Tow": 22578, + "Registry": 22579, + "emed": 22580, + "▁Wisconsin": 22581, + "▁Racing": 22582, + "▁registration": 22583, + "/%": 22584, + "third": 22585, + "▁monuments": 22586, + "чей": 22587, + "▁jet": 22588, + "▁Urban": 22589, + "álva": 22590, + "▁milieu": 22591, + "▁possess": 22592, + "▁germ": 22593, + "dependencies": 22594, + "▁enemies": 22595, + "▁samen": 22596, + "▁Werner": 22597, + "▁hizo": 22598, + "▁td": 22599, + "▁yesterday": 22600, + "▁Ад": 22601, + "▁hasn": 22602, + "cellation": 22603, + "ování": 22604, + "lika": 22605, + "Week": 22606, + "▁Ing": 22607, + "▁Email": 22608, + "▁mètres": 22609, + "▁OCLC": 22610, + "▁amongst": 22611, + "▁splend": 22612, + "fur": 22613, + "antics": 22614, + "▁XXX": 22615, + "▁группы": 22616, + "lach": 22617, + "▁cousin": 22618, + "▁invariant": 22619, + "ђу": 22620, + "▁Beispiel": 22621, + "▁harder": 22622, + "▁bell": 22623, + "▁orch": 22624, + "tb": 22625, + "Footnote": 22626, + "regon": 22627, + "Martin": 22628, + "▁incon": 22629, + "▁attacked": 22630, + "_{-": 22631, + "▁Tras": 22632, + "party": 22633, + "iteit": 22634, + "▁saint": 22635, + "rások": 22636, + "▁containers": 22637, + "Mo": 22638, + "▁Sn": 22639, + "quantity": 22640, + "▁ras": 22641, + "▁Canal": 22642, + "ccion": 22643, + "uvo": 22644, + "▁idx": 22645, + "typename": 22646, + "▁Rugby": 22647, + "▁Seems": 22648, + "▁transmit": 22649, + "▁Präsident": 22650, + "зне": 22651, + "▁Baker": 22652, + "inth": 22653, + "▁több": 22654, + "verein": 22655, + "▁especie": 22656, + ",(": 22657, + "▁téc": 22658, + "▁WITH": 22659, + "▁unos": 22660, + "▁politics": 22661, + "createElement": 22662, + "▁stats": 22663, + "▁Tennessee": 22664, + "▁Bedeutung": 22665, + "▁Screen": 22666, + "▁Straße": 22667, + "anze": 22668, + "▁partly": 22669, + "manuel": 22670, + "olation": 22671, + "horizontal": 22672, + "érieure": 22673, + "ampio": 22674, + "▁струк": 22675, + "Weight": 22676, + "Land": 22677, + "poly": 22678, + "▁Dak": 22679, + "▁Assume": 22680, + "\".$": 22681, + "▁casi": 22682, + "▁gross": 22683, + "▁entertain": 22684, + "▁década": 22685, + "'.$": 22686, + "encer": 22687, + "▁guaranteed": 22688, + "]$.": 22689, + "лися": 22690, + "▁acceptable": 22691, + "raise": 22692, + "irus": 22693, + "weit": 22694, + "▁Ана": 22695, + "▁hills": 22696, + "ipage": 22697, + "BIT": 22698, + "▁nucle": 22699, + "▁utilis": 22700, + "CAA": 22701, + "ènes": 22702, + "▁Schweiz": 22703, + "▁AA": 22704, + "ninger": 22705, + "▁bands": 22706, + "▁tender": 22707, + "som": 22708, + "Warning": 22709, + "▁Bischof": 22710, + "▁Arc": 22711, + "▁Woman": 22712, + "▁transmission": 22713, + "чни": 22714, + "istre": 22715, + "BY": 22716, + "▁SI": 22717, + "▁Пар": 22718, + "▁}).": 22719, + "▁presenta": 22720, + "▁René": 22721, + "▁happiness": 22722, + "▁Punk": 22723, + "cols": 22724, + "▁Desde": 22725, + "рёх": 22726, + "▁мона": 22727, + "▁scratch": 22728, + "▁tcp": 22729, + "êtes": 22730, + "itated": 22731, + "▁diferen": 22732, + "geh": 22733, + "nahmen": 22734, + "Пе": 22735, + "cki": 22736, + "▁Teatro": 22737, + "▁Remember": 22738, + "▁fright": 22739, + "▁Yam": 22740, + "western": 22741, + "leted": 22742, + "▁встре": 22743, + "▁település": 22744, + "зин": 22745, + "▁Quant": 22746, + "▁supre": 22747, + "ája": 22748, + "дія": 22749, + "▁carrera": 22750, + "kret": 22751, + "para": 22752, + "▁SUM": 22753, + "▁pit": 22754, + "źdz": 22755, + "éo": 22756, + "рення": 22757, + "▁Chor": 22758, + "▁voix": 22759, + "▁executive": 22760, + "▁allerdings": 22761, + "Maybe": 22762, + "▁день": 22763, + "▁flying": 22764, + "▁parliament": 22765, + "ждан": 22766, + "▁fram": 22767, + "▁жовт": 22768, + "▁ugly": 22769, + "▁буду": 22770, + "igny": 22771, + "\\|_{": 22772, + "▁bitter": 22773, + "sce": 22774, + "▁pole": 22775, + "Verlag": 22776, + "▁totalité": 22777, + "▁foundation": 22778, + "jt": 22779, + "▁slice": 22780, + "ifique": 22781, + "▁integrate": 22782, + "strij": 22783, + "▁asympt": 22784, + "▁ему": 22785, + "▁perturb": 22786, + "▁Flow": 22787, + "jboss": 22788, + "RIG": 22789, + "▁Aless": 22790, + "XXX": 22791, + "▁summ": 22792, + "sqlite": 22793, + "▁cheer": 22794, + "prob": 22795, + "▁GPU": 22796, + "ził": 22797, + "(*)": 22798, + "▁induct": 22799, + "RAY": 22800, + "blatt": 22801, + "questa": 22802, + "oru": 22803, + "▁Inside": 22804, + "▁McG": 22805, + "▁Nep": 22806, + "мп": 22807, + "▁inve": 22808, + "▁Animal": 22809, + "▁sob": 22810, + "ított": 22811, + "loyment": 22812, + "▁bund": 22813, + "Station": 22814, + "▁BEGIN": 22815, + "▁partiellement": 22816, + "igg": 22817, + "estore": 22818, + "▁coinc": 22819, + "▁Sommer": 22820, + "▁md": 22821, + "▁locked": 22822, + "mathchar": 22823, + "arma": 22824, + "pent": 22825, + "arium": 22826, + "▁ears": 22827, + "▁Songs": 22828, + "▁similarly": 22829, + "▁literally": 22830, + "▁inches": 22831, + "▁affection": 22832, + "lp": 22833, + "▁concluded": 22834, + "▁муніципалі": 22835, + "▁памя": 22836, + "estaur": 22837, + "▁Josh": 22838, + "▁Fritz": 22839, + "DBC": 22840, + "дён": 22841, + "posa": 22842, + "▁golden": 22843, + "▁pc": 22844, + "▁comte": 22845, + "▁Ziel": 22846, + "▁présente": 22847, + "marks": 22848, + "igneur": 22849, + "▁Drive": 22850, + "▁neglect": 22851, + "▁rozp": 22852, + "▁Five": 22853, + "spaces": 22854, + "▁Medi": 22855, + "▁existed": 22856, + "▁była": 22857, + "джи": 22858, + "▁frente": 22859, + "тник": 22860, + "odd": 22861, + "▁answering": 22862, + "bian": 22863, + "▁Eugen": 22864, + "▁Publications": 22865, + "▁Dia": 22866, + "lá": 22867, + "▁'_": 22868, + "▁recuper": 22869, + "ому": 22870, + "▁Append": 22871, + "obar": 22872, + "▁employees": 22873, + "▁compens": 22874, + "emetery": 22875, + "▁элект": 22876, + "MON": 22877, + "olin": 22878, + "▁historic": 22879, + "his": 22880, + "ąd": 22881, + "nm": 22882, + "▁Goth": 22883, + "▁stress": 22884, + "▁partecip": 22885, + "▁Aw": 22886, + "▁sar": 22887, + "▁hu": 22888, + "▁matplotlib": 22889, + "▁Myst": 22890, + "();`": 22891, + "schein": 22892, + "Longrightarrow": 22893, + "▁ря": 22894, + "▁Isra": 22895, + "[^": 22896, + "nou": 22897, + "▁synd": 22898, + "working": 22899, + "▁Nation": 22900, + "▁Pent": 22901, + "▁klass": 22902, + "▁applicable": 22903, + "▁Diam": 22904, + "▁brasile": 22905, + "▁pac": 22906, + "▁Height": 22907, + "Put": 22908, + "▁intro": 22909, + "▁unusual": 22910, + "nas": 22911, + "▁Gebäude": 22912, + "▁beam": 22913, + "▁Rect": 22914, + "▁Primera": 22915, + "▁haut": 22916, + "▁trait": 22917, + "prüft": 22918, + "inación": 22919, + "▁configurations": 22920, + "▁gilt": 22921, + "▁territoire": 22922, + "hez": 22923, + "▁alte": 22924, + "relative": 22925, + "Excel": 22926, + "▁Wright": 22927, + "GV": 22928, + "поли": 22929, + "Quant": 22930, + "▁gauge": 22931, + "▁multiply": 22932, + "ASS": 22933, + "ственно": 22934, + "ану": 22935, + "▁jeden": 22936, + "▁literary": 22937, + "▁Dro": 22938, + "▁advise": 22939, + "itzen": 22940, + "▁disag": 22941, + "website": 22942, + "▁дія": 22943, + "▁observer": 22944, + "▁január": 22945, + "vě": 22946, + "kup": 22947, + "▁Ses": 22948, + "▁wojew": 22949, + "▁stages": 22950, + "▁времени": 22951, + "łuż": 22952, + "нос": 22953, + "Download": 22954, + "ipo": 22955, + "▁graf": 22956, + "▁робо": 22957, + "▁Nikol": 22958, + "▁fic": 22959, + "▁joining": 22960, + "▁diversos": 22961, + "▁LIKE": 22962, + "▁Fitz": 22963, + "▁dimin": 22964, + "▁distrib": 22965, + "Sam": 22966, + "koz": 22967, + "▁alphabet": 22968, + "oser": 22969, + "OUR": 22970, + "uka": 22971, + "кая": 22972, + "▁steel": 22973, + "▁`--": 22974, + "▁tener": 22975, + "marker": 22976, + "▁Heaven": 22977, + "newcommand": 22978, + "▁prisoners": 22979, + "▁Knight": 22980, + "▁presents": 22981, + "▁questi": 22982, + "▁trains": 22983, + "opera": 22984, + "▁Linear": 22985, + "▁ME": 22986, + "▁Buc": 22987, + "Leg": 22988, + "▁agua": 22989, + "▁Griff": 22990, + "olg": 22991, + "dst": 22992, + ".\r": 22993, + "▁persones": 22994, + "Mal": 22995, + "бере": 22996, + "folge": 22997, + "▁acab": 22998, + "ctu": 22999, + "ptic": 23000, + "▁Navigation": 23001, + "Russ": 23002, + "галь": 23003, + "▁Ful": 23004, + "▁має": 23005, + "чная": 23006, + "wner": 23007, + "contra": 23008, + "▁joueur": 23009, + "▁Jess": 23010, + "▁renew": 23011, + "▁lap": 23012, + "▁casting": 23013, + "gal": 23014, + "▁tématu": 23015, + "▁называ": 23016, + "зах": 23017, + "чне": 23018, + ")-\\": 23019, + "▁часто": 23020, + "}$-": 23021, + "▁licz": 23022, + "▁emot": 23023, + "harm": 23024, + "▁occasionally": 23025, + "▁horror": 23026, + "east": 23027, + "▁printer": 23028, + "aran": 23029, + "▁Mississ": 23030, + "follow": 23031, + "▁Barry": 23032, + "▁investigate": 23033, + "gow": 23034, + "▁Americans": 23035, + "Since": 23036, + "▁відо": 23037, + "▁reun": 23038, + "osci": 23039, + "▁Chapter": 23040, + "▁bay": 23041, + "роме": 23042, + "ethe": 23043, + "édie": 23044, + "comot": 23045, + "▁miejscowo": 23046, + "▁studierte": 23047, + "ouvert": 23048, + "▁кур": 23049, + "▁DESC": 23050, + "▁touched": 23051, + "▁Jerry": 23052, + "uese": 23053, + "лище": 23054, + "authentication": 23055, + "▁colle": 23056, + "heart": 23057, + "▁regiment": 23058, + "cribed": 23059, + "▁Боль": 23060, + "▁проис": 23061, + "ceae": 23062, + "▁masses": 23063, + "▁scrolling": 23064, + "usto": 23065, + "SW": 23066, + "ovat": 23067, + "▁grâce": 23068, + "▁Архив": 23069, + "▁Север": 23070, + "avait": 23071, + "▁Marshall": 23072, + "▁HashMap": 23073, + "acon": 23074, + "ücken": 23075, + "[])": 23076, + "▁evangel": 23077, + "etzung": 23078, + "ttemberg": 23079, + "sters": 23080, + "TM": 23081, + "▁литера": 23082, + "quot": 23083, + "Pred": 23084, + "▁werk": 23085, + "▁haber": 23086, + "lava": 23087, + "vous": 23088, + "▁Late": 23089, + "cycle": 23090, + "тирова": 23091, + "▁проду": 23092, + "▁populations": 23093, + "▁Yan": 23094, + "Prefix": 23095, + "actéristiques": 23096, + "+'": 23097, + "()`](": 23098, + "▁Ль": 23099, + "филь": 23100, + "▁жизни": 23101, + "ftp": 23102, + "▁всех": 23103, + "▁gdzie": 23104, + "▁videa": 23105, + "oauth": 23106, + "▁pid": 23107, + "ům": 23108, + "▁pesso": 23109, + "▁tracking": 23110, + "izin": 23111, + "▁Morris": 23112, + "щий": 23113, + "▁Provinz": 23114, + "▁Mitte": 23115, + "▁artificial": 23116, + "brázky": 23117, + "▁дости": 23118, + "▁restored": 23119, + "▁communicate": 23120, + "agit": 23121, + "Recogn": 23122, + "▁lon": 23123, + "▁заня": 23124, + "▁Argument": 23125, + "flush": 23126, + "мана": 23127, + "seconds": 23128, + "UC": 23129, + "▁Ruth": 23130, + "▁tub": 23131, + "▁Bret": 23132, + "▁Pere": 23133, + "▁responsibility": 23134, + "ńczy": 23135, + "▁environments": 23136, + "kee": 23137, + "▁groot": 23138, + "▁painted": 23139, + "▁Éditions": 23140, + "cpy": 23141, + "árt": 23142, + "lichkeit": 23143, + "arda": 23144, + "Batch": 23145, + "▁Leopold": 23146, + "reason": 23147, + "noreferrer": 23148, + "sens": 23149, + "▁rocks": 23150, + "▁Hitler": 23151, + "лат": 23152, + "▁quoted": 23153, + "▁колле": 23154, + "▁уров": 23155, + "bag": 23156, + ".\")": 23157, + "▁ML": 23158, + "▁komt": 23159, + "▁[_": 23160, + "▁spectral": 23161, + "edo": 23162, + "▁insieme": 23163, + "▁suffering": 23164, + "slider": 23165, + "▁Kennedy": 23166, + "olate": 23167, + "▁Patri": 23168, + "зии": 23169, + "OH": 23170, + "▁теа": 23171, + "▁права": 23172, + "мах": 23173, + "rewrite": 23174, + "▁Einsatz": 23175, + "external": 23176, + "holds": 23177, + "▁Places": 23178, + "atype": 23179, + "▁vulner": 23180, + "▁abandoned": 23181, + "Origin": 23182, + "▁maximal": 23183, + "AAAA": 23184, + "▁Baseball": 23185, + "▁Close": 23186, + "▁painter": 23187, + "▁assigning": 23188, + "NB": 23189, + "blast": 23190, + "▁Künstler": 23191, + ")](": 23192, + "fach": 23193, + "▁Constantin": 23194, + "okes": 23195, + "▁nobody": 23196, + "▁subtract": 23197, + "▁fosse": 23198, + "▁certific": 23199, + "▁muse": 23200, + "/),": 23201, + "▁Profil": 23202, + "▁proxim": 23203, + "▁Jerusalem": 23204, + "▁simplicity": 23205, + "▁wsz": 23206, + "NUMBER": 23207, + "uttavia": 23208, + "UITableView": 23209, + "ichter": 23210, + "жан": 23211, + "▁Lav": 23212, + "itchen": 23213, + "▁Чем": 23214, + "Tu": 23215, + "▁geom": 23216, + "▁zvuky": 23217, + "▁Survey": 23218, + "ANCE": 23219, + "▁encrypted": 23220, + "prof": 23221, + "▁dare": 23222, + "▁Loren": 23223, + "тв": 23224, + "▁Алек": 23225, + "▁computers": 23226, + "▁expectation": 23227, + "▁substantial": 23228, + "▁Дми": 23229, + "▁`{": 23230, + "▁дра": 23231, + "ubble": 23232, + "▁performs": 23233, + "▁Krieg": 23234, + "▁incoming": 23235, + "▁Classification": 23236, + "WebView": 23237, + "▁episodes": 23238, + "apper": 23239, + "äufig": 23240, + "▁giov": 23241, + "▁Depart": 23242, + "бора": 23243, + "edly": 23244, + "ospod": 23245, + "▁ptr": 23246, + "▁dátum": 23247, + "▁estimation": 23248, + "icole": 23249, + "▁----": 23250, + "▁princes": 23251, + "HEAD": 23252, + "▁diffusion": 23253, + "▁drie": 23254, + "▁Ada": 23255, + "нице": 23256, + "nginx": 23257, + "shal": 23258, + "▁februari": 23259, + "▁Tat": 23260, + "looking": 23261, + "kund": 23262, + "▁Dean": 23263, + "mongodb": 23264, + "вших": 23265, + "▁Aur": 23266, + "▁Flora": 23267, + "▁Studios": 23268, + "ције": 23269, + "eil": 23270, + "Install": 23271, + "▁franch": 23272, + "▁HMS": 23273, + "▁practices": 23274, + "lej": 23275, + "dale": 23276, + "▁poste": 23277, + "▁Hels": 23278, + "▁reliable": 23279, + "ździer": 23280, + "▁verse": 23281, + "ermeister": 23282, + "▁quit": 23283, + "ético": 23284, + "ilis": 23285, + "edor": 23286, + "▁Cultural": 23287, + "дже": 23288, + "▁liked": 23289, + "▁mongodb": 23290, + "▁Broadway": 23291, + "▁IR": 23292, + "eszt": 23293, + "hov": 23294, + "▁míst": 23295, + "reiche": 23296, + "▁kB": 23297, + "стом": 23298, + "▁SQLite": 23299, + "▁torneo": 23300, + "\\.": 23301, + "Ord": 23302, + "▁Administration": 23303, + "▁зда": 23304, + "▁Hinter": 23305, + "▁Via": 23306, + "Decimal": 23307, + "orious": 23308, + "▁nécessaire": 23309, + "wx": 23310, + "▁tej": 23311, + "▁tema": 23312, + "Obrázky": 23313, + "рите": 23314, + "▁builds": 23315, + "▁laten": 23316, + "▁гг": 23317, + "Visibility": 23318, + "läu": 23319, + "▁sechs": 23320, + "▁луч": 23321, + "cera": 23322, + "Could": 23323, + "▁traject": 23324, + "}}^{": 23325, + "▁Japon": 23326, + "another": 23327, + "IK": 23328, + "▁belonging": 23329, + "▁facilities": 23330, + "▁Daily": 23331, + "▁dece": 23332, + "intro": 23333, + "▁случа": 23334, + "Namespace": 23335, + "▁Bak": 23336, + "locale": 23337, + "UG": 23338, + "=${": 23339, + "▁compañ": 23340, + "jąc": 23341, + "▁arithmetic": 23342, + "forum": 23343, + "▁porta": 23344, + "onk": 23345, + "▁gender": 23346, + "▁expects": 23347, + "бка": 23348, + "▁nak": 23349, + "▁Grace": 23350, + "▁stro": 23351, + "ividual": 23352, + "▁COM": 23353, + "▁Farm": 23354, + "▁canton": 23355, + "тому": 23356, + "javax": 23357, + "сей": 23358, + "▁briefly": 23359, + "Face": 23360, + "rotate": 23361, + "constant": 23362, + "▁gallery": 23363, + "astro": 23364, + "allery": 23365, + "▁DJ": 23366, + "charge": 23367, + "ходить": 23368, + "Cent": 23369, + "\\\",": 23370, + "▁donna": 23371, + "arca": 23372, + "lade": 23373, + "zin": 23374, + "▁Ned": 23375, + "▁hosting": 23376, + "idor": 23377, + "itative": 23378, + "igs": 23379, + "▁пря": 23380, + "▁ticket": 23381, + "▁studying": 23382, + "▁designer": 23383, + "lapsed": 23384, + "▁laat": 23385, + "▁dix": 23386, + "▁integrated": 23387, + "▁informed": 23388, + "▁behave": 23389, + "▁labour": 23390, + "estellt": 23391, + "calendar": 23392, + "▁killing": 23393, + "▁twitter": 23394, + "iae": 23395, + "▁historique": 23396, + "DEFAULT": 23397, + "iała": 23398, + "▁theoretical": 23399, + "▁unders": 23400, + "ляет": 23401, + "atan": 23402, + "▁surname": 23403, + "▁intercept": 23404, + "гласно": 23405, + "▁општини": 23406, + "▁tired": 23407, + "▁Beth": 23408, + "▁административ": 23409, + "Li": 23410, + "▁Тур": 23411, + "▁Scanner": 23412, + "▁Stern": 23413, + "▁вместе": 23414, + "▁reporting": 23415, + "▁sull": 23416, + "цией": 23417, + "berts": 23418, + "ogonal": 23419, + "ők": 23420, + "▁ipsum": 23421, + "▁seulement": 23422, + "▁Seiten": 23423, + "wordpress": 23424, + "▁featuring": 23425, + "istischen": 23426, + "jub": 23427, + "▁étr": 23428, + "▁tea": 23429, + "▁adapted": 23430, + "▁scales": 23431, + "▁nan": 23432, + "getValue": 23433, + "▁Blues": 23434, + "acles": 23435, + "▁stati": 23436, + "▁entitled": 23437, + "▁Ralph": 23438, + "gravity": 23439, + "▁entrepr": 23440, + "któber": 23441, + "limat": 23442, + "lis": 23443, + "Demo": 23444, + "relation": 23445, + "▁nep": 23446, + "prowad": 23447, + "itis": 23448, + "▁pup": 23449, + "nehmer": 23450, + "▁disappoint": 23451, + "▁etwas": 23452, + "annon": 23453, + "▁approved": 23454, + "▁clever": 23455, + "Loading": 23456, + "▁verz": 23457, + "resse": 23458, + "▁inspir": 23459, + "▁sampling": 23460, + "▁Bek": 23461, + "})$.": 23462, + "▁грома": 23463, + "▁specie": 23464, + "▁repub": 23465, + "▁loader": 23466, + "▁erf": 23467, + "▁shoulder": 23468, + "rais": 23469, + "▁мате": 23470, + "▁Month": 23471, + "Scene": 23472, + "▁blocking": 23473, + "▁ocean": 23474, + "geben": 23475, + "▁Kilometer": 23476, + "▁bedeut": 23477, + "▁Mix": 23478, + "fmt": 23479, + "▁Norweg": 23480, + "▁IDs": 23481, + "parallel": 23482, + "▁anticip": 23483, + "▁revis": 23484, + "хан": 23485, + "▁свет": 23486, + "CASE": 23487, + "▁führt": 23488, + "▁atomic": 23489, + "▁darkness": 23490, + "▁Fußballspieler": 23491, + "▁Жи": 23492, + "quisition": 23493, + "▁Sieg": 23494, + "Circ": 23495, + "▁cientí": 23496, + "nelle": 23497, + "SHA": 23498, + "▁urb": 23499, + "▁ksi": 23500, + "leqslant": 23501, + "▁фрон": 23502, + "▁defect": 23503, + "▁rá": 23504, + "▁stronger": 23505, + "▁pł": 23506, + "▁communities": 23507, + "нина": 23508, + "enas": 23509, + "iennent": 23510, + "▁safely": 23511, + "▁тя": 23512, + "▁benchmark": 23513, + "▁Braun": 23514, + "methods": 23515, + "argument": 23516, + "vos": 23517, + "obox": 23518, + "рови": 23519, + "▁recherche": 23520, + "mn": 23521, + "▁brings": 23522, + "machine": 23523, + "CESS": 23524, + "hosts": 23525, + "▁NY": 23526, + "Autow": 23527, + "▁современ": 23528, + "▁Gary": 23529, + "▁sensor": 23530, + "▁documented": 23531, + "▁prendre": 23532, + "▁peer": 23533, + "enix": 23534, + "hai": 23535, + "arbe": 23536, + "цент": 23537, + "_(": 23538, + "▁URI": 23539, + "ева": 23540, + "▁Regie": 23541, + "▁Monument": 23542, + "▁onderwerp": 23543, + "Bag": 23544, + "tit": 23545, + "▁stir": 23546, + "▁nerv": 23547, + "сторія": 23548, + "▁sov": 23549, + "▁writers": 23550, + "▁sorts": 23551, + "absolute": 23552, + "▁difficulties": 23553, + "▁parlament": 23554, + "▁IEnumerable": 23555, + "▁dissol": 23556, + "▁CHECK": 23557, + "arina": 23558, + "inburgh": 23559, + "DM": 23560, + "▁eind": 23561, + "▁budget": 23562, + "▁certains": 23563, + "▁första": 23564, + "anja": 23565, + "▁годов": 23566, + "▁тек": 23567, + "▁Duch": 23568, + "gui": 23569, + "▁Teams": 23570, + "▁многи": 23571, + "Marie": 23572, + "Integr": 23573, + "ThreadPool": 23574, + "rust": 23575, + "ík": 23576, + "%\"": 23577, + "enf": 23578, + "spl": 23579, + "▁begun": 23580, + "lou": 23581, + "▁RewriteRule": 23582, + "tuple": 23583, + "aneous": 23584, + "▁marine": 23585, + "attan": 23586, + "ikal": 23587, + "▁graduated": 23588, + "illé": 23589, + "▁прове": 23590, + "▁Роз": 23591, + "',\r": 23592, + "▁Pfarr": 23593, + "▁nivel": 23594, + "▁працю": 23595, + "music": 23596, + "▁setTimeout": 23597, + "ERS": 23598, + "▁Erik": 23599, + "pit": 23600, + "▁Хро": 23601, + "▁pił": 23602, + "▁peri": 23603, + "док": 23604, + "uszt": 23605, + "▁Bear": 23606, + "ClassName": 23607, + "▁Parlament": 23608, + "▁aix": 23609, + "▁invited": 23610, + "▁PATH": 23611, + "xter": 23612, + "▁Race": 23613, + "▁hecho": 23614, + "▁Tower": 23615, + "▁utf": 23616, + "actly": 23617, + "▁буде": 23618, + "▁angles": 23619, + "няя": 23620, + "ouvelles": 23621, + "▁climate": 23622, + "▁singing": 23623, + "▁navigate": 23624, + ">';": 23625, + "adows": 23626, + "▁leta": 23627, + "▁Sitz": 23628, + "▁partitions": 23629, + "▁dock": 23630, + "▁ży": 23631, + "▁allocate": 23632, + "▁benefits": 23633, + "▁nieder": 23634, + "xpath": 23635, + "meck": 23636, + "älle": 23637, + "▁coupling": 23638, + "жил": 23639, + "ForKey": 23640, + "argent": 23641, + "clou": 23642, + "▁instruments": 23643, + "▁enthus": 23644, + "▁még": 23645, + "▁Пав": 23646, + "▁Rach": 23647, + "-----": 23648, + "▁APIs": 23649, + "▁Vier": 23650, + "Cmd": 23651, + "itore": 23652, + "▁Cuba": 23653, + "▁dátummal": 23654, + "▁embedding": 23655, + "stdio": 23656, + "▁Gilbert": 23657, + "▁geprüft": 23658, + "▁stating": 23659, + "▁triggers": 23660, + "+=": 23661, + "▁spécial": 23662, + "▁deliber": 23663, + "мин": 23664, + "Produ": 23665, + "▁Stati": 23666, + "▁zus": 23667, + "ktionen": 23668, + "Dispatcher": 23669, + "idal": 23670, + "▁LP": 23671, + "optera": 23672, + "▁estar": 23673, + "▁значи": 23674, + "смо": 23675, + "ouses": 23676, + "engono": 23677, + "▁WPF": 23678, + "publish": 23679, + "▁teor": 23680, + "elif": 23681, + "▁erg": 23682, + "▁separation": 23683, + "Pan": 23684, + "▁Orchestra": 23685, + "Peter": 23686, + "bounds": 23687, + "▁Shakespeare": 23688, + "▁cantante": 23689, + "▁demi": 23690, + "▁Popular": 23691, + "фр": 23692, + "arring": 23693, + "цин": 23694, + "▁Ис": 23695, + "von": 23696, + "▁substitution": 23697, + "▁línea": 23698, + "\\}$.": 23699, + "como": 23700, + "▁важ": 23701, + "wagen": 23702, + "▁rarely": 23703, + "▁periods": 23704, + "glob": 23705, + "▁Frid": 23706, + "▁Terr": 23707, + "▁Release": 23708, + "Brainz": 23709, + "▁граф": 23710, + "DIS": 23711, + "compatible": 23712, + "▁poč": 23713, + "LIN": 23714, + "▁Källor": 23715, + "▁Arizona": 23716, + "ppy": 23717, + "Seq": 23718, + "▁Ain": 23719, + "▁Tourn": 23720, + "brow": 23721, + "▁Kör": 23722, + "▁ash": 23723, + "ogeneous": 23724, + "▁dialect": 23725, + "▁насеља": 23726, + "mysqli": 23727, + "цов": 23728, + "▁flor": 23729, + "▁фло": 23730, + "IAB": 23731, + "▁Within": 23732, + "^(": 23733, + "▁bois": 23734, + "▁tank": 23735, + "▁affili": 23736, + "▁hijo": 23737, + "▁Kate": 23738, + "▁Verl": 23739, + "▁Miami": 23740, + "▁typescript": 23741, + "њу": 23742, + "▁Vern": 23743, + "▁висо": 23744, + "iemann": 23745, + "▁coverage": 23746, + "brie": 23747, + "▁Starting": 23748, + "numpy": 23749, + "▁Jenkins": 23750, + "▁két": 23751, + "▁grup": 23752, + "▁Scient": 23753, + "▁interrupt": 23754, + "▁blob": 23755, + "ugel": 23756, + "▁Orth": 23757, + "abama": 23758, + "▁Bapt": 23759, + "ownik": 23760, + "▁быть": 23761, + "▁Julius": 23762, + "▁През": 23763, + "▁substitute": 23764, + "supported": 23765, + "chy": 23766, + "egyzetek": 23767, + "▁Performance": 23768, + "lessly": 23769, + "Constructor": 23770, + "▁extending": 23771, + "▁Muslim": 23772, + "Overflow": 23773, + "▁Jenn": 23774, + "▁produz": 23775, + "мії": 23776, + "▁países": 23777, + "▁eux": 23778, + "▁fate": 23779, + "ologe": 23780, + "ук": 23781, + "▁wobei": 23782, + "▁Sachsen": 23783, + "▁сайт": 23784, + "Models": 23785, + "▁Fast": 23786, + "besondere": 23787, + "▁FR": 23788, + "▁acon": 23789, + "▁Denkmal": 23790, + "▁anch": 23791, + "▁público": 23792, + "▁Tas": 23793, + "▁cand": 23794, + "▁paździer": 23795, + "▁Мон": 23796, + "▁versus": 23797, + "rut": 23798, + "GT": 23799, + "▁inserting": 23800, + "▁canad": 23801, + "єм": 23802, + "▁Metro": 23803, + "▁Herzog": 23804, + "Ignore": 23805, + "▁decrease": 23806, + "▁пун": 23807, + "▁Fischer": 23808, + "▁Mall": 23809, + "▁nörd": 23810, + "iostream": 23811, + "▁Luxemb": 23812, + "payload": 23813, + "▁Zeitung": 23814, + "▁modifying": 23815, + "▁Cher": 23816, + "▁Luci": 23817, + "nx": 23818, + "▁loose": 23819, + "▁topics": 23820, + "▁varied": 23821, + "▁pg": 23822, + "ajes": 23823, + "umm": 23824, + "Views": 23825, + "▁Beau": 23826, + "MAP": 23827, + "ipeline": 23828, + "▁Interest": 23829, + "arith": 23830, + "▁según": 23831, + "▁Gemeins": 23832, + "▁Attribute": 23833, + "community": 23834, + "▁центр": 23835, + "▁kilometer": 23836, + "▁économ": 23837, + "laration": 23838, + "▁къ": 23839, + "▁carriage": 23840, + "▁Lane": 23841, + "▁необ": 23842, + "kur": 23843, + "▁AF": 23844, + "INTER": 23845, + "))$": 23846, + "▁beide": 23847, + "destination": 23848, + "▁fonts": 23849, + "appendChild": 23850, + "▁MAR": 23851, + "▁gay": 23852, + "mil": 23853, + "lesh": 23854, + "èt": 23855, + "▁Wang": 23856, + "▁Years": 23857, + "▁Symbol": 23858, + "Live": 23859, + "quency": 23860, + "▁Users": 23861, + "▁Unicode": 23862, + "▁Sau": 23863, + "▁tons": 23864, + "▁Ні": 23865, + "▁краї": 23866, + "AXI": 23867, + "▁Pick": 23868, + "AI": 23869, + "▁hath": 23870, + "▁ainda": 23871, + "▁papa": 23872, + "▁Censo": 23873, + "▁Bald": 23874, + "▁Насеље": 23875, + "▁simulations": 23876, + "▁jaren": 23877, + "▁inherited": 23878, + "▁той": 23879, + "▁feels": 23880, + "ression": 23881, + "▁október": 23882, + "bid": 23883, + "ási": 23884, + "▁muss": 23885, + "ventory": 23886, + "▁meist": 23887, + "▁bore": 23888, + "▁slider": 23889, + "дели": 23890, + "\\;": 23891, + "▁extracted": 23892, + "кур": 23893, + "Edge": 23894, + "▁perf": 23895, + "▁Brigade": 23896, + "▁град": 23897, + "ienie": 23898, + "▁Norden": 23899, + "▁cancer": 23900, + "\"/": 23901, + "Cur": 23902, + "▁Сере": 23903, + "▁liquid": 23904, + "structure": 23905, + "▁choosing": 23906, + "▁Perl": 23907, + "Side": 23908, + "üs": 23909, + "ритор": 23910, + "▁kost": 23911, + "▁packets": 23912, + "▁которого": 23913, + "▁Comun": 23914, + "▁fingers": 23915, + "ográfica": 23916, + ">:": 23917, + "▁championnat": 23918, + "▁blieb": 23919, + "▁Situ": 23920, + "▁suic": 23921, + "andis": 23922, + "Fre": 23923, + "▁Conc": 23924, + "▁republic": 23925, + "▁armed": 23926, + "▁hell": 23927, + "▁hög": 23928, + "ragma": 23929, + "▁ense": 23930, + "▁acres": 23931, + "▁Від": 23932, + "▁Reform": 23933, + "MainActivity": 23934, + "keeper": 23935, + "erb": 23936, + "▁monaster": 23937, + "subsubsection": 23938, + "▁Див": 23939, + "▁creature": 23940, + "▁indicating": 23941, + "▁urls": 23942, + "▁kein": 23943, + "образ": 23944, + "pick": 23945, + "▁Admir": 23946, + "▁oldest": 23947, + "▁muz": 23948, + "▁contradiction": 23949, + "▁probabil": 23950, + "illiant": 23951, + "▁pav": 23952, + "▁papel": 23953, + "ubs": 23954, + "▁жена": 23955, + "AML": 23956, + "▁recip": 23957, + "▁COL": 23958, + "added": 23959, + "▁clue": 23960, + "▁Ukraine": 23961, + "▁jelent": 23962, + "чень": 23963, + "▁mathematics": 23964, + "Accept": 23965, + "▁сот": 23966, + "▁север": 23967, + "▁isolated": 23968, + "▁поя": 23969, + "wür": 23970, + "Router": 23971, + "CAT": 23972, + "rgb": 23973, + "▁Lov": 23974, + "mutable": 23975, + "▁Wes": 23976, + "▁Italien": 23977, + "Drag": 23978, + "enium": 23979, + "atting": 23980, + "tcp": 23981, + "▁erfolgte": 23982, + "▁Beit": 23983, + "гато": 23984, + "▁Systems": 23985, + "▁reserve": 23986, + "eree": 23987, + "▁Пари": 23988, + "▁зали": 23989, + "▁rent": 23990, + "▁sunt": 23991, + "▁Girls": 23992, + "▁Ernest": 23993, + "▁fits": 23994, + "▁oppon": 23995, + "▁живело": 23996, + "▁avaient": 23997, + "▁Florence": 23998, + "▁числе": 23999, + "▁engines": 24000, + "Dynamic": 24001, + "▁stycznia": 24002, + "▁bias": 24003, + "▁Exchange": 24004, + "дий": 24005, + "▁historiques": 24006, + "▁Hä": 24007, + "hod": 24008, + "▁wł": 24009, + "schap": 24010, + "▁lac": 24011, + "▁Foi": 24012, + "▁dwell": 24013, + "▁Unternehmen": 24014, + "URN": 24015, + "▁kilometres": 24016, + "▁Однако": 24017, + "кли": 24018, + "▁Sri": 24019, + "Groups": 24020, + "mind": 24021, + "oslov": 24022, + "fern": 24023, + "egu": 24024, + "abeled": 24025, + "Fiddle": 24026, + "▁Century": 24027, + "/-": 24028, + "▁Jegyzetek": 24029, + "Hen": 24030, + "ensemble": 24031, + "▁Gut": 24032, + "_{{\\": 24033, + "▁ranking": 24034, + "+$": 24035, + "ала": 24036, + "▁#{": 24037, + "imientos": 24038, + "achim": 24039, + "rides": 24040, + "▁Klaus": 24041, + "▁intend": 24042, + "▁Kentucky": 24043, + "cipe": 24044, + "▁Dienst": 24045, + "▁situated": 24046, + "▁póź": 24047, + "▁scrit": 24048, + "clip": 24049, + "нет": 24050, + "tables": 24051, + "▁Nied": 24052, + "▁McK": 24053, + "▁powst": 24054, + "▁kunnen": 24055, + "▁Evans": 24056, + "жды": 24057, + "вать": 24058, + "uchar": 24059, + "▁residents": 24060, + "iak": 24061, + "▁Resol": 24062, + "▁veces": 24063, + "▁satisfying": 24064, + "INF": 24065, + "▁син": 24066, + "▁crossing": 24067, + "iben": 24068, + "▁широ": 24069, + "pto": 24070, + "ILL": 24071, + "▁роль": 24072, + "▁aktiv": 24073, + "▁обращения": 24074, + "Wikispecies": 24075, + "▁Höhe": 24076, + "cro": 24077, + "════": 24078, + "altra": 24079, + "▁FILE": 24080, + "▁ups": 24081, + "▁allocation": 24082, + "Michael": 24083, + "▁acknowled": 24084, + "Linux": 24085, + "▁metros": 24086, + "tte": 24087, + "afen": 24088, + "▁xcode": 24089, + "▁тради": 24090, + "species": 24091, + "▁injury": 24092, + "▁самы": 24093, + "▁lattice": 24094, + "Material": 24095, + "andenburg": 24096, + "▁huvudstaden": 24097, + "story": 24098, + "▁varying": 24099, + "▁követ": 24100, + "▁Российской": 24101, + "irse": 24102, + "▁drum": 24103, + "Pressed": 24104, + "Lar": 24105, + "▁Agu": 24106, + "▁weil": 24107, + "▁commence": 24108, + "▁Según": 24109, + "Gesture": 24110, + "Shape": 24111, + "▁Vors": 24112, + "▁succès": 24113, + "▁corrected": 24114, + "Kar": 24115, + "▁cruel": 24116, + "▁politico": 24117, + "▁Schriftsteller": 24118, + "▁risult": 24119, + "etu": 24120, + "archiv": 24121, + "▁género": 24122, + "▁Lü": 24123, + "▁triumph": 24124, + "ORS": 24125, + "Lu": 24126, + "▁personnel": 24127, + "▁Hills": 24128, + "asset": 24129, + "domin": 24130, + "Receive": 24131, + "▁Oak": 24132, + "▁Kno": 24133, + "▁Theory": 24134, + "irie": 24135, + "owan": 24136, + "▁estava": 24137, + "▁executes": 24138, + "йт": 24139, + "ópez": 24140, + "поло": 24141, + "ética": 24142, + "▁название": 24143, + "▁converges": 24144, + "▁notre": 24145, + "▁populated": 24146, + "▁movements": 24147, + "▁statistical": 24148, + "▁Zweiten": 24149, + "quin": 24150, + "▁importantes": 24151, + "▁klein": 24152, + "▁Segunda": 24153, + "schließend": 24154, + "Failure": 24155, + "nar": 24156, + "dag": 24157, + "▁ruolo": 24158, + "▁fiction": 24159, + "▁использу": 24160, + "▁crisis": 24161, + "▁Getting": 24162, + ",%": 24163, + "▁армии": 24164, + "▁campus": 24165, + "▁footer": 24166, + "▁días": 24167, + "бан": 24168, + "▁liberty": 24169, + "▁gh": 24170, + "▁chamber": 24171, + "▁districts": 24172, + "▁excited": 24173, + "▁canción": 24174, + "tero": 24175, + "▁Working": 24176, + "▁części": 24177, + "льный": 24178, + "▁forum": 24179, + "▁Ehe": 24180, + "▁ката": 24181, + "itations": 24182, + "Tools": 24183, + "achiv": 24184, + "▁cres": 24185, + "asto": 24186, + "▁rever": 24187, + "▁nazionale": 24188, + "▁doors": 24189, + "▁Nancy": 24190, + "▁islands": 24191, + "Imp": 24192, + "▁Chair": 24193, + "▁vorm": 24194, + "sein": 24195, + "▁доку": 24196, + "erset": 24197, + "▁tätig": 24198, + "▁Krit": 24199, + "▁пя": 24200, + "▁conservation": 24201, + "▁Partido": 24202, + "minipage": 24203, + "Validator": 24204, + "▁recovery": 24205, + "▁NASA": 24206, + "▁breast": 24207, + "ilty": 24208, + "analy": 24209, + "elines": 24210, + "▁Saturday": 24211, + "emark": 24212, + "cej": 24213, + "Zero": 24214, + "▁Turner": 24215, + "secure": 24216, + "Exists": 24217, + "▁Rick": 24218, + "evalu": 24219, + "ctrl": 24220, + "▁compression": 24221, + "▁CURL": 24222, + "textcolor": 24223, + ")\\,": 24224, + "longrightarrow": 24225, + "▁Fernseh": 24226, + "icha": 24227, + "▁loi": 24228, + "▁Оте": 24229, + "▁cave": 24230, + "▁dozen": 24231, + "▁explaining": 24232, + "▁innov": 24233, + "▁Nicholas": 24234, + "▁diameter": 24235, + "▁Marian": 24236, + "▁fires": 24237, + "▁artifact": 24238, + "▁Parker": 24239, + "▁Bund": 24240, + "▁verte": 24241, + "▁talent": 24242, + "▁Lucas": 24243, + "reverse": 24244, + "▁folgenden": 24245, + "▁Sah": 24246, + "jections": 24247, + "▁invece": 24248, + "▁costitu": 24249, + "▁ssl": 24250, + "}}^": 24251, + "▁violent": 24252, + "▁spos": 24253, + "Rout": 24254, + "jdk": 24255, + "▁заме": 24256, + "▁furent": 24257, + "andal": 24258, + "Hom": 24259, + "▁Senior": 24260, + "▁pounds": 24261, + "▁Discogs": 24262, + "▁зе": 24263, + "'}[": 24264, + "▁Napoleon": 24265, + "ordinates": 24266, + "àn": 24267, + "▁kurz": 24268, + "▁vere": 24269, + "▁reuse": 24270, + "▁Ген": 24271, + "▁Syst": 24272, + "▁disappeared": 24273, + "▁Watch": 24274, + "bibliothek": 24275, + "▁корпу": 24276, + "▁Cs": 24277, + "▁}`": 24278, + "▁rör": 24279, + "▁дела": 24280, + "VB": 24281, + "▁calculus": 24282, + "рода": 24283, + "▁judgment": 24284, + "atile": 24285, + "▁longue": 24286, + "▁Hus": 24287, + "Jac": 24288, + "}})": 24289, + "RIPT": 24290, + "IABot": 24291, + "▁após": 24292, + "▁aston": 24293, + "Webachiv": 24294, + "▁URLs": 24295, + "▁coat": 24296, + "▁эконо": 24297, + "▁lear": 24298, + "extensions": 24299, + "▁Classic": 24300, + "TI": 24301, + "▁Tage": 24302, + "▁lá": 24303, + "▁semb": 24304, + "▁développement": 24305, + "ISTS": 24306, + "▁solves": 24307, + ",\\,": 24308, + "▁чемпі": 24309, + "ordinary": 24310, + "▁Bav": 24311, + "▁muchos": 24312, + "Self": 24313, + "▁Май": 24314, + "▁Diet": 24315, + "▁necessity": 24316, + "від": 24317, + "▁mano": 24318, + "▁Ср": 24319, + "▁carre": 24320, + "▁Camera": 24321, + "▁Narod": 24322, + "▁Phone": 24323, + "▁polym": 24324, + "imore": 24325, + "isEmpty": 24326, + "▁Houston": 24327, + "▁Rece": 24328, + "▁presentation": 24329, + "ниципа": 24330, + "▁Db": 24331, + "▁confident": 24332, + "▁}{": 24333, + "▁bullet": 24334, + "▁{},": 24335, + "ANGE": 24336, + "▁Notre": 24337, + "chin": 24338, + "▁Dragon": 24339, + "erca": 24340, + "iali": 24341, + "▁asset": 24342, + "▁muito": 24343, + "▁deeply": 24344, + "▁restriction": 24345, + "▁commerce": 24346, + "▁Bomb": 24347, + "caught": 24348, + "qq": 24349, + "▁Arag": 24350, + "▁немец": 24351, + "▁Analysis": 24352, + "▁článku": 24353, + "▁baby": 24354, + "▁echter": 24355, + "▁одного": 24356, + "жена": 24357, + "▁whitespace": 24358, + "çu": 24359, + "LIST": 24360, + "frique": 24361, + "▁varias": 24362, + "▁Wit": 24363, + "▁Licencia": 24364, + "Exit": 24365, + "▁sierp": 24366, + "▁assemb": 24367, + "▁splitting": 24368, + "▁palace": 24369, + "▁blocked": 24370, + "▁boundaries": 24371, + "▁iterations": 24372, + "▁Rotten": 24373, + "▁Verkehr": 24374, + "▁weer": 24375, + "Tests": 24376, + "ifting": 24377, + "▁regul": 24378, + "▁persist": 24379, + "▁Solution": 24380, + "pb": 24381, + "▁collapse": 24382, + "▁arrested": 24383, + "▁predicate": 24384, + "▁Zone": 24385, + "▁ingen": 24386, + "zález": 24387, + "▁banks": 24388, + "plant": 24389, + "▁Nella": 24390, + "▁бан": 24391, + "▁Snow": 24392, + "▁Kreuz": 24393, + "ício": 24394, + "▁enters": 24395, + "▁expose": 24396, + "či": 24397, + "шие": 24398, + "Qual": 24399, + "▁landscape": 24400, + "▁подацима": 24401, + "mai": 24402, + "stag": 24403, + "ований": 24404, + "DEF": 24405, + "[]{": 24406, + "▁dernière": 24407, + "icut": 24408, + "▁Xml": 24409, + "▁subgroup": 24410, + "▁Polsce": 24411, + "▁Warning": 24412, + "▁vehicles": 24413, + "iot": 24414, + "▁dll": 24415, + "ront": 24416, + "▁Louise": 24417, + "▁ara": 24418, + "▁Scala": 24419, + "▁canonical": 24420, + "▁placing": 24421, + "ERY": 24422, + "▁Jag": 24423, + "▁virus": 24424, + "emu": 24425, + "▁});\r": 24426, + "▁мм": 24427, + "▁Trying": 24428, + "▁Lexikon": 24429, + "abord": 24430, + "▁expedition": 24431, + "▁demanded": 24432, + "Zyg": 24433, + "lein": 24434, + "▁verwendet": 24435, + "рина": 24436, + "wol": 24437, + "▁pivot": 24438, + "▁однако": 24439, + "▁propriet": 24440, + "▁awards": 24441, + "tout": 24442, + "▁assim": 24443, + "▁Storm": 24444, + "Limit": 24445, + "elin": 24446, + "wealth": 24447, + "uez": 24448, + "▁rappresent": 24449, + "▁resta": 24450, + "▁gegründet": 24451, + "▁journalist": 24452, + "isie": 24453, + "▁facility": 24454, + "illed": 24455, + "ulk": 24456, + "▁PK": 24457, + "Anchor": 24458, + "▁_)": 24459, + "VF": 24460, + "LAB": 24461, + "▁nå": 24462, + "odos": 24463, + "▁billion": 24464, + "virti": 24465, + "▁Jeux": 24466, + "юза": 24467, + "tomcat": 24468, + "▁charts": 24469, + "▁Bundle": 24470, + "▁lst": 24471, + "▁exer": 24472, + "▁females": 24473, + "▁obliged": 24474, + "▁aby": 24475, + "rolled": 24476, + "dri": 24477, + "▁Sche": 24478, + "▁vessels": 24479, + "IMARY": 24480, + "▁reasoning": 24481, + "▁проте": 24482, + "FILES": 24483, + "verk": 24484, + "osos": 24485, + "▁комму": 24486, + "дії": 24487, + "▁dd": 24488, + "▁соответ": 24489, + "▁IOException": 24490, + "ských": 24491, + "▁CLI": 24492, + "▁ње": 24493, + "CM": 24494, + "TD": 24495, + "▁possibilities": 24496, + "▁Compos": 24497, + "half": 24498, + "▁webpage": 24499, + "▁swing": 24500, + "▁zas": 24501, + "▁cycl": 24502, + "leid": 24503, + "istica": 24504, + "▁Insert": 24505, + "▁Sweden": 24506, + "▁wanting": 24507, + "▁ال": 24508, + "▁eeuw": 24509, + "▁Administr": 24510, + "▁Warren": 24511, + "▁bs": 24512, + "▁pam": 24513, + "anus": 24514, + "Dra": 24515, + "expl": 24516, + "▁Kant": 24517, + "▁Austin": 24518, + "▁csak": 24519, + "▁theatre": 24520, + "▁compatibility": 24521, + "матиче": 24522, + "setState": 24523, + "бю": 24524, + "}{|": 24525, + "▁Dy": 24526, + "▁Zwischen": 24527, + "Alt": 24528, + "CLARE": 24529, + "steps": 24530, + "▁Lage": 24531, + "▁Mitt": 24532, + "▁Dublin": 24533, + "▁работы": 24534, + "deep": 24535, + "▁flows": 24536, + "▁Palace": 24537, + "unix": 24538, + "refs": 24539, + "umar": 24540, + "aset": 24541, + "cov": 24542, + "▁ping": 24543, + "▁Safari": 24544, + "flug": 24545, + "creens": 24546, + "{#": 24547, + "▁реа": 24548, + "adors": 24549, + "▁amor": 24550, + "uce": 24551, + "demic": 24552, + "▁Netherlands": 24553, + "▁clusters": 24554, + "▁enfor": 24555, + "marine": 24556, + "▁bugs": 24557, + "izzata": 24558, + "▁scra": 24559, + "Les": 24560, + "quick": 24561, + "▁turno": 24562, + "_*": 24563, + "ера": 24564, + "Generated": 24565, + ">[": 24566, + "▁estre": 24567, + "orde": 24568, + "▁verg": 24569, + "роз": 24570, + "▁pau": 24571, + "includes": 24572, + "assa": 24573, + "aders": 24574, + "▁Герма": 24575, + "▁estaven": 24576, + "▁earliest": 24577, + "▁resultado": 24578, + "mun": 24579, + "▁plots": 24580, + "din": 24581, + "sorted": 24582, + "▁preference": 24583, + "rió": 24584, + "туре": 24585, + "▁Ligue": 24586, + "▁завер": 24587, + "phr": 24588, + "▁pocket": 24589, + "▁parl": 24590, + "▁lak": 24591, + "▁powie": 24592, + "▁altres": 24593, + "$};": 24594, + "plain": 24595, + "▁Cred": 24596, + "itza": 24597, + "perp": 24598, + "Green": 24599, + "▁devoted": 24600, + "production": 24601, + "worker": 24602, + "elsen": 24603, + "▁vern": 24604, + "▁március": 24605, + "▁Confeder": 24606, + "▁Liverpool": 24607, + "▁музи": 24608, + "▁emails": 24609, + "▁distances": 24610, + "▁segments": 24611, + "▁anth": 24612, + "▁wrest": 24613, + "▁hoog": 24614, + "▁cinema": 24615, + "rror": 24616, + "▁geboren": 24617, + "▁éc": 24618, + "Marker": 24619, + "▁Compet": 24620, + "▁листо": 24621, + "allowed": 24622, + "volume": 24623, + "Espagne": 24624, + "Ze": 24625, + "▁fixes": 24626, + "▁rond": 24627, + "▁arrangement": 24628, + "/~": 24629, + ".](": 24630, + "▁Források": 24631, + "▁weiteren": 24632, + "excel": 24633, + "▁змі": 24634, + "▁moderne": 24635, + "English": 24636, + "▁Transfermarkt": 24637, + "▁bearing": 24638, + "▁cleared": 24639, + "▁сам": 24640, + "▁divs": 24641, + "ći": 24642, + "▁этой": 24643, + "▁Геор": 24644, + "scene": 24645, + "▁ages": 24646, + "GEN": 24647, + "rän": 24648, + "▁Toul": 24649, + "▁Abs": 24650, + "ját": 24651, + "▁mediante": 24652, + "▁empres": 24653, + "▁Employee": 24654, + "▁polynomials": 24655, + "▁optimize": 24656, + "▁выступа": 24657, + "fare": 24658, + "вей": 24659, + "xf": 24660, + "quez": 24661, + "▁botan": 24662, + "▁defend": 24663, + "▁Quart": 24664, + "Mont": 24665, + "vb": 24666, + "tick": 24667, + "WD": 24668, + "mine": 24669, + "▁modific": 24670, + "notification": 24671, + "▁denn": 24672, + "▁algo": 24673, + "▁Spo": 24674, + "▁mistrzost": 24675, + "/:": 24676, + "▁apresent": 24677, + "▁прод": 24678, + "Volume": 24679, + "ską": 24680, + "protected": 24681, + "▁Turkish": 24682, + "azy": 24683, + "▁pouv": 24684, + "▁período": 24685, + "skog": 24686, + "▁entropy": 24687, + "zed": 24688, + "тори": 24689, + "▁lij": 24690, + "boards": 24691, + "▁стату": 24692, + "Bool": 24693, + "▁polity": 24694, + "@\",": 24695, + "▁рік": 24696, + "née": 24697, + "▁Zug": 24698, + "▁Uniti": 24699, + "émet": 24700, + "atience": 24701, + "dimen": 24702, + "▁Steven": 24703, + "Ha": 24704, + "ACTION": 24705, + "▁wand": 24706, + "▁Navar": 24707, + "▁січня": 24708, + "Watch": 24709, + "▁Stuart": 24710, + "▁zde": 24711, + "▁контро": 24712, + "dataset": 24713, + "yó": 24714, + "▁Bush": 24715, + "▁себя": 24716, + "▁worthy": 24717, + "▁Ble": 24718, + "▁propor": 24719, + "▁Village": 24720, + "▁ry": 24721, + "▁voit": 24722, + "▁копия": 24723, + "▁zp": 24724, + "▁cura": 24725, + "▁Html": 24726, + "▁Dieser": 24727, + "▁Days": 24728, + "onnes": 24729, + "▁antigu": 24730, + "▁Staaten": 24731, + "▁faint": 24732, + "ongs": 24733, + "▁öst": 24734, + "Redirect": 24735, + "ель": 24736, + "atorial": 24737, + "▁bother": 24738, + "EditText": 24739, + "▁Giul": 24740, + "▁заво": 24741, + "▁pueblo": 24742, + "▁Mississippi": 24743, + "jak": 24744, + "▁wings": 24745, + "onc": 24746, + "ível": 24747, + "iencia": 24748, + "entlicht": 24749, + "▁BTW": 24750, + "ornal": 24751, + "▁Коро": 24752, + "▁одним": 24753, + "▁salv": 24754, + "▁finden": 24755, + "geo": 24756, + "▁авиа": 24757, + "attung": 24758, + "viv": 24759, + "▁Luther": 24760, + "▁общи": 24761, + "▁Rolle": 24762, + "▁Abraham": 24763, + "▁centered": 24764, + "▁slash": 24765, + "isat": 24766, + "emann": 24767, + "Os": 24768, + "парта": 24769, + "▁Pablo": 24770, + "▁collaboration": 24771, + "paths": 24772, + "édition": 24773, + "▁viewed": 24774, + "▁consisted": 24775, + "▁recovered": 24776, + "▁Mexican": 24777, + "▁Fix": 24778, + "▁spell": 24779, + "Special": 24780, + "▁Ст": 24781, + "esseur": 24782, + "▁Украины": 24783, + "former": 24784, + "▁św": 24785, + "▁zeros": 24786, + "▁Straßen": 24787, + "▁organisation": 24788, + "üssen": 24789, + "▁Sierra": 24790, + "▁Season": 24791, + "▁volont": 24792, + "BeanFactory": 24793, + "▁помощ": 24794, + "▁pressing": 24795, + "▁equivalence": 24796, + "▁catt": 24797, + "icity": 24798, + "▁accomplished": 24799, + "▁yo": 24800, + "▁sic": 24801, + "▁imports": 24802, + "▁accommod": 24803, + "▁Porto": 24804, + "▁яка": 24805, + "▁loan": 24806, + "тики": 24807, + "▁checkout": 24808, + "▁assess": 24809, + "▁Population": 24810, + "urent": 24811, + "clojure": 24812, + "▁Santos": 24813, + "▁információ": 24814, + "POS": 24815, + "▁gare": 24816, + "▁kick": 24817, + "▁radical": 24818, + "▁Peace": 24819, + "▁streaming": 24820, + "camp": 24821, + "ząt": 24822, + "говор": 24823, + "▁Regierung": 24824, + "▁proceeded": 24825, + "fm": 24826, + "лены": 24827, + "▁earnest": 24828, + "▁Parad": 24829, + "requests": 24830, + "▁Raum": 24831, + "šč": 24832, + "▁policies": 24833, + "▁Tig": 24834, + "▁sitt": 24835, + "▁Energy": 24836, + "▁purely": 24837, + "▁Haut": 24838, + "▁Speed": 24839, + "bio": 24840, + "▁orange": 24841, + "▁biggest": 24842, + "▁britannique": 24843, + "▁Notable": 24844, + "vu": 24845, + "лении": 24846, + "бин": 24847, + "▁Nash": 24848, + "щение": 24849, + "▁ciel": 24850, + "adémie": 24851, + "▁грудня": 24852, + "▁joue": 24853, + "▁voted": 24854, + "rico": 24855, + "▁гор": 24856, + "▁команду": 24857, + "itivity": 24858, + "▁ще": 24859, + "▁definite": 24860, + "uropa": 24861, + "!\");": 24862, + "Defaults": 24863, + "▁некоторы": 24864, + "édération": 24865, + "▁silly": 24866, + "▁talked": 24867, + "reu": 24868, + "▁Lomb": 24869, + "▁statue": 24870, + "кта": 24871, + "юр": 24872, + "umably": 24873, + "▁городе": 24874, + "▁Runtime": 24875, + "▁diagn": 24876, + "▁retro": 24877, + "▁Sverige": 24878, + "▁inicial": 24879, + "ienza": 24880, + "▁figlio": 24881, + "▁zog": 24882, + "▁rey": 24883, + "▁Rund": 24884, + "тный": 24885, + "▁ceased": 24886, + "erno": 24887, + "▁esa": 24888, + "▁trouv": 24889, + "▁Gemeinden": 24890, + "▁comercial": 24891, + "skap": 24892, + "enario": 24893, + "▁juris": 24894, + "TB": 24895, + "нала": 24896, + "▁vij": 24897, + "VO": 24898, + "▁clin": 24899, + "jör": 24900, + "сан": 24901, + "owała": 24902, + "ribución": 24903, + "▁ursprüng": 24904, + "▁condem": 24905, + "▁Stage": 24906, + "▁mixing": 24907, + "▁різ": 24908, + "▁fans": 24909, + "ház": 24910, + "social": 24911, + "zan": 24912, + "▁свой": 24913, + "Cookie": 24914, + "▁Roland": 24915, + "azionale": 24916, + "▁Sloven": 24917, + "▁Fiche": 24918, + "▁Sé": 24919, + "hä": 24920, + "▁officials": 24921, + "▁înt": 24922, + "Interceptor": 24923, + "Tables": 24924, + "▁davon": 24925, + "initialize": 24926, + "]=\"": 24927, + "▁Body": 24928, + "▁Upper": 24929, + "▁Collect": 24930, + "▁Zürich": 24931, + "Horizontal": 24932, + "Typ": 24933, + "▁político": 24934, + "▁RewriteCond": 24935, + "▁hoped": 24936, + "▁anxious": 24937, + "Liter": 24938, + "jahr": 24939, + "▁assemble": 24940, + "▁crypt": 24941, + "lahoma": 24942, + "ASH": 24943, + "▁Бри": 24944, + "▁Cic": 24945, + "twitter": 24946, + "hyper": 24947, + "▁Tell": 24948, + "ільки": 24949, + "вобо": 24950, + "▁bazie": 24951, + "▁contemporary": 24952, + "▁Parameter": 24953, + "stwa": 24954, + "▁bekend": 24955, + "cock": 24956, + "previous": 24957, + "enska": 24958, + "▁caller": 24959, + "]])": 24960, + "▁Raz": 24961, + "▁Selon": 24962, + "▁proposal": 24963, + "▁bý": 24964, + "▁Sied": 24965, + "▁Arbeits": 24966, + "▁pride": 24967, + "▁slope": 24968, + "idé": 24969, + "gradient": 24970, + "▁Джерела": 24971, + "▁SH": 24972, + "▁разрабо": 24973, + "iversity": 24974, + "сподар": 24975, + "\\{\\": 24976, + "▁стали": 24977, + "▁Einzel": 24978, + "▁rgba": 24979, + "▁Anim": 24980, + "▁alles": 24981, + "бар": 24982, + "erte": 24983, + "▁réalisé": 24984, + "Institut": 24985, + "▁markup": 24986, + "▁vars": 24987, + "▁gam": 24988, + "▁Василь": 24989, + "izza": 24990, + "▁Cob": 24991, + "▁Metal": 24992, + "▁leak": 24993, + "▁Lanc": 24994, + "Switch": 24995, + "Delay": 24996, + "atuur": 24997, + "▁четы": 24998, + "▁англий": 24999, + "▁legacy": 25000, + "▁desarroll": 25001, + "▁topological": 25002, + "▁jeweils": 25003, + "▁Nederlandse": 25004, + "▁atmosphere": 25005, + "urban": 25006, + "▁slov": 25007, + "▁lawyer": 25008, + "pecially": 25009, + "▁alternate": 25010, + "▁paramet": 25011, + "▁establishment": 25012, + "▁woods": 25013, + "PD": 25014, + "▁наи": 25015, + "▁mang": 25016, + "▁wechselte": 25017, + "ську": 25018, + ".=": 25019, + "▁fifteen": 25020, + "SUM": 25021, + "▁Fro": 25022, + "▁LED": 25023, + "owano": 25024, + "ствие": 25025, + "▁Données": 25026, + "tol": 25027, + "żyn": 25028, + "cref": 25029, + "ствии": 25030, + "horn": 25031, + "▁сооб": 25032, + "▁оборо": 25033, + "▁Complete": 25034, + "“)": 25035, + "▁kindly": 25036, + "▁Chamber": 25037, + "ség": 25038, + "WH": 25039, + "▁ambient": 25040, + "кро": 25041, + "▁cheval": 25042, + "▁написа": 25043, + "flu": 25044, + "▁Offiz": 25045, + "mate": 25046, + "natural": 25047, + "separ": 25048, + "empre": 25049, + "ViewHolder": 25050, + "fw": 25051, + "▁letech": 25052, + "▁trailing": 25053, + "atri": 25054, + "▁Gó": 25055, + "▁Bonn": 25056, + "▁unlikely": 25057, + "RAM": 25058, + "enst": 25059, + "Stats": 25060, + "▁политиче": 25061, + ")--(": 25062, + "▁trom": 25063, + "!...": 25064, + "▁Meanwhile": 25065, + "стана": 25066, + "▁Reino": 25067, + "▁Arist": 25068, + "$}}%": 25069, + "▁solem": 25070, + "closure": 25071, + "ignation": 25072, + "łod": 25073, + "▁divor": 25074, + "▁международ": 25075, + "=\"": 25230, + "Orientation": 25231, + "cid": 25232, + "Cart": 25233, + "▁murm": 25234, + "▁assez": 25235, + "▁linking": 25236, + "building": 25237, + "▁reconna": 25238, + "▁shook": 25239, + "managed": 25240, + "landa": 25241, + "▁León": 25242, + "▁création": 25243, + "дой": 25244, + "ocity": 25245, + "▁wij": 25246, + "▁wieś": 25247, + "xtart": 25248, + "▁Move": 25249, + "lungen": 25250, + "ствует": 25251, + "orney": 25252, + "optional": 25253, + "macro": 25254, + "Condition": 25255, + "▁squares": 25256, + "▁mistaken": 25257, + "ánt": 25258, + "▁Ris": 25259, + "▁sentences": 25260, + "erea": 25261, + "▁mij": 25262, + "Und": 25263, + "▁nombr": 25264, + "zA": 25265, + "▁Independent": 25266, + "▁preview": 25267, + "imas": 25268, + "▁males": 25269, + "inental": 25270, + "Thank": 25271, + "▁popol": 25272, + "▁pover": 25273, + "▁grasp": 25274, + "▁imped": 25275, + "▁campionato": 25276, + "▁Wei": 25277, + "▁titled": 25278, + "▁Además": 25279, + "▁Password": 25280, + "▁Pam": 25281, + "UILD": 25282, + "▁липня": 25283, + "werb": 25284, + "................": 25285, + "▁Río": 25286, + "▁teeth": 25287, + "bp": 25288, + "▁SW": 25289, + "ulaire": 25290, + "▁seized": 25291, + "▁Stef": 25292, + "úl": 25293, + "▁viz": 25294, + "iony": 25295, + "▁junt": 25296, + "▁která": 25297, + "▁września": 25298, + "<>": 25299, + "▁surg": 25300, + "▁tutte": 25301, + "▁Hob": 25302, + "повід": 25303, + "▁wohl": 25304, + "▁trag": 25305, + "▁Crown": 25306, + "▁trova": 25307, + "стову": 25308, + "▁Vienna": 25309, + "esehen": 25310, + "▁metropol": 25311, + "▁reflected": 25312, + "тета": 25313, + "▁traduc": 25314, + "▁Bast": 25315, + "▁erschien": 25316, + "woord": 25317, + "()\"": 25318, + "talet": 25319, + "▁roads": 25320, + "ведения": 25321, + "ührung": 25322, + "▁cogn": 25323, + "▁Valle": 25324, + "▁landing": 25325, + "▁Regex": 25326, + "▁Iowa": 25327, + "dział": 25328, + "▁erreichte": 25329, + "aum": 25330, + "▁founder": 25331, + "apolis": 25332, + "Compiler": 25333, + "▁kop": 25334, + "▁marc": 25335, + "▁територ": 25336, + "))`": 25337, + "▁lei": 25338, + "geon": 25339, + "▁weapons": 25340, + "▁horn": 25341, + "▁elif": 25342, + "▁Capital": 25343, + "će": 25344, + "▁forall": 25345, + "▁эта": 25346, + "preview": 25347, + "▁DNA": 25348, + "▁sid": 25349, + "orch": 25350, + "▁Ras": 25351, + "▁arab": 25352, + "Best": 25353, + "▁счита": 25354, + "▁López": 25355, + "ança": 25356, + "▁funkc": 25357, + "▁tienen": 25358, + ";&": 25359, + "museum": 25360, + "▁Err": 25361, + "▁resort": 25362, + "Nov": 25363, + "▁kal": 25364, + "MW": 25365, + "шь": 25366, + "anchor": 25367, + "▁роман": 25368, + "leading": 25369, + "▁manten": 25370, + "▁Silva": 25371, + "dade": 25372, + "▁designated": 25373, + "▁revista": 25374, + "Oct": 25375, + "percent": 25376, + "▁уні": 25377, + "identifier": 25378, + "mass": 25379, + "@@": 25380, + "ulsion": 25381, + "germeister": 25382, + "▁predicted": 25383, + "▁сви": 25384, + "жной": 25385, + "▁Ergeb": 25386, + "▁cust": 25387, + "▁removes": 25388, + "charg": 25389, + "пример": 25390, + "▁forming": 25391, + "asma": 25392, + "stdout": 25393, + "Fun": 25394, + "yme": 25395, + "tered": 25396, + "ursive": 25397, + "ighed": 25398, + "▁след": 25399, + "verband": 25400, + "▁LOG": 25401, + "rams": 25402, + "éon": 25403, + "endra": 25404, + "▁Bereich": 25405, + "▁temporal": 25406, + "▁langue": 25407, + "▁Inn": 25408, + "▁moreover": 25409, + "▁tutorials": 25410, + "Middle": 25411, + "▁советский": 25412, + "▁maintenance": 25413, + "asures": 25414, + "▁válto": 25415, + "BASE": 25416, + "▁disappear": 25417, + "ския": 25418, + "▁conocido": 25419, + "▁Нау": 25420, + "▁Libert": 25421, + "▁Harold": 25422, + "▁lifetime": 25423, + "▁Tür": 25424, + "▁zawod": 25425, + "omic": 25426, + "▁Retrieved": 25427, + "architecture": 25428, + "čka": 25429, + "iformes": 25430, + "development": 25431, + "ordnung": 25432, + "Inf": 25433, + "leben": 25434, + "▁Stars": 25435, + "signal": 25436, + "▁grammar": 25437, + "▁corso": 25438, + "▁Wagner": 25439, + "▁geht": 25440, + "▁royale": 25441, + "warn": 25442, + "umbled": 25443, + "▁instit": 25444, + "▁Ши": 25445, + "hh": 25446, + "▁refuge": 25447, + "▁favorite": 25448, + "ierto": 25449, + "▁condado": 25450, + "▁Ther": 25451, + "▁человека": 25452, + "▁Food": 25453, + "▁seizo": 25454, + "▁Initialize": 25455, + "▁connu": 25456, + "▁overlap": 25457, + "▁Emil": 25458, + "▁Martí": 25459, + "▁жовтня": 25460, + "erva": 25461, + "▁boats": 25462, + "ações": 25463, + "▁derrot": 25464, + "▁malloc": 25465, + "▁conject": 25466, + "jk": 25467, + "▁sare": 25468, + "лемен": 25469, + "▁sums": 25470, + "Authorization": 25471, + "▁Kun": 25472, + "]$,": 25473, + "gemeinde": 25474, + "odot": 25475, + "defin": 25476, + "▁emission": 25477, + "▁Крас": 25478, + "▁appart": 25479, + "▁stopping": 25480, + "▁Сред": 25481, + "▁conjug": 25482, + "▁insight": 25483, + "▁Broadcast": 25484, + "▁PMID": 25485, + "▁advantages": 25486, + "enes": 25487, + "▁residence": 25488, + "ljen": 25489, + "isseur": 25490, + "▁pubblicato": 25491, + "▁GitHub": 25492, + "▁Peru": 25493, + "▁galaxies": 25494, + "▁annotations": 25495, + "gas": 25496, + "▁répond": 25497, + "Js": 25498, + "▁independently": 25499, + "NP": 25500, + "▁inqu": 25501, + "▁grounds": 25502, + "Components": 25503, + "▁anten": 25504, + "▁вз": 25505, + "▁hos": 25506, + "▁sint": 25507, + "▁hiding": 25508, + "▁województ": 25509, + "Messages": 25510, + "▁показа": 25511, + "===": 25512, + "▁Abstract": 25513, + "▁läng": 25514, + "▁Formula": 25515, + "dawn": 25516, + "▁designs": 25517, + "Img": 25518, + "▁Portuguese": 25519, + "▁incluy": 25520, + "avigator": 25521, + "▁Brothers": 25522, + "▁continent": 25523, + "▁evidently": 25524, + "race": 25525, + "цького": 25526, + "▁reck": 25527, + "▁серпня": 25528, + "▁Grey": 25529, + "▁appeal": 25530, + "▁unlike": 25531, + "▁powershell": 25532, + "▁racc": 25533, + "fers": 25534, + "▁burning": 25535, + "fasst": 25536, + "installed": 25537, + "▁Give": 25538, + "▁colonial": 25539, + "▁€": 25540, + "▁Rö": 25541, + "▁christ": 25542, + "nehm": 25543, + "там": 25544, + "▁corpo": 25545, + "▁convirti": 25546, + "yter": 25547, + "Sym": 25548, + "▁Greece": 25549, + "▁moth": 25550, + "▁Johan": 25551, + "▁monarch": 25552, + "▁Download": 25553, + "▁craft": 25554, + "už": 25555, + "▁Luke": 25556, + "▁suffix": 25557, + "\\/": 25558, + "Have": 25559, + "▁карь": 25560, + "▁comfortable": 25561, + "▁tips": 25562, + "▁Після": 25563, + "▁броја": 25564, + "▁информа": 25565, + "MQ": 25566, + "бран": 25567, + "▁tx": 25568, + "▁slaves": 25569, + "▁firewall": 25570, + "▁Forces": 25571, + "atif": 25572, + "▁Quellen": 25573, + "▁théâtre": 25574, + "льных": 25575, + "▁расположен": 25576, + "▁Details": 25577, + "ką": 25578, + "▁longitud": 25579, + "INST": 25580, + "▁naval": 25581, + "Fernseh": 25582, + "essel": 25583, + "Grad": 25584, + "▁belang": 25585, + "▁aggi": 25586, + "ZygoteInit": 25587, + "łów": 25588, + "▁Sug": 25589, + "sil": 25590, + "▁exterior": 25591, + "щі": 25592, + "ORD": 25593, + "enser": 25594, + "▁rapide": 25595, + "▁темпера": 25596, + "incie": 25597, + "Si": 25598, + "avam": 25599, + "arded": 25600, + "▁Added": 25601, + "Endpoint": 25602, + "hardt": 25603, + "стран": 25604, + "▁estilo": 25605, + "▁Haz": 25606, + "▁musste": 25607, + "uo": 25608, + "iii": 25609, + "▁ří": 25610, + "anzen": 25611, + "жений": 25612, + "aha": 25613, + "ARNING": 25614, + "▁renov": 25615, + "▁divine": 25616, + "▁convinced": 25617, + "▁humans": 25618, + "▁departure": 25619, + "▁Mediter": 25620, + "qa": 25621, + "▁possessed": 25622, + "▁церкви": 25623, + "giv": 25624, + "▁свої": 25625, + "▁Ortste": 25626, + "Rich": 25627, + "puis": 25628, + "increment": 25629, + "▁Hannover": 25630, + "▁ucz": 25631, + "Done": 25632, + "▁alguns": 25633, + "FIX": 25634, + "▁Heritage": 25635, + "removeClass": 25636, + "фер": 25637, + "▁abc": 25638, + "Dr": 25639, + "▁семей": 25640, + "{:": 25641, + "▁seule": 25642, + "zeichnungen": 25643, + "addy": 25644, + "▁París": 25645, + "üsseld": 25646, + "▁reception": 25647, + "folio": 25648, + "tiny": 25649, + "▁recensement": 25650, + "▁Nur": 25651, + "▁kier": 25652, + "▁gmina": 25653, + "staat": 25654, + "ándose": 25655, + "ческая": 25656, + "▁speaker": 25657, + "▁exponential": 25658, + "▁Dieu": 25659, + "▁приз": 25660, + "▁Rafael": 25661, + "▁ggplot": 25662, + "▁Template": 25663, + "oure": 25664, + "▁Inner": 25665, + "ogne": 25666, + "igare": 25667, + "▁Arte": 25668, + "▁Cov": 25669, + "▁aufgrund": 25670, + "▁Бы": 25671, + "▁ceremony": 25672, + "▁Spart": 25673, + "jective": 25674, + "yi": 25675, + "▁inizi": 25676, + "▁latin": 25677, + "▁Nevertheless": 25678, + "▁Done": 25679, + "тря": 25680, + "▁Arr": 25681, + "season": 25682, + "▁складу": 25683, + "▁podczas": 25684, + "▁Beautiful": 25685, + "▁Weltkrieg": 25686, + "▁зо": 25687, + "▁overcome": 25688, + "▁Praha": 25689, + "▁району": 25690, + "▁subscription": 25691, + "igent": 25692, + "▁пока": 25693, + "latex": 25694, + "▁beach": 25695, + "▁роках": 25696, + "geg": 25697, + "▁probl": 25698, + "arguments": 25699, + "▁organizations": 25700, + "▁Nan": 25701, + "▁stones": 25702, + "▁Hunter": 25703, + "▁regularly": 25704, + "шого": 25705, + "▁flexible": 25706, + "opts": 25707, + "ář": 25708, + "witz": 25709, + "▁')": 25710, + "PASS": 25711, + "▁kraj": 25712, + "▁fake": 25713, + "heits": 25714, + "osph": 25715, + "parseInt": 25716, + "FALSE": 25717, + "▁profess": 25718, + "people": 25719, + "▁precip": 25720, + "dirname": 25721, + "▁perpet": 25722, + "▁Updated": 25723, + "rayed": 25724, + "▁provoc": 25725, + "▁травня": 25726, + "▁categorie": 25727, + "▁тео": 25728, + "сну": 25729, + "otr": 25730, + "▁Верхов": 25731, + "▁compét": 25732, + "Cost": 25733, + "▁wider": 25734, + "▁Obviously": 25735, + "писан": 25736, + "▁настоя": 25737, + "▁seeking": 25738, + "()),": 25739, + "▁équipe": 25740, + "▁commits": 25741, + "▁Svens": 25742, + "ябре": 25743, + "atern": 25744, + "▁heter": 25745, + "▁Bootstrap": 25746, + "éné": 25747, + "▁derivatives": 25748, + "▁Detroit": 25749, + "▁provincial": 25750, + "onomie": 25751, + "EB": 25752, + "▁cuer": 25753, + "▁относи": 25754, + "▁ней": 25755, + ")».": 25756, + "▁Ciudad": 25757, + "IAL": 25758, + "zyst": 25759, + ")\")": 25760, + "▁Alc": 25761, + "blogs": 25762, + "▁parmi": 25763, + "▁Albums": 25764, + "▁Boliv": 25765, + "▁clés": 25766, + "Products": 25767, + "uerdo": 25768, + "▁gelang": 25769, + "znik": 25770, + "hagen": 25771, + "anonymous": 25772, + "▁svg": 25773, + "▁Conseil": 25774, + "▁Ari": 25775, + "coli": 25776, + "▁czy": 25777, + "▁CV": 25778, + "▁ford": 25779, + "▁Außer": 25780, + "▁CI": 25781, + "▁tempt": 25782, + "▁Organisation": 25783, + "áš": 25784, + "▁cycles": 25785, + "▁geslacht": 25786, + "▁людей": 25787, + "ými": 25788, + "▁Spieler": 25789, + "efe": 25790, + "▁Marvel": 25791, + "▁portal": 25792, + "▁Серг": 25793, + "▁grado": 25794, + "▁handlers": 25795, + "▁Interface": 25796, + "AME": 25797, + "▁seriously": 25798, + "▁Binding": 25799, + "▁Rang": 25800, + "▁nada": 25801, + "oce": 25802, + "▁integra": 25803, + "ocracy": 25804, + "▁альбо": 25805, + "▁stability": 25806, + "Uns": 25807, + "▁veter": 25808, + "------+": 25809, + "▁serait": 25810, + "▁omitted": 25811, + "▁uncertainty": 25812, + "onian": 25813, + "▁resto": 25814, + "▁желез": 25815, + "▁одной": 25816, + "▁Bevölkerung": 25817, + "▁Kraft": 25818, + "стр": 25819, + "▁Moscow": 25820, + "lane": 25821, + "arab": 25822, + "▁spole": 25823, + "▁своего": 25824, + "?:": 25825, + "START": 25826, + "▁интер": 25827, + "▁sympt": 25828, + "▁Lorenzo": 25829, + "▁ejec": 25830, + "▁prosper": 25831, + "DAT": 25832, + "лимпий": 25833, + "▁shapes": 25834, + "valueOf": 25835, + "▁associate": 25836, + "▁Medien": 25837, + "ENV": 25838, + "▁сре": 25839, + "▁државе": 25840, + "▁theories": 25841, + "heb": 25842, + "▁Wayne": 25843, + "▁StringBuilder": 25844, + "iwers": 25845, + "▁Maps": 25846, + "Phys": 25847, + "\\}\\": 25848, + "▁Parte": 25849, + "▁Hudson": 25850, + "лон": 25851, + "Lng": 25852, + "▁ры": 25853, + "стей": 25854, + "lau": 25855, + "ancer": 25856, + "▁Coppa": 25857, + "▁війсь": 25858, + "▁ucc": 25859, + "▁Pattern": 25860, + "▁garbage": 25861, + "▁González": 25862, + "▁Encyclop": 25863, + "etten": 25864, + "External": 25865, + "REF": 25866, + ">;": 25867, + "lijke": 25868, + "▁intersect": 25869, + "▁Unless": 25870, + "▁deeper": 25871, + "▁жі": 25872, + "dent": 25873, + "lef": 25874, + "▁chanson": 25875, + "▁diffus": 25876, + "▁primi": 25877, + "▁Wieder": 25878, + "▁aws": 25879, + "owana": 25880, + "▁sociale": 25881, + "ikk": 25882, + "льной": 25883, + "▁divisions": 25884, + "лосо": 25885, + "▁Claud": 25886, + "▁Ya": 25887, + "▁voce": 25888, + "▁Branch": 25889, + "▁fitted": 25890, + "orr": 25891, + "ôtel": 25892, + "stroke": 25893, + "listener": 25894, + "iman": 25895, + "восто": 25896, + "▁Shah": 25897, + "Introduction": 25898, + "▁newline": 25899, + "▁tile": 25900, + "']))": 25901, + "▁travaux": 25902, + "CONFIG": 25903, + "▁quadratic": 25904, + "onneur": 25905, + "▁Giorg": 25906, + "▁identific": 25907, + "éricaine": 25908, + "▁UIView": 25909, + "▁Liberal": 25910, + "▁Koch": 25911, + "▁Berliner": 25912, + "▁notifications": 25913, + "▁Susan": 25914, + "▁cadre": 25915, + "▁Kloster": 25916, + "▁examine": 25917, + "▁един": 25918, + "▁UNION": 25919, + "▁alten": 25920, + "▁finit": 25921, + "▁pedig": 25922, + "cyk": 25923, + "▁mouvement": 25924, + "IOS": 25925, + "▁британ": 25926, + "▁bout": 25927, + "▁автор": 25928, + "ництво": 25929, + "ето": 25930, + "lera": 25931, + "cls": 25932, + "▁Ley": 25933, + "amy": 25934, + "agens": 25935, + "ashed": 25936, + "▁okrę": 25937, + "гро": 25938, + "ellett": 25939, + "▁Fellow": 25940, + "▁manifold": 25941, + "$),": 25942, + "lder": 25943, + "▁voz": 25944, + "▁begg": 25945, + "▁baron": 25946, + "▁fid": 25947, + "▁firing": 25948, + "ilda": 25949, + "dek": 25950, + "AU": 25951, + "itare": 25952, + "▁Ara": 25953, + "▁Exit": 25954, + "▁cinemat": 25955, + "▁intros": 25956, + "▁contacts": 25957, + "пени": 25958, + "▁möglich": 25959, + "▁Singapore": 25960, + "ström": 25961, + "▁Hern": 25962, + "▁sixth": 25963, + "▁publications": 25964, + "vie": 25965, + "▁Hat": 25966, + "▁accepting": 25967, + "ác": 25968, + "stwo": 25969, + "▁quietly": 25970, + "Photo": 25971, + "▁basket": 25972, + "▁eigenvalues": 25973, + "▁médec": 25974, + "▁Olimp": 25975, + "▁церков": 25976, + "alin": 25977, + "consum": 25978, + "▁lassen": 25979, + "▁анти": 25980, + "▁Seq": 25981, + "\";\r": 25982, + "rare": 25983, + "▁$|\\": 25984, + "▁nick": 25985, + "dflare": 25986, + "Vec": 25987, + "bindung": 25988, + "▁bg": 25989, + "changes": 25990, + "Days": 25991, + "▁Mouse": 25992, + "▁waited": 25993, + "▁Tomatoes": 25994, + "▁fas": 25995, + "verte": 25996, + "▁succession": 25997, + "сор": 25998, + "▁sols": 25999, + "▁Render": 26000, + "▁leadership": 26001, + "▁significance": 26002, + "▁gauche": 26003, + "cano": 26004, + "▁Pie": 26005, + "ensoort": 26006, + "▁cambio": 26007, + "▁уз": 26008, + "▁endeav": 26009, + "Completed": 26010, + "▁Архивная": 26011, + "jd": 26012, + "órico": 26013, + "▁churches": 26014, + "▁animate": 26015, + "SG": 26016, + "compute": 26017, + "▁uniformly": 26018, + "INIT": 26019, + "lles": 26020, + "HttpRequest": 26021, + "Ко": 26022, + "Diff": 26023, + "▁sah": 26024, + "airo": 26025, + "maybe": 26026, + "UTE": 26027, + "▁Dow": 26028, + "human": 26029, + "▁aurait": 26030, + "dark": 26031, + "▁repair": 26032, + "▁ner": 26033, + "▁Dabei": 26034, + "▁Botan": 26035, + "Original": 26036, + "ază": 26037, + "▁NAT": 26038, + "imper": 26039, + "▁Youth": 26040, + "thes": 26041, + "▁округа": 26042, + "▁Flo": 26043, + "▁breakfast": 26044, + "urls": 26045, + "▁übernahm": 26046, + "ários": 26047, + "▁Orange": 26048, + "▁Affairs": 26049, + "ske": 26050, + "▁notify": 26051, + "imoine": 26052, + "▁Arena": 26053, + "▁liberal": 26054, + "▁obec": 26055, + "ifa": 26056, + "guez": 26057, + "iono": 26058, + "ператор": 26059, + "▁retained": 26060, + "failed": 26061, + "bine": 26062, + "тных": 26063, + "▁CGRect": 26064, + "camera": 26065, + "idenote": 26066, + "KB": 26067, + "▁lights": 26068, + "▁Pictures": 26069, + "▁Squadron": 26070, + "▁Volk": 26071, + "▁burg": 26072, + ",]": 26073, + "Gi": 26074, + "êque": 26075, + "makeText": 26076, + "▁everybody": 26077, + "▁Hyper": 26078, + "▁Deux": 26079, + "▁glory": 26080, + "presentation": 26081, + "onica": 26082, + "▁frère": 26083, + "aget": 26084, + "▁hints": 26085, + "▁tunnel": 26086, + "▁Ej": 26087, + "ális": 26088, + "▁Viv": 26089, + "ственных": 26090, + "▁caps": 26091, + "PART": 26092, + "oci": 26093, + "▁prices": 26094, + "currency": 26095, + "▁achter": 26096, + "romagnet": 26097, + "gender": 26098, + "▁suis": 26099, + "versions": 26100, + "▁Training": 26101, + "inside": 26102, + "ege": 26103, + "▁totale": 26104, + "▁Daar": 26105, + "▁grudnia": 26106, + "▁Ier": 26107, + "▁occasions": 26108, + "▁kde": 26109, + "▁tensorflow": 26110, + "▁ór": 26111, + "Methods": 26112, + "▁looping": 26113, + "▁directeur": 26114, + "kę": 26115, + "▁isomorphism": 26116, + "▁João": 26117, + "▁aligned": 26118, + "онов": 26119, + "urger": 26120, + "▁nova": 26121, + "morrow": 26122, + "altern": 26123, + "HD": 26124, + "▁marqu": 26125, + "ativas": 26126, + "ggreg": 26127, + "▁ancien": 26128, + "nit": 26129, + "▁secured": 26130, + "mier": 26131, + "▁Ole": 26132, + "▁инте": 26133, + "▁minus": 26134, + "▁clearer": 26135, + "▁nello": 26136, + "▁információk": 26137, + "▁propre": 26138, + "{.": 26139, + "ilog": 26140, + "▁Quick": 26141, + "▁accus": 26142, + "employee": 26143, + "▁зу": 26144, + "цький": 26145, + "фіцій": 26146, + "▁публи": 26147, + "▁bent": 26148, + "▁позво": 26149, + "▁Пор": 26150, + "ází": 26151, + "ánico": 26152, + "emptyset": 26153, + "▁surtout": 26154, + "reno": 26155, + "unya": 26156, + "▁уез": 26157, + "▁Millionen": 26158, + "▁listopada": 26159, + "▁Maine": 26160, + "▁grupos": 26161, + "▁Storage": 26162, + "▁apple": 26163, + "▁Lö": 26164, + "oused": 26165, + "дро": 26166, + "sci": 26167, + "▁hibernate": 26168, + "dog": 26169, + "▁восто": 26170, + "▁intensity": 26171, + "legend": 26172, + "▁Wille": 26173, + "▁szerint": 26174, + "gesellschaft": 26175, + "▁Living": 26176, + "allo": 26177, + "▁Split": 26178, + "dru": 26179, + "need": 26180, + "▁Джон": 26181, + "▁Swiss": 26182, + "▁spraw": 26183, + "▁beho": 26184, + "▁fotograf": 26185, + "▁rencontre": 26186, + "▁kis": 26187, + "▁signing": 26188, + "akult": 26189, + "▁indexing": 26190, + "apor": 26191, + "▁conception": 26192, + "aggreg": 26193, + "▁Савез": 26194, + "▁affair": 26195, + "ění": 26196, + "August": 26197, + "▁секре": 26198, + "▁mieszkań": 26199, + "UIImage": 26200, + "▁bishop": 26201, + "▁servants": 26202, + "▁trail": 26203, + "digit": 26204, + "▁joins": 26205, + "▁Near": 26206, + "öffentlich": 26207, + ">{": 26208, + "▁skład": 26209, + "geführt": 26210, + "▁Holz": 26211, + "▁Militär": 26212, + "achi": 26213, + "Upper": 26214, + "pine": 26215, + "utzt": 26216, + "▁nuova": 26217, + "ibration": 26218, + "▁Bien": 26219, + "▁первый": 26220, + "▁Creating": 26221, + "Once": 26222, + "▁einmal": 26223, + "▁geometric": 26224, + "stvo": 26225, + "▁kW": 26226, + "▁decomposition": 26227, + "▁comedy": 26228, + "▁activation": 26229, + "▁angry": 26230, + "illeurs": 26231, + "▁instantly": 26232, + "▁suggesting": 26233, + "▁Clay": 26234, + "cot": 26235, + "▁Gén": 26236, + "($(": 26237, + "unwrap": 26238, + "▁lifted": 26239, + "▁Kit": 26240, + "▁linea": 26241, + "ок": 26242, + "hart": 26243, + "->_": 26244, + "▁nuit": 26245, + "▁Issue": 26246, + "лии": 26247, + "▁röm": 26248, + "Tasks": 26249, + "▁Sr": 26250, + "▁seis": 26251, + "asia": 26252, + "}}$.": 26253, + ":{": 26254, + "controls": 26255, + "▁Stim": 26256, + "▁Recht": 26257, + "ociación": 26258, + "▁Natal": 26259, + "▁Philippines": 26260, + "ulen": 26261, + "Fixed": 26262, + "▁switched": 26263, + "Zip": 26264, + "ospel": 26265, + "▁начале": 26266, + "▁Blan": 26267, + "urst": 26268, + "▁autour": 26269, + "Ca": 26270, + "▁latitude": 26271, + "▁Frei": 26272, + "▁Musée": 26273, + "▁Kurz": 26274, + "▁região": 26275, + "swap": 26276, + "▁hate": 26277, + "▁modifications": 26278, + "▁Ком": 26279, + "▁Antoine": 26280, + "uga": 26281, + "RECT": 26282, + "éter": 26283, + "GROUP": 26284, + "▁sacrific": 26285, + "▁Whe": 26286, + "▁Stevens": 26287, + "ologische": 26288, + "Summary": 26289, + "obs": 26290, + "hnen": 26291, + "<%=": 26292, + "dienst": 26293, + "remark": 26294, + "▁veröffentlicht": 26295, + "ел": 26296, + "▁Mock": 26297, + "▁Льв": 26298, + "▁três": 26299, + "gb": 26300, + "▁celebrated": 26301, + "▁Eb": 26302, + "▁costa": 26303, + "▁Geographic": 26304, + "▁attachment": 26305, + "mannschaft": 26306, + "▁dependence": 26307, + "��": 26308, + "▁attitude": 26309, + "etal": 26310, + "vic": 26311, + "baut": 26312, + "▁дов": 26313, + "▁interven": 26314, + "▁Gü": 26315, + "ónica": 26316, + "▁Pon": 26317, + "▁disponible": 26318, + "▁Feb": 26319, + "▁worship": 26320, + "▁Specifically": 26321, + "Hy": 26322, + "iju": 26323, + "▁cb": 26324, + "▁spac": 26325, + "leveland": 26326, + "▁localidad": 26327, + "▁preceding": 26328, + "▁Hessen": 26329, + "xp": 26330, + "▁Wein": 26331, + "▁Româ": 26332, + "▁giorno": 26333, + "▁квітня": 26334, + "llaços": 26335, + "▁Academia": 26336, + "▁kül": 26337, + "▁Års": 26338, + "▁нај": 26339, + "uclide": 26340, + "Internet": 26341, + "orton": 26342, + "▁corn": 26343, + "ями": 26344, + "▁\"*": 26345, + "▁Felix": 26346, + "apat": 26347, + "▁свои": 26348, + "MIT": 26349, + "made": 26350, + "▁locomot": 26351, + "хода": 26352, + "FP": 26353, + "▁pm": 26354, + ".*;": 26355, + "▁Hamm": 26356, + "`}": 26357, + "LayoutInflater": 26358, + "==\"": 26359, + "▁Eur": 26360, + "▁dogs": 26361, + "жении": 26362, + "▁azon": 26363, + "▁emulator": 26364, + "▁ricon": 26365, + "beeld": 26366, + "▁ну": 26367, + "▁approximate": 26368, + "LM": 26369, + "▁Bond": 26370, + "▁enh": 26371, + "ędz": 26372, + "▁solit": 26373, + "RelativeLayout": 26374, + "eteor": 26375, + "amentos": 26376, + "▁indirect": 26377, + "iből": 26378, + "▁gros": 26379, + "▁Originals": 26380, + "commands": 26381, + "Export": 26382, + "▁Avec": 26383, + "▁solemn": 26384, + "▁correction": 26385, + "▁проводи": 26386, + "▁Mosk": 26387, + "▁подо": 26388, + "▁gebied": 26389, + "▁następ": 26390, + "▁Driver": 26391, + "▁Ook": 26392, + "▁Vec": 26393, + "▁lungo": 26394, + "ficos": 26395, + "▁svol": 26396, + "▁kid": 26397, + "nja": 26398, + "▁Hr": 26399, + "▁поддер": 26400, + "▁visibility": 26401, + "▁Méd": 26402, + "▁cpu": 26403, + "discussion": 26404, + "Asset": 26405, + "▁defense": 26406, + "▁Anyone": 26407, + "▁Justin": 26408, + "iszt": 26409, + "▁Collins": 26410, + "▁Valent": 26411, + "▁Pale": 26412, + "▁fuel": 26413, + "▁nose": 26414, + "ríguez": 26415, + "▁Schles": 26416, + "▁Malays": 26417, + "▁commut": 26418, + "dro": 26419, + "uing": 26420, + "▁Rico": 26421, + "▁Emma": 26422, + "orp": 26423, + "▁Kirk": 26424, + "▁Quando": 26425, + "▁Neue": 26426, + "▁demande": 26427, + "▁Cover": 26428, + "▁rescue": 26429, + "▁gewählt": 26430, + "▁Calendar": 26431, + "▁Madonna": 26432, + "WP": 26433, + "oshi": 26434, + "▁Maven": 26435, + "▁belle": 26436, + "▁wx": 26437, + "▁sugar": 26438, + "▁Betrieb": 26439, + "▁equilibrium": 26440, + "EAR": 26441, + "▁texts": 26442, + "слов": 26443, + "▁czerwca": 26444, + "▁Düsseld": 26445, + "▁ELSE": 26446, + "▁amery": 26447, + "▁ani": 26448, + "▁obey": 26449, + "▁Nell": 26450, + "▁inne": 26451, + "▁тро": 26452, + "FD": 26453, + "cco": 26454, + "▁Zob": 26455, + "alette": 26456, + "▁május": 26457, + "ected": 26458, + "▁Turkey": 26459, + "▁Whether": 26460, + "qi": 26461, + "▁што": 26462, + "▁headquarters": 26463, + "endi": 26464, + "arus": 26465, + "opus": 26466, + "▁золо": 26467, + "▁destru": 26468, + "▁Lok": 26469, + "▁satisfaction": 26470, + "()\r": 26471, + "▁Тер": 26472, + "Jose": 26473, + "▁conquer": 26474, + "▁Effect": 26475, + "LayoutParams": 26476, + "iez": 26477, + "▁externs": 26478, + "▁gegenüber": 26479, + "▁ESP": 26480, + "olta": 26481, + "processor": 26482, + "▁Kult": 26483, + "▁Atlanta": 26484, + "▁tier": 26485, + "Operator": 26486, + "▁диа": 26487, + "▁пись": 26488, + "▁groß": 26489, + "▁hearts": 26490, + "▁millimeter": 26491, + "although": 26492, + "alles": 26493, + "▁Magic": 26494, + "training": 26495, + "oline": 26496, + "▁органі": 26497, + ">\\<^": 26498, + "ціаль": 26499, + "exports": 26500, + "Workbook": 26501, + "▁вересня": 26502, + "▁teles": 26503, + "▁economy": 26504, + "▁trap": 26505, + "▁refuse": 26506, + "▁stranger": 26507, + "▁instinct": 26508, + "пода": 26509, + "olan": 26510, + "▁ning": 26511, + "inflate": 26512, + "itatea": 26513, + "acks": 26514, + "▁Joy": 26515, + "FLAG": 26516, + "ailand": 26517, + "▁sorti": 26518, + "▁впер": 26519, + "▁pén": 26520, + "Nothing": 26521, + "▁száz": 26522, + "▁Áng": 26523, + "▁AUT": 26524, + "Actions": 26525, + "Every": 26526, + "▁червня": 26527, + "▁автомо": 26528, + "▁routine": 26529, + "▁estruct": 26530, + "▁Gang": 26531, + "▁holes": 26532, + "thesis": 26533, + "▁concl": 26534, + "▁pé": 26535, + "riers": 26536, + "ровой": 26537, + "adic": 26538, + "Speed": 26539, + "▁commanded": 26540, + "▁Nazionale": 26541, + "Managed": 26542, + "▁DECLARE": 26543, + "▁sedan": 26544, + "Strings": 26545, + "▁sacred": 26546, + "tersuch": 26547, + "▁abitanti": 26548, + "brit": 26549, + "▁NCAA": 26550, + "▁СП": 26551, + "▁aged": 26552, + "▁Chiesa": 26553, + "▁revision": 26554, + "opro": 26555, + "▁overwrite": 26556, + "embros": 26557, + "▁sortie": 26558, + "▁otten": 26559, + "xiv": 26560, + "▁deli": 26561, + "▁Asp": 26562, + "▁balls": 26563, + "kaf": 26564, + "▁brave": 26565, + "▁всего": 26566, + "egn": 26567, + "jpeg": 26568, + "▁Osten": 26569, + "Constants": 26570, + "▁Infantry": 26571, + "▁Nev": 26572, + "▁яких": 26573, + "▁муниципа": 26574, + "cija": 26575, + "▁poem": 26576, + "▁negro": 26577, + "хар": 26578, + "▁Ask": 26579, + "▁avo": 26580, + "▁Meyer": 26581, + "▁Westen": 26582, + "▁oko": 26583, + "agin": 26584, + "▁Süden": 26585, + "entries": 26586, + "▁Republik": 26587, + "CollectionView": 26588, + "-------": 26589, + "▁firefox": 26590, + "▁alcune": 26591, + "▁фото": 26592, + "▁отрима": 26593, + "~~~~~~~~": 26594, + "▁Раз": 26595, + "▁Complex": 26596, + "▁pia": 26597, + "▁publicada": 26598, + "wei": 26599, + "cedure": 26600, + "occupation": 26601, + "▁medicine": 26602, + "▁drove": 26603, + "Problem": 26604, + "▁beginner": 26605, + "▁thoroughly": 26606, + "uria": 26607, + "avant": 26608, + "ucha": 26609, + "▁lever": 26610, + "▁teatro": 26611, + "AVA": 26612, + "squ": 26613, + "trat": 26614, + "ivatal": 26615, + "▁dirty": 26616, + "▁seconde": 26617, + "▁gravit": 26618, + "▁proposition": 26619, + "hbar": 26620, + "omini": 26621, + "▁”": 26622, + "▁Camil": 26623, + "▁queen": 26624, + "modifier": 26625, + "Jan": 26626, + "▁lyr": 26627, + "ComboBox": 26628, + "ionic": 26629, + "▁holy": 26630, + "▁Sebastian": 26631, + "|_{": 26632, + "▁{@": 26633, + "▁можно": 26634, + "▁Creative": 26635, + "▁interess": 26636, + "▁CT": 26637, + "ições": 26638, + "▁chant": 26639, + "▁współ": 26640, + "▁Мексика": 26641, + "▁ranked": 26642, + "▁października": 26643, + "▁brut": 26644, + "▁farther": 26645, + "▁Verb": 26646, + "▁Seven": 26647, + "lbl": 26648, + "▁mentions": 26649, + "▁Fight": 26650, + "ifen": 26651, + "▁bog": 26652, + "▁regres": 26653, + "▁scoring": 26654, + "icane": 26655, + "▁Elli": 26656, + "▁pierw": 26657, + "measure": 26658, + "ńskiej": 26659, + "#{": 26660, + "▁деся": 26661, + "▁varmaste": 26662, + "▁Unix": 26663, + "IZ": 26664, + "itié": 26665, + "Primary": 26666, + "▁Springer": 26667, + "üng": 26668, + "▁anv": 26669, + "▁versione": 26670, + "▁shoulders": 26671, + "▁брига": 26672, + "▁jav": 26673, + "ltal": 26674, + "▁kallaste": 26675, + "▁Mitchell": 26676, + "▁wireless": 26677, + "▁Ál": 26678, + "respons": 26679, + "could": 26680, + "▁relax": 26681, + "Lond": 26682, + "ńcz": 26683, + "ствовал": 26684, + "▁polski": 26685, + "enç": 26686, + "zar": 26687, + "▁dtype": 26688, + "owned": 26689, + "unknown": 26690, + "▁mutable": 26691, + "▁siempre": 26692, + "▁Montreal": 26693, + "▁locate": 26694, + "▁traces": 26695, + "▁insgesamt": 26696, + "▁Nil": 26697, + "▁прода": 26698, + "▁Warner": 26699, + "▁Nau": 26700, + "triangle": 26701, + "▁concentration": 26702, + "▁gentlemen": 26703, + "ächt": 26704, + "filters": 26705, + "incipal": 26706, + "VALID": 26707, + "▁депута": 26708, + "adó": 26709, + "▁konst": 26710, + "gså": 26711, + "agas": 26712, + "▁meilleur": 26713, + "▁данным": 26714, + "єдна": 26715, + "encoded": 26716, + "<'": 26717, + "▁sheets": 26718, + "cuador": 26719, + "▁використову": 26720, + "▁Deput": 26721, + "▁manière": 26722, + "ąg": 26723, + "csol": 26724, + ")$-": 26725, + "UIView": 26726, + "▁millones": 26727, + "▁Ehren": 26728, + "Sil": 26729, + "▁atac": 26730, + "▁Cold": 26731, + "\"\\": 26732, + "▁approached": 26733, + "▁Årsmed": 26734, + "WM": 26735, + "▁Deport": 26736, + "mis": 26737, + "andbox": 26738, + "observ": 26739, + "setting": 26740, + "ható": 26741, + "▁strat": 26742, + "▁spre": 26743, + "▁personne": 26744, + "▁dirige": 26745, + "pull": 26746, + "dating": 26747, + "▁Fact": 26748, + "▁manipulate": 26749, + "▁MAC": 26750, + "▁dej": 26751, + "ultimo": 26752, + "FX": 26753, + "Life": 26754, + "▁crack": 26755, + "▁mí": 26756, + "▁пове": 26757, + "▁wore": 26758, + "université": 26759, + "▁formulas": 26760, + "▁Elisabeth": 26761, + "plots": 26762, + "mile": 26763, + "▁menor": 26764, + "тил": 26765, + "keyword": 26766, + "▁Baltimore": 26767, + "hrer": 26768, + "▁Clement": 26769, + "vim": 26770, + "rass": 26771, + "Take": 26772, + "▁című": 26773, + "▁Convention": 26774, + "atge": 26775, + "seed": 26776, + "▁Dí": 26777, + "▁Spider": 26778, + "ahoo": 26779, + "▁имеет": 26780, + "ührt": 26781, + "▁пописа": 26782, + "▁Cot": 26783, + "▁nobles": 26784, + "RESS": 26785, + "▁chemin": 26786, + "▁główn": 26787, + "GG": 26788, + "▁Germania": 26789, + "▁Alexandre": 26790, + "hens": 26791, + "swift": 26792, + "oop": 26793, + "Subview": 26794, + "▁requiring": 26795, + "ędzy": 26796, + "▁fict": 26797, + "▁Констан": 26798, + "▁déput": 26799, + "▁surprising": 26800, + "▁deix": 26801, + "▁unterschied": 26802, + "inson": 26803, + "▁Character": 26804, + "▁gestion": 26805, + "chus": 26806, + "comes": 26807, + "▁neur": 26808, + "▁yeux": 26809, + "ollar": 26810, + "▁parad": 26811, + "▁maggiore": 26812, + "TRAN": 26813, + "▁votre": 26814, + "▁descent": 26815, + "▁Icon": 26816, + "▁Judge": 26817, + "▁occupation": 26818, + "eping": 26819, + "▁tongue": 26820, + "▁Enllaços": 26821, + "ruf": 26822, + "▁protein": 26823, + "▁visitors": 26824, + "axy": 26825, + "esten": 26826, + "blica": 26827, + "hw": 26828, + "▁spirits": 26829, + "▁reduces": 26830, + "▁мен": 26831, + "▁Lamb": 26832, + "▁Mine": 26833, + "▁verified": 26834, + "▁Baby": 26835, + "▁prize": 26836, + "вър": 26837, + "▁ratings": 26838, + "▁fore": 26839, + "asha": 26840, + "urrence": 26841, + "▁intér": 26842, + "▁Olímp": 26843, + "cra": 26844, + "▁computational": 26845, + "irche": 26846, + ".: ": 26847, + "▁illustrated": 26848, + "▁Share": 26849, + "▁households": 26850, + "▁convolution": 26851, + "oemd": 26852, + "▁zdoby": 26853, + "ccc": 26854, + "▁quantities": 26855, + "Che": 26856, + "Should": 26857, + "▁genius": 26858, + "adj": 26859, + "хва": 26860, + "Петер": 26861, + "EMA": 26862, + "▁Rights": 26863, + "▁Eli": 26864, + "VAR": 26865, + "шло": 26866, + "▁збір": 26867, + "iftung": 26868, + "▁contributed": 26869, + "zef": 26870, + "▁CHAR": 26871, + "▁Sib": 26872, + "▁Mant": 26873, + "▁связи": 26874, + "▁javafx": 26875, + "▁cependant": 26876, + "▁intu": 26877, + "▁твор": 26878, + "▁Ó": 26879, + "guer": 26880, + "rado": 26881, + "▁Revol": 26882, + "▁fémin": 26883, + "▁Orleans": 26884, + "▁poj": 26885, + "▁prez": 26886, + "Tex": 26887, + "ouwd": 26888, + "?(": 26889, + "▁LIM": 26890, + "istique": 26891, + "esar": 26892, + "▁heures": 26893, + "icki": 26894, + "▁dbo": 26895, + "skih": 26896, + "confirm": 26897, + "▁világ": 26898, + "▁ciutat": 26899, + "▁DR": 26900, + "▁Hawai": 26901, + "ched": 26902, + "▁spher": 26903, + "▁Artikel": 26904, + "▁Multiple": 26905, + "ciu": 26906, + "▁мы": 26907, + "▁lipca": 26908, + "](/": 26909, + "Strategy": 26910, + "▁Alabama": 26911, + "SDK": 26912, + "UTC": 26913, + "__.": 26914, + "Arguments": 26915, + "▁setContentView": 26916, + "île": 26917, + "ByVal": 26918, + "▁JVM": 26919, + "ющего": 26920, + "▁Leonard": 26921, + "▁justify": 26922, + "цем": 26923, + "▁nab": 26924, + "CCESS": 26925, + "▁hopes": 26926, + ")&": 26927, + "sero": 26928, + "▁зай": 26929, + "слід": 26930, + "▁Rég": 26931, + "▁Sang": 26932, + "▁fung": 26933, + "baar": 26934, + "▁coffee": 26935, + "assembly": 26936, + "▁Він": 26937, + "эй": 26938, + "▁comprend": 26939, + "filled": 26940, + "рд": 26941, + "odia": 26942, + "▁gens": 26943, + "fluss": 26944, + "Drawable": 26945, + "▁surve": 26946, + "Setup": 26947, + "▁należ": 26948, + "▁conjunto": 26949, + "▁Его": 26950, + "▁oldal": 26951, + "▁verbose": 26952, + "▁Electric": 26953, + "▁Harrison": 26954, + "engen": 26955, + "paragraph": 26956, + "▁nouvelles": 26957, + "▁време": 26958, + "▁memor": 26959, + "▁mayoría": 26960, + "сад": 26961, + "▁bataille": 26962, + "▁thermal": 26963, + "▁Хронологи": 26964, + "▁Better": 26965, + "bye": 26966, + "▁театра": 26967, + "roe": 26968, + "▁segle": 26969, + "rott": 26970, + "▁opinions": 26971, + ")})": 26972, + "ühle": 26973, + "▁Gün": 26974, + "▁Щ": 26975, + "ból": 26976, + "▁Larry": 26977, + "▁solic": 26978, + "▁zwar": 26979, + "▁Caroline": 26980, + "▁Reichs": 26981, + "Extensions": 26982, + "migr": 26983, + ":@": 26984, + "▁enumerate": 26985, + "▁eigenen": 26986, + "▁explore": 26987, + "ému": 26988, + "▁gat": 26989, + "▁imperial": 26990, + "▁Usually": 26991, + "▁tud": 26992, + "▁укра": 26993, + "him": 26994, + "▁corners": 26995, + "▁SER": 26996, + "▁interpreter": 26997, + "▁Ice": 26998, + "▁amounts": 26999, + "▁Pala": 27000, + "▁tinha": 27001, + "vole": 27002, + "▁gle": 27003, + "ucci": 27004, + "▁siehe": 27005, + "Jack": 27006, + "▁woll": 27007, + "▁elder": 27008, + "▁кораб": 27009, + "▁engag": 27010, + "▁Laurent": 27011, + "▁achiev": 27012, + "istik": 27013, + "arct": 27014, + "тного": 27015, + "▁gir": 27016, + "▁Singh": 27017, + "mathop": 27018, + "USA": 27019, + "▁Projekt": 27020, + "▁debe": 27021, + "richtung": 27022, + "▁Tsch": 27023, + "uminate": 27024, + "▁szó": 27025, + "lyph": 27026, + "зидент": 27027, + "▁limitations": 27028, + "ющей": 27029, + "▁bila": 27030, + "Push": 27031, + "▁offering": 27032, + "iennes": 27033, + "Fri": 27034, + "▁postgresql": 27035, + "▁Tommy": 27036, + "▁particolare": 27037, + "▁století": 27038, + "▁arrib": 27039, + "▁Eva": 27040, + "school": 27041, + "▁vendor": 27042, + "▁Dallas": 27043, + "▁prolong": 27044, + "CREATE": 27045, + "▁suivante": 27046, + "STATUS": 27047, + "là": 27048, + "kv": 27049, + "▁häufig": 27050, + "▁Agricult": 27051, + "▁huit": 27052, + "▁inoltre": 27053, + "▁Lloyd": 27054, + "▁француз": 27055, + "▁выпол": 27056, + "▁faithful": 27057, + "▁Вар": 27058, + "▁verl": 27059, + "▁juego": 27060, + "▁Резултати": 27061, + ",...,": 27062, + "▁implicitly": 27063, + "irks": 27064, + "Calcul": 27065, + "▁meses": 27066, + "omed": 27067, + "▁pak": 27068, + "herit": 27069, + "▁optical": 27070, + "▁Історія": 27071, + "veis": 27072, + "▁capitale": 27073, + "placeholder": 27074, + "intrag": 27075, + "▁Atlas": 27076, + ")];": 27077, + "icons": 27078, + "▁Bent": 27079, + "▁Widget": 27080, + "▁volunt": 27081, + "avo": 27082, + "égr": 27083, + "lige": 27084, + "▁NAME": 27085, + "▁abstra": 27086, + "▁fís": 27087, + "▁Browser": 27088, + "▁bush": 27089, + "hall": 27090, + "▁clouds": 27091, + "▁SUB": 27092, + "▁tandis": 27093, + "▁Commonwealth": 27094, + "тая": 27095, + "▁exhaust": 27096, + "________________": 27097, + "▁Statistics": 27098, + "▁Religion": 27099, + "▁Muham": 27100, + "uals": 27101, + "goto": 27102, + "Digital": 27103, + "Family": 27104, + "▁Bun": 27105, + "letin": 27106, + "Management": 27107, + "▁capabilities": 27108, + "annten": 27109, + "▁себе": 27110, + "▁stays": 27111, + "kter": 27112, + "▁dost": 27113, + "▁Тре": 27114, + "лович": 27115, + "▁dying": 27116, + "sections": 27117, + "ános": 27118, + "▁apparten": 27119, + "▁zoals": 27120, + "▁dressed": 27121, + "▁compress": 27122, + "ńska": 27123, + "▁sierpnia": 27124, + "▁титу": 27125, + "dictionary": 27126, + "▁rabb": 27127, + "▁vérit": 27128, + "Во": 27129, + "▁singleton": 27130, + "▁vital": 27131, + "Refresh": 27132, + "мель": 27133, + "▁Zh": 27134, + "▁Afghan": 27135, + "inkel": 27136, + "aaaa": 27137, + "▁participants": 27138, + "arin": 27139, + "▁Mold": 27140, + "▁primeros": 27141, + "▁ран": 27142, + "▁Амери": 27143, + "▁restaurant": 27144, + "ével": 27145, + "▁SL": 27146, + "▁Rey": 27147, + "chas": 27148, + "▁electrons": 27149, + "▁Pitts": 27150, + "▁Jules": 27151, + "май": 27152, + "enant": 27153, + "-}": 27154, + "лад": 27155, + "▁Москва": 27156, + "gom": 27157, + "▁Fernández": 27158, + "fund": 27159, + "interno": 27160, + "▁Mari": 27161, + "▁rius": 27162, + "▁Prozent": 27163, + "стрі": 27164, + "▁внут": 27165, + "anterie": 27166, + "▁прис": 27167, + "▁обы": 27168, + "▁Marina": 27169, + "▁occurrence": 27170, + "rikt": 27171, + "▁физи": 27172, + "▁schwer": 27173, + "▁Гре": 27174, + "Reset": 27175, + "▁mucho": 27176, + "andr": 27177, + "▁Wies": 27178, + "▁Keith": 27179, + "▁Julian": 27180, + "▁cole": 27181, + "ciendo": 27182, + "▁Contempor": 27183, + "etry": 27184, + "elian": 27185, + "гии": 27186, + "▁голо": 27187, + "▁dél": 27188, + "▁decent": 27189, + "РСР": 27190, + "▁szeptember": 27191, + "мест": 27192, + "castle": 27193, + "▁держав": 27194, + "}\")": 27195, + "▁ASCII": 27196, + "▁Glen": 27197, + "itzerland": 27198, + "Toggle": 27199, + "▁tradicional": 27200, + "▁Plat": 27201, + "vee": 27202, + "abgerufen": 27203, + "(|": 27204, + "CLI": 27205, + "}}$,": 27206, + "▁Bowl": 27207, + "▁Male": 27208, + "▁Bres": 27209, + "▁пси": 27210, + "▁Challenge": 27211, + "zó": 27212, + "▁projekt": 27213, + "▁negoti": 27214, + "above": 27215, + "▁перио": 27216, + "▁longest": 27217, + "authentic": 27218, + "▁tradu": 27219, + "▁mujeres": 27220, + "▁Andre": 27221, + "▁hadn": 27222, + "▁Schule": 27223, + "odel": 27224, + "bled": 27225, + "▁Trade": 27226, + "▁mobil": 27227, + "▁algunas": 27228, + "▁Lak": 27229, + "▁Connecticut": 27230, + "▁alco": 27231, + "▁Selbst": 27232, + "ił": 27233, + "▁alb": 27234, + "ouverneur": 27235, + "▁sr": 27236, + "▁vba": 27237, + "loped": 27238, + "▁Partei": 27239, + "uate": 27240, + "▁Authentication": 27241, + "bei": 27242, + "}}.": 27243, + "▁konnten": 27244, + "▁допо": 27245, + "▁hyd": 27246, + "Office": 27247, + "données": 27248, + "▁Cleveland": 27249, + "rita": 27250, + "íos": 27251, + "▁выше": 27252, + "▁Roberts": 27253, + "▁élections": 27254, + "▁'')": 27255, + "▁publishing": 27256, + "▁bapt": 27257, + "<>();": 27258, + "missing": 27259, + "ровано": 27260, + "▁housing": 27261, + "▁inference": 27262, + "▁Renaissance": 27263, + "▁règ": 27264, + "▁Steph": 27265, + "CES": 27266, + "ERE": 27267, + "кет": 27268, + "OU": 27269, + "▁grouping": 27270, + "verkehr": 27271, + "jih": 27272, + "agli": 27273, + "▁milk": 27274, + "lait": 27275, + "Stage": 27276, + "▁byly": 27277, + "▁wooden": 27278, + "keley": 27279, + "etra": 27280, + "▁Peg": 27281, + "▁donné": 27282, + "adal": 27283, + "sequently": 27284, + "▁insbesondere": 27285, + "ELD": 27286, + "▁Mam": 27287, + "▁volte": 27288, + "▁prospect": 27289, + "нове": 27290, + "▁denoted": 27291, + "▁overlay": 27292, + "Permission": 27293, + "een": 27294, + "▁EM": 27295, + "▁uz": 27296, + "Mc": 27297, + "olit": 27298, + "▁servi": 27299, + "▁Heidel": 27300, + "▁Wiener": 27301, + "▁illegal": 27302, + "▁predictions": 27303, + "▁goog": 27304, + "hon": 27305, + "▁Cinema": 27306, + "▁револю": 27307, + "▁Rule": 27308, + "wod": 27309, + "▁radiation": 27310, + "oł": 27311, + "ової": 27312, + "▁Perform": 27313, + "▁prisoner": 27314, + "▁amet": 27315, + "▁figura": 27316, + "▁Commander": 27317, + "▁официаль": 27318, + "▁trov": 27319, + "▁acted": 27320, + "▁workflow": 27321, + "▁Республики": 27322, + "▁guidance": 27323, + "▁мене": 27324, + "National": 27325, + "▁Kel": 27326, + "webpack": 27327, + "простра": 27328, + "▁llamado": 27329, + "alog": 27330, + "terra": 27331, + "ixen": 27332, + "legraph": 27333, + "äischen": 27334, + "▁teachers": 27335, + "uden": 27336, + "▁også": 27337, + "possible": 27338, + "▁Soul": 27339, + "▁Geography": 27340, + "▁зада": 27341, + "hit": 27342, + "▁anger": 27343, + "▁remporte": 27344, + "Pod": 27345, + "чке": 27346, + "▁aria": 27347, + "▁Astronom": 27348, + "chapter": 27349, + "▁fork": 27350, + "▁Cuando": 27351, + "mense": 27352, + "▁Christians": 27353, + "gc": 27354, + "▁#(": 27355, + "Organ": 27356, + "▁steady": 27357, + "pse": 27358, + "жить": 27359, + "ignes": 27360, + "aterra": 27361, + "movie": 27362, + "posta": 27363, + "raste": 27364, + "▁Ressource": 27365, + "▁País": 27366, + "▁();": 27367, + "▁penalty": 27368, + "тт": 27369, + "▁trasfer": 27370, + "century": 27371, + "▁cleaner": 27372, + "selenium": 27373, + "ortheast": 27374, + "xic": 27375, + "лії": 27376, + "▁inglese": 27377, + "▁Tang": 27378, + "▁gods": 27379, + "frent": 27380, + "ciente": 27381, + "starts": 27382, + "▁musica": 27383, + "ymnasium": 27384, + "----+": 27385, + "▁terrest": 27386, + "▁retrieved": 27387, + "iare": 27388, + "unning": 27389, + "▁Marcus": 27390, + "▁promote": 27391, + "warning": 27392, + "тый": 27393, + "})$,": 27394, + "Transport": 27395, + "▁reson": 27396, + "▁Clo": 27397, + "▁erm": 27398, + "▁eliminate": 27399, + "heimer": 27400, + "▁saves": 27401, + "▁prayer": 27402, + "Classes": 27403, + "Express": 27404, + "▁Akademie": 27405, + "Else": 27406, + "Turn": 27407, + "▁ikke": 27408, + "▁rei": 27409, + "▁dirett": 27410, + "▁Rost": 27411, + "▁Papa": 27412, + "▁jsf": 27413, + "лением": 27414, + "▁Tul": 27415, + "▁Zak": 27416, + "▁niemieck": 27417, + "Tw": 27418, + "amour": 27419, + "nested": 27420, + "ppets": 27421, + "шп": 27422, + "dit": 27423, + "зен": 27424, + "zyma": 27425, + "hrte": 27426, + "Constraints": 27427, + "▁ownership": 27428, + "Arm": 27429, + "▁consumption": 27430, + "▁fet": 27431, + "ivari": 27432, + "chrom": 27433, + "setAttribute": 27434, + "▁compose": 27435, + "▁backing": 27436, + "▁Paz": 27437, + "▁scri": 27438, + "▁Mechan": 27439, + "▁Norway": 27440, + "▁Jup": 27441, + "▁mér": 27442, + "▁administrator": 27443, + "▁cabe": 27444, + "ivalent": 27445, + "▁throne": 27446, + "▁dues": 27447, + "▁humor": 27448, + "▁Adri": 27449, + "▁abort": 27450, + "ñas": 27451, + "▁Київ": 27452, + "jící": 27453, + "▁zweite": 27454, + "▁doub": 27455, + "ershell": 27456, + "шой": 27457, + "▁Fam": 27458, + "åk": 27459, + "▁tweede": 27460, + "▁Rib": 27461, + "▁før": 27462, + "pción": 27463, + "inned": 27464, + "rvm": 27465, + "▁Appar": 27466, + "▁Dj": 27467, + "▁Shang": 27468, + "Distance": 27469, + "▁dawn": 27470, + "▁Matth": 27471, + "▁errichtet": 27472, + "phantom": 27473, + "▁releases": 27474, + "Recognizer": 27475, + "▁Kop": 27476, + "▁Pul": 27477, + "ué": 27478, + "nats": 27479, + "relax": 27480, + "▁fled": 27481, + "▁experiences": 27482, + "щее": 27483, + "меня": 27484, + "▁персона": 27485, + "▁Identity": 27486, + "rets": 27487, + "kunft": 27488, + "larg": 27489, + "ListItem": 27490, + "vd": 27491, + "runner": 27492, + "lant": 27493, + "ipart": 27494, + "bay": 27495, + "iei": 27496, + "▁lengths": 27497, + "▁cattle": 27498, + "jets": 27499, + "▁sehen": 27500, + "Jul": 27501, + "fatt": 27502, + "▁surrender": 27503, + "▁Trump": 27504, + "дного": 27505, + "▁Fourier": 27506, + "ieben": 27507, + "_\"": 27508, + "▁früher": 27509, + "▁garant": 27510, + "uclidean": 27511, + "ägt": 27512, + "▁півден": 27513, + "Pages": 27514, + "▁rivers": 27515, + "▁donner": 27516, + "svn": 27517, + "▁ł": 27518, + "ově": 27519, + "▁Leist": 27520, + "arial": 27521, + "ových": 27522, + "▁filling": 27523, + "▁musicale": 27524, + "maxim": 27525, + "▁dashed": 27526, + "▁Нов": 27527, + "Drawer": 27528, + "▁Medicine": 27529, + "▁dokument": 27530, + "owel": 27531, + "vić": 27532, + "hely": 27533, + "▁elet": 27534, + "Seconds": 27535, + "▁Gonz": 27536, + "rou": 27537, + "▁finales": 27538, + "rn": 27539, + "fø": 27540, + "▁indexed": 27541, + "className": 27542, + "▁ober": 27543, + "▁duas": 27544, + "▁optimized": 27545, + "▁kdy": 27546, + "versary": 27547, + "energy": 27548, + "▁центра": 27549, + "▁currency": 27550, + "zyż": 27551, + "Like": 27552, + "▁Ги": 27553, + "sono": 27554, + "▁palab": 27555, + "▁pushing": 27556, + "ublik": 27557, + "▁Hass": 27558, + "}\\,\\": 27559, + "unker": 27560, + "▁Factory": 27561, + "▁Resources": 27562, + "datei": 27563, + "▁Tools": 27564, + "▁stehen": 27565, + "sime": 27566, + "▁Ху": 27567, + "▁hoch": 27568, + "▁Rodríguez": 27569, + "zeitig": 27570, + "▁Terry": 27571, + "▁обу": 27572, + "Usage": 27573, + "urchase": 27574, + "lö": 27575, + "▁Introduction": 27576, + "▁participation": 27577, + "ος": 27578, + "ogli": 27579, + "apy": 27580, + "▁hopefully": 27581, + "ponder": 27582, + "▁Yang": 27583, + "▁promises": 27584, + "▁верну": 27585, + "▁остров": 27586, + "^{+": 27587, + "▁mostra": 27588, + "▁CURLOPT": 27589, + "HH": 27590, + "▁stdout": 27591, + "▁brilliant": 27592, + "▁manuscript": 27593, + "▁decir": 27594, + "▁Bolog": 27595, + "▁места": 27596, + "▁invisible": 27597, + "▁Chal": 27598, + "▁analyze": 27599, + "prilis": 27600, + "attend": 27601, + "Mvc": 27602, + "than": 27603, + "cko": 27604, + "▁Quebec": 27605, + "▁planta": 27606, + "▁télévis": 27607, + "▁uninstall": 27608, + "ències": 27609, + "▁gminie": 27610, + "▁Pref": 27611, + "▁lequel": 27612, + "Invocation": 27613, + "▁Í": 27614, + "▁transformed": 27615, + "MAN": 27616, + "gebaut": 27617, + "▁сохра": 27618, + "▁второй": 27619, + "▁Lith": 27620, + "wendung": 27621, + "▁Politik": 27622, + "▁Senator": 27623, + "▁LL": 27624, + "ждение": 27625, + "ште": 27626, + "▁Cés": 27627, + "▁bande": 27628, + "▁historian": 27629, + "▁passwords": 27630, + "malloc": 27631, + "▁semif": 27632, + "▁rå": 27633, + "unicí": 27634, + "Available": 27635, + "Optional": 27636, + "▁Twe": 27637, + "▁kró": 27638, + "▁subsets": 27639, + "▁DAT": 27640, + "▁doubles": 27641, + "никами": 27642, + "▁зв": 27643, + "gegeben": 27644, + "▁Попис": 27645, + "▁július": 27646, + "▁meteor": 27647, + "Mount": 27648, + "ivent": 27649, + "▁Nathan": 27650, + "▁Schutz": 27651, + "egov": 27652, + "▁död": 27653, + "▁meat": 27654, + "▁пункт": 27655, + "▁minds": 27656, + "elivery": 27657, + "▁TLS": 27658, + "рем": 27659, + "ckså": 27660, + "▁stayed": 27661, + "▁Bin": 27662, + "▁Pia": 27663, + "▁имен": 27664, + "▁Bobby": 27665, + "▁produit": 27666, + "empio": 27667, + "▁reducing": 27668, + "▁Yu": 27669, + "▁Geschäft": 27670, + "▁perché": 27671, + "▁cors": 27672, + "▁icons": 27673, + "AppData": 27674, + "▁Hog": 27675, + "▁рів": 27676, + "▁Sans": 27677, + "▁siège": 27678, + "stellen": 27679, + "Brush": 27680, + "OFF": 27681, + "▁visitor": 27682, + "▁bath": 27683, + "▁fee": 27684, + "atisf": 27685, + "▁curv": 27686, + "▁folgender": 27687, + "▁conscience": 27688, + "▁Seattle": 27689, + "▁medieval": 27690, + "distribution": 27691, + "▁DM": 27692, + "▁мя": 27693, + "▁RUN": 27694, + "akov": 27695, + "ceil": 27696, + "▁letting": 27697, + "▁dov": 27698, + "▁оби": 27699, + "kiej": 27700, + "▁direkt": 27701, + "▁tm": 27702, + "colors": 27703, + "▁altro": 27704, + "▁tijdens": 27705, + "]{'": 27706, + "▁Bom": 27707, + "▁kunst": 27708, + "▁shelter": 27709, + "▁rav": 27710, + "predict": 27711, + "▁comenzó": 27712, + "▁świat": 27713, + "▁Durant": 27714, + "▁schemes": 27715, + "▁mesh": 27716, + "▁indicator": 27717, + "▁Emer": 27718, + "▁guilty": 27719, + "нец": 27720, + "▁consequences": 27721, + "cludes": 27722, + "▁Lower": 27723, + "▁поме": 27724, + "▁pace": 27725, + "даго": 27726, + "▁ambos": 27727, + "lb": 27728, + "▁educated": 27729, + "urale": 27730, + "anh": 27731, + "esség": 27732, + "▁associations": 27733, + "town": 27734, + "▁trif": 27735, + "samples": 27736, + "bos": 27737, + "▁Spect": 27738, + "▁Це": 27739, + "altung": 27740, + "▁Lob": 27741, + "▁curiosity": 27742, + "▁Weiter": 27743, + "estone": 27744, + "▁demol": 27745, + "▁apolog": 27746, + "▁Dynamic": 27747, + "Inner": 27748, + "esper": 27749, + "ecz": 27750, + "uellement": 27751, + "▁Hamiltonian": 27752, + "Atlas": 27753, + "▁argue": 27754, + "Foreign": 27755, + "collapse": 27756, + "▁términ": 27757, + "▁electronic": 27758, + "▁NR": 27759, + "▁corr": 27760, + "temps": 27761, + "IndexPath": 27762, + "яз": 27763, + "▁talál": 27764, + "today": 27765, + "wave": 27766, + "▁sib": 27767, + "▁спи": 27768, + "▁convey": 27769, + "▁Géographie": 27770, + "▁Нью": 27771, + "▁Hibernate": 27772, + "▁tin": 27773, + "dic": 27774, + "ppings": 27775, + "sweise": 27776, + "▁rolling": 27777, + "▁selects": 27778, + ")\\)": 27779, + "▁poeta": 27780, + "▁степени": 27781, + "▁Abr": 27782, + "▁höch": 27783, + "▁stern": 27784, + "▁fjär": 27785, + "▁installer": 27786, + "decl": 27787, + "▁miser": 27788, + "groupby": 27789, + "substr": 27790, + "▁phenomen": 27791, + "▁Wing": 27792, + "▁fills": 27793, + "▁único": 27794, + "Running": 27795, + "Come": 27796, + "irable": 27797, + "simeq": 27798, + "▁remp": 27799, + "kele": 27800, + "liers": 27801, + "▁kwietnia": 27802, + "▁interrupted": 27803, + "▁Jet": 27804, + "=\\{": 27805, + "ído": 27806, + "▁Taiwan": 27807, + "▁возра": 27808, + "▁alternatives": 27809, + "▁Tir": 27810, + "▁Reserve": 27811, + "▁Кур": 27812, + "▁Nobel": 27813, + "▁работал": 27814, + "▁axes": 27815, + "▁Cependant": 27816, + "ká": 27817, + "▁erneut": 27818, + "▁Demo": 27819, + "communic": 27820, + "constructor": 27821, + "▁Monday": 27822, + "Nil": 27823, + "HashMap": 27824, + "payment": 27825, + "▁fixing": 27826, + "▁ADD": 27827, + "review": 27828, + "▁possibil": 27829, + "▁grote": 27830, + "▁grouped": 27831, + "▁Lima": 27832, + "▁Augen": 27833, + "▁också": 27834, + "onas": 27835, + "▁debate": 27836, + "▁Ingl": 27837, + "Da": 27838, + "SOUR": 27839, + "ettbe": 27840, + "▁Battalion": 27841, + "▁Float": 27842, + "▁cone": 27843, + "readsheet": 27844, + "court": 27845, + "ligen": 27846, + "▁Beginn": 27847, + "▁LIMIT": 27848, + "▁enjoyed": 27849, + "▁Jakob": 27850, + "▁telt": 27851, + "backend": 27852, + "▁Gemeinsame": 27853, + "lint": 27854, + "alling": 27855, + "▁bör": 27856, + "grand": 27857, + "▁diverses": 27858, + "▁związ": 27859, + "▁Kompon": 27860, + "▁innerhalb": 27861, + "▁desarrollo": 27862, + "▁Masters": 27863, + "ioso": 27864, + "]`.": 27865, + "▁francesa": 27866, + "Aff": 27867, + "inek": 27868, + "▁dessin": 27869, + "`.`": 27870, + "▁ranks": 27871, + "берг": 27872, + "▁skal": 27873, + "▁Sultan": 27874, + "АН": 27875, + "▁способ": 27876, + "▁contradict": 27877, + "▁recom": 27878, + "▁Oklahoma": 27879, + "▁Vladimir": 27880, + "▁meters": 27881, + "transport": 27882, + "▁consulté": 27883, + "▁ATP": 27884, + "ebb": 27885, + "▁volunte": 27886, + "▁outline": 27887, + "LIC": 27888, + "▁euro": 27889, + "CharField": 27890, + "medium": 27891, + "▁Belgique": 27892, + "Proc": 27893, + "routes": 27894, + "▁contribu": 27895, + "!}": 27896, + "ším": 27897, + "▁Less": 27898, + "▁Kost": 27899, + "▁eredetiből": 27900, + "reven": 27901, + "verify": 27902, + "▁Salt": 27903, + "▁shooting": 27904, + "▁dispose": 27905, + "ují": 27906, + "▁tierra": 27907, + "▁poison": 27908, + "sak": 27909, + "perimental": 27910, + "▁Né": 27911, + "▁Kid": 27912, + "agyar": 27913, + "▁archiválva": 27914, + "bereich": 27915, + "íz": 27916, + "▁Ritter": 27917, + "▁Хронологија": 27918, + "zeum": 27919, + "дах": 27920, + "▁gründ": 27921, + "▁programmer": 27922, + "▁conseil": 27923, + "▁encrypt": 27924, + "integration": 27925, + "Culture": 27926, + "▁Circle": 27927, + "Observable": 27928, + "▁genomsnitt": 27929, + "▁Selection": 27930, + "▁irregular": 27931, + "Autres": 27932, + "Percent": 27933, + "fault": 27934, + "▁virtue": 27935, + "ąpi": 27936, + "▁sess": 27937, + "▁Также": 27938, + "Timestamp": 27939, + "▁littérature": 27940, + "▁moż": 27941, + "▁borrow": 27942, + "▁conced": 27943, + "чник": 27944, + "▁Lund": 27945, + "IONS": 27946, + "ynie": 27947, + "▁Shin": 27948, + "▁osob": 27949, + "bě": 27950, + "▁intuit": 27951, + "▁нап": 27952, + "▁proph": 27953, + "▁pitt": 27954, + "▁IBM": 27955, + "▁Till": 27956, + "▁hina": 27957, + "ittest": 27958, + "generator": 27959, + "▁Nin": 27960, + "▁Kot": 27961, + "▁passer": 27962, + "▁disposition": 27963, + "uning": 27964, + "▁fame": 27965, + "▁tenia": 27966, + "ancement": 27967, + "▁Suisse": 27968, + "`-": 27969, + "▁hombres": 27970, + "▁infinity": 27971, + "▁оконча": 27972, + "▁cosm": 27973, + "▁Dennis": 27974, + "baz": 27975, + "haupt": 27976, + "▁mighty": 27977, + "▁prede": 27978, + "usable": 27979, + "▁wszyst": 27980, + "▁lb": 27981, + "ABASE": 27982, + "jna": 27983, + "нев": 27984, + "▁ases": 27985, + "▁finalmente": 27986, + "йм": 27987, + "pection": 27988, + "▁Studien": 27989, + "▁Norwegian": 27990, + "cego": 27991, + "INDEX": 27992, + "orten": 27993, + "▁friendship": 27994, + "metro": 27995, + "thick": 27996, + "▁Zel": 27997, + "LOW": 27998, + "▁thereby": 27999, + "unted": 28000, + "▁surfaces": 28001, + "ющим": 28002, + "%).": 28003, + "▁Wonder": 28004, + "▁redundant": 28005, + "▁Gros": 28006, + "▁websites": 28007, + "▁vio": 28008, + "▁ocas": 28009, + "vés": 28010, + "▁Gam": 28011, + "dw": 28012, + "Indicator": 28013, + "▁Kob": 28014, + "▁jack": 28015, + "Hint": 28016, + "▁Apol": 28017, + "▁другие": 28018, + "▁NUM": 28019, + "▁ofic": 28020, + "ystycz": 28021, + "▁wereld": 28022, + "мости": 28023, + "LEFT": 28024, + "▁Types": 28025, + "seen": 28026, + "uncia": 28027, + "▁narod": 28028, + "▁этот": 28029, + "Sidenote": 28030, + "ueil": 28031, + "▁отме": 28032, + "▁courts": 28033, + "fir": 28034, + "urz": 28035, + "ченко": 28036, + "Credentials": 28037, + "▁imagination": 28038, + "itats": 28039, + "buff": 28040, + "flash": 28041, + "▁badly": 28042, + "▁worn": 28043, + "▁округу": 28044, + "catalog": 28045, + "lime": 28046, + "▁Gill": 28047, + "▁Sent": 28048, + "iella": 28049, + "▁Craig": 28050, + "▁Sele": 28051, + "▁Independ": 28052, + "▁provincie": 28053, + "ossen": 28054, + "▁запад": 28055, + "▁infant": 28056, + "▁prevents": 28057, + "▁provinces": 28058, + "afé": 28059, + "beg": 28060, + "▁colours": 28061, + "BF": 28062, + "ën": 28063, + "▁Между": 28064, + "în": 28065, + "Observer": 28066, + "forsch": 28067, + "ígen": 28068, + "umption": 28069, + "▁Illustr": 28070, + "рист": 28071, + "▁полови": 28072, + "▁`&": 28073, + "▁ore": 28074, + "▁supplies": 28075, + "▁parenthes": 28076, + "Foundation": 28077, + "▁vou": 28078, + "▁Tout": 28079, + "Donald": 28080, + "▁RET": 28081, + "weig": 28082, + "▁producción": 28083, + "mix": 28084, + "▁utwor": 28085, + "▁föl": 28086, + "▁então": 28087, + "▁Sister": 28088, + "Tags": 28089, + "▁Савезне": 28090, + "▁privileges": 28091, + "▁nazw": 28092, + "▁Rav": 28093, + "▁repro": 28094, + "▁Mason": 28095, + "▁Platform": 28096, + "▁пробле": 28097, + "▁Pérez": 28098, + "▁blanc": 28099, + "Behavior": 28100, + "фици": 28101, + "eken": 28102, + "▁meets": 28103, + "(.*": 28104, + "▁få": 28105, + "epen": 28106, + "maker": 28107, + "▁loyal": 28108, + "members": 28109, + "meisterschaft": 28110, + "goal": 28111, + "шлен": 28112, + "▁северо": 28113, + "iende": 28114, + "дні": 28115, + "Proof": 28116, + "▁explic": 28117, + "▁electro": 28118, + "iels": 28119, + "reload": 28120, + "▁eleven": 28121, + "▁partidos": 28122, + "îne": 28123, + "▁Regin": 28124, + "▁éx": 28125, + "▁Bulg": 28126, + "▁networking": 28127, + "▁separator": 28128, + "UserName": 28129, + "▁edificio": 28130, + "▁Mie": 28131, + "▁idle": 28132, + "yed": 28133, + "▁passengers": 28134, + "+)": 28135, + "meno": 28136, + "eggi": 28137, + "▁nicely": 28138, + "endencia": 28139, + "чий": 28140, + "étés": 28141, + "ightarrow": 28142, + "▁orthogonal": 28143, + "▁Half": 28144, + "▁fewer": 28145, + "▁propi": 28146, + "▁primit": 28147, + "icale": 28148, + "▁flower": 28149, + "merk": 28150, + "▁Отече": 28151, + "▁persistent": 28152, + "▁Ville": 28153, + "Men": 28154, + "gaben": 28155, + "▁Isaac": 28156, + "ativity": 28157, + "▁północ": 28158, + "▁rok": 28159, + "cards": 28160, + "дения": 28161, + "▁юго": 28162, + "▁extraordinary": 28163, + "▁kyr": 28164, + "(\",": 28165, + "))]": 28166, + "▁unix": 28167, + "кол": 28168, + "▁sink": 28169, + "apsed": 28170, + "▁kommen": 28171, + "▁forcing": 28172, + "About": 28173, + "▁Halle": 28174, + "▁Majesty": 28175, + "▁Switch": 28176, + "▁abroad": 28177, + "▁acceleration": 28178, + "urbed": 28179, + "▁остан": 28180, + "Ready": 28181, + "▁півні": 28182, + "Bra": 28183, + "▁цього": 28184, + "▁plut": 28185, + "▁Train": 28186, + "▁április": 28187, + "▁puesto": 28188, + "▁toss": 28189, + "▁irrelevant": 28190, + "▁dip": 28191, + "segment": 28192, + "opacity": 28193, + "▁lorsque": 28194, + "▁verschill": 28195, + "ена": 28196, + "▁Doc": 28197, + "%%%%%%%%": 28198, + "▁borders": 28199, + "gebras": 28200, + "▁ries": 28201, + "▁Olympedia": 28202, + "▁Generation": 28203, + "metros": 28204, + "▁horizon": 28205, + "▁adaptation": 28206, + "▁Zahl": 28207, + "▁nahe": 28208, + "▁Bug": 28209, + "Picture": 28210, + "љи": 28211, + "RGB": 28212, + "Owner": 28213, + "adin": 28214, + "▁Catalunya": 28215, + "ných": 28216, + "▁cualquier": 28217, + "▁Institution": 28218, + "insen": 28219, + "▁Brasile": 28220, + "▁fitting": 28221, + "Deleg": 28222, + "ictwo": 28223, + "▁Exper": 28224, + "ochastic": 28225, + "▁dus": 28226, + "▁пора": 28227, + "▁substring": 28228, + "ссии": 28229, + "oin": 28230, + "▁школа": 28231, + "▁cx": 28232, + "▁%)": 28233, + "▁Buddh": 28234, + "▁pending": 28235, + "▁Entry": 28236, + "▁Berl": 28237, + "▁cler": 28238, + "▁Soc": 28239, + "▁rounded": 28240, + "▁mv": 28241, + "ített": 28242, + "▁Diplom": 28243, + "▁französischen": 28244, + "▁Gan": 28245, + "▁Investig": 28246, + "▁indexPath": 28247, + "▁molti": 28248, + "persistence": 28249, + "▁XIXe": 28250, + "▁Electron": 28251, + "bü": 28252, + "gele": 28253, + "▁Maler": 28254, + "▁proyecto": 28255, + "▁Bath": 28256, + "ellers": 28257, + "▁GP": 28258, + "oning": 28259, + "cloudflare": 28260, + "▁při": 28261, + "▁ded": 28262, + "▁Odkazy": 28263, + "▁Msg": 28264, + "▁Being": 28265, + "▁Depuis": 28266, + "▁Primary": 28267, + "▁Appro": 28268, + "▁formally": 28269, + "ступил": 28270, + "▁fuera": 28271, + "▁Root": 28272, + "▁autonom": 28273, + "▁secretary": 28274, + "▁osób": 28275, + "▁cuales": 28276, + "▁Depending": 28277, + "▁asi": 28278, + "vera": 28279, + "▁russe": 28280, + "▁proves": 28281, + "▁presiden": 28282, + "RU": 28283, + "▁Watson": 28284, + "▁webpack": 28285, + "elligence": 28286, + "кам": 28287, + "▁Officer": 28288, + "▁delivery": 28289, + "ждён": 28290, + "▁импе": 28291, + "▁wil": 28292, + "▁vesc": 28293, + "usztus": 28294, + "▁Geoff": 28295, + "()}": 28296, + "▁Fore": 28297, + "▁wenig": 28298, + "▁Airl": 28299, + "▁Efter": 28300, + "▁Break": 28301, + "▁Städ": 28302, + "ismiss": 28303, + "íp": 28304, + "▁avoided": 28305, + "▁assertion": 28306, + "DN": 28307, + "▁teat": 28308, + "ína": 28309, + "▁mechanical": 28310, + "isu": 28311, + "@{": 28312, + "▁nou": 28313, + "Italie": 28314, + "sourceforge": 28315, + "▁svo": 28316, + "▁király": 28317, + "▁References": 28318, + "six": 28319, + "▁Archives": 28320, + "▁finishing": 28321, + "acje": 28322, + "état": 28323, + "iffs": 28324, + "▁stead": 28325, + "▁feas": 28326, + "aware": 28327, + "lande": 28328, + "Inject": 28329, + "▁Agent": 28330, + "▁Normdatei": 28331, + "▁amen": 28332, + "▁Architecture": 28333, + "aze": 28334, + "ște": 28335, + "▁usar": 28336, + "▁cores": 28337, + "лін": 28338, + "▁Castro": 28339, + "▁væ": 28340, + ">\",": 28341, + "omena": 28342, + "▁gesam": 28343, + "▁Martín": 28344, + "egung": 28345, + "▁společ": 28346, + "▁amplitude": 28347, + "▁importing": 28348, + "▁listview": 28349, + "THE": 28350, + "ziale": 28351, + "cedes": 28352, + "▁particulier": 28353, + "▁Расподела": 28354, + "▁край": 28355, + "▁divent": 28356, + "▁ké": 28357, + "quit": 28358, + "тором": 28359, + "CheckBox": 28360, + "▁Zobacz": 28361, + "phe": 28362, + "pta": 28363, + "▁sjö": 28364, + "▁розташ": 28365, + "▁tedesco": 28366, + "▁stal": 28367, + "▁Beruf": 28368, + "овая": 28369, + "▁svě": 28370, + "▁flush": 28371, + "▁відбу": 28372, + "▁radial": 28373, + "▁différentes": 28374, + "анта": 28375, + "▁Perry": 28376, + "Coll": 28377, + "liqu": 28378, + "▁Optional": 28379, + "▁Санкт": 28380, + "▁LINQ": 28381, + "▁Franc": 28382, + "cije": 28383, + "▁Guillaume": 28384, + "know": 28385, + "▁Units": 28386, + "olk": 28387, + "▁Système": 28388, + "▁Sales": 28389, + "▁ehemaligen": 28390, + "мирова": 28391, + "xhtml": 28392, + "setopt": 28393, + "▁mellan": 28394, + "▁zie": 28395, + "▁giant": 28396, + "Board": 28397, + "▁Caval": 28398, + "▁defence": 28399, + "----------": 28400, + "pshire": 28401, + "mart": 28402, + "▁Dioc": 28403, + "iskt": 28404, + "▁inse": 28405, + "▁épisode": 28406, + "чик": 28407, + "bars": 28408, + "Sito": 28409, + "▁integrity": 28410, + "auff": 28411, + "▁vär": 28412, + "Azure": 28413, + "▁starb": 28414, + "▁контра": 28415, + "▁Мексичка": 28416, + "▁запа": 28417, + "▁Mountains": 28418, + "}}=": 28419, + "▁pulling": 28420, + "▁satellite": 28421, + "▁atoms": 28422, + "▁profesor": 28423, + "▁repeatedly": 28424, + "▁invasion": 28425, + "programming": 28426, + "├──": 28427, + "▁Lip": 28428, + "вшие": 28429, + "▁keen": 28430, + "▁critics": 28431, + "▁Nicola": 28432, + "▁Cand": 28433, + "▁distint": 28434, + "▁heading": 28435, + "pragma": 28436, + "{|": 28437, + "ymen": 28438, + "▁terrain": 28439, + "iedenis": 28440, + "▁besonders": 28441, + "▁nominated": 28442, + "BOOL": 28443, + "▁Kay": 28444, + "cian": 28445, + "stelle": 28446, + "▁dispute": 28447, + "▁щ": 28448, + "DataSet": 28449, + "nothing": 28450, + "Autom": 28451, + "hören": 28452, + "▁shed": 28453, + "▁paused": 28454, + "san": 28455, + "▁nunca": 28456, + "!(\"": 28457, + "▁położ": 28458, + "Secret": 28459, + "▁Domain": 28460, + "▁возмож": 28461, + "XV": 28462, + "lv": 28463, + "ikh": 28464, + "▁Sony": 28465, + "mq": 28466, + "otrop": 28467, + "▁Logger": 28468, + "▁threat": 28469, + "asted": 28470, + "зько": 28471, + "▁freely": 28472, + "▁improvements": 28473, + "istema": 28474, + "▁illustrate": 28475, + "▁tact": 28476, + "▁figur": 28477, + "ués": 28478, + "riminal": 28479, + "odon": 28480, + "intendo": 28481, + "▁influenced": 28482, + "FFER": 28483, + "▁Ghost": 28484, + "▁совер": 28485, + "nad": 28486, + "ioned": 28487, + "▁Events": 28488, + "▁wrapping": 28489, + "---------+": 28490, + "fif": 28491, + "▁(**": 28492, + "={{": 28493, + "маль": 28494, + "▁losses": 28495, + "▁Galerie": 28496, + "tel": 28497, + "▁лютого": 28498, + "▁Kru": 28499, + "▁Polen": 28500, + "нім": 28501, + "near": 28502, + "▁shame": 28503, + "▁moyenne": 28504, + "▁CP": 28505, + "preis": 28506, + "▁passenger": 28507, + "lek": 28508, + "ionales": 28509, + "kafka": 28510, + "▁participe": 28511, + "▁membership": 28512, + "[_": 28513, + "lando": 28514, + "stelling": 28515, + "Sem": 28516, + "gon": 28517, + "▁Correct": 28518, + "▁valle": 28519, + "▁readily": 28520, + "▁Dokument": 28521, + "honneur": 28522, + "▁testim": 28523, + "ulative": 28524, + "doFilter": 28525, + "▁dominant": 28526, + "ammer": 28527, + "▁која": 28528, + "▁Monsieur": 28529, + "zeg": 28530, + "▁війни": 28531, + "▁Fo": 28532, + "▁Amy": 28533, + "▁¡": 28534, + "▁február": 28535, + "▁downloading": 28536, + "▁leng": 28537, + "\\}$,": 28538, + "▁neat": 28539, + "▁Cache": 28540, + "ICATION": 28541, + "▁deve": 28542, + "▁sorrow": 28543, + "slow": 28544, + "▁hinaus": 28545, + "▁reconoc": 28546, + "▁Linked": 28547, + "▁Shaw": 28548, + "market": 28549, + "▁Dic": 28550, + "▁Ski": 28551, + "▁delimiter": 28552, + "▁MainActivity": 28553, + "▁Musical": 28554, + "▁Reyn": 28555, + "ScrollView": 28556, + "▁conventional": 28557, + "ença": 28558, + "▁refactor": 28559, + "'-": 28560, + "▁Hed": 28561, + "sprech": 28562, + "▁athlet": 28563, + "▁especies": 28564, + "▁Schön": 28565, + "▁kleinen": 28566, + "шко": 28567, + "▁Йо": 28568, + "▁Happy": 28569, + "multirow": 28570, + "▁augusti": 28571, + "▁Gand": 28572, + "▁appointment": 28573, + "▁Mediabestanden": 28574, + "Three": 28575, + "▁Kenneth": 28576, + "NEW": 28577, + "▁Notification": 28578, + "▁Marx": 28579, + "▁insc": 28580, + "Mor": 28581, + "вый": 28582, + "väst": 28583, + "vidia": 28584, + "▁demonstrated": 28585, + "fonts": 28586, + "▁kamen": 28587, + "▁Ster": 28588, + "▁mieszkańców": 28589, + "▁Koh": 28590, + "~$\\": 28591, + "»).": 28592, + "rene": 28593, + "insic": 28594, + "ická": 28595, + "xygen": 28596, + "▁mn": 28597, + "▁sched": 28598, + "ASC": 28599, + "Ig": 28600, + "▁Constant": 28601, + "▁opportun": 28602, + "▁MyClass": 28603, + "sef": 28604, + "oped": 28605, + "▁injured": 28606, + "VIS": 28607, + "▁Pero": 28608, + "▁Until": 28609, + "▁flesh": 28610, + "orphism": 28611, + "▁Portal": 28612, + "▁gminy": 28613, + "▁власти": 28614, + "▁Nä": 28615, + "ктиче": 28616, + "▁hrab": 28617, + "▁Cub": 28618, + "avoir": 28619, + "▁Lars": 28620, + "▁Бело": 28621, + "▁seizoen": 28622, + "▁Genomsnitt": 28623, + "▁Lil": 28624, + "▁Pool": 28625, + "▁Dios": 28626, + "TX": 28627, + "aes": 28628, + "autore": 28629, + "Alpha": 28630, + "states": 28631, + "Lab": 28632, + "nederbörd": 28633, + "erton": 28634, + "▁brid": 28635, + "▁richt": 28636, + "▁Ela": 28637, + "▁сла": 28638, + "▁weapon": 28639, + "▁combatt": 28640, + "agar": 28641, + "▁regnig": 28642, + "▁utilisé": 28643, + "▁servir": 28644, + "▁brick": 28645, + "▁gateway": 28646, + "▁torraste": 28647, + "▁procedures": 28648, + "▁årsnederbörd": 28649, + "▁Genomsnittlig": 28650, + "чёт": 28651, + "▁områ": 28652, + "▁regnigaste": 28653, + "▁честь": 28654, + "▁amid": 28655, + "▁grateful": 28656, + "▁DIS": 28657, + "DAY": 28658, + "▁ору": 28659, + "▁rivière": 28660, + "heure": 28661, + "▁Richmond": 28662, + "▁Compar": 28663, + "▁Нор": 28664, + "DOC": 28665, + "esia": 28666, + "calc": 28667, + "▁IU": 28668, + "▁vorg": 28669, + "▁habían": 28670, + "çoit": 28671, + "▁arist": 28672, + "▁кли": 28673, + "▁Sue": 28674, + "▁Touch": 28675, + "▁Writing": 28676, + "ifiable": 28677, + "▁wc": 28678, + "▁withdraw": 28679, + "зар": 28680, + "▁presently": 28681, + "▁FK": 28682, + "▁prakt": 28683, + "▁colored": 28684, + "usb": 28685, + "▁Perú": 28686, + "▁plata": 28687, + "▁wishes": 28688, + "▁кам": 28689, + "azar": 28690, + "ável": 28691, + "▁lamp": 28692, + "bishop": 28693, + "▁inclusion": 28694, + "jq": 28695, + "arth": 28696, + "▁Flag": 28697, + "▁нор": 28698, + "ædia": 28699, + "UNCTION": 28700, + "▁Bahnhof": 28701, + "▁approaching": 28702, + "▁Gött": 28703, + "▁cube": 28704, + "▁argued": 28705, + "▁Things": 28706, + "Gui": 28707, + "дови": 28708, + "▁recre": 28709, + "▁réseau": 28710, + "▁significa": 28711, + "Git": 28712, + "gebracht": 28713, + "▁liga": 28714, + "▁assured": 28715, + "alus": 28716, + "рит": 28717, + "▁энциклопеди": 28718, + "▁%).": 28719, + "▁Première": 28720, + "▁declarations": 28721, + "▁tricky": 28722, + "▁profiles": 28723, + "▁Fon": 28724, + "▁Jas": 28725, + "âr": 28726, + "babel": 28727, + "▁Friday": 28728, + "▁június": 28729, + "▁cols": 28730, + "▁EXISTS": 28731, + "▁Italiana": 28732, + "▁authorization": 28733, + "▁sulle": 28734, + "▁Emb": 28735, + "▁Variable": 28736, + "trees": 28737, + "▁Fly": 28738, + "riors": 28739, + "▁damals": 28740, + "▁findet": 28741, + "▁Sept": 28742, + "▁mundial": 28743, + "▁removal": 28744, + "▁longitude": 28745, + "clic": 28746, + "▁fade": 28747, + "▁gradle": 28748, + "▁zák": 28749, + "▁timing": 28750, + "trightarrow": 28751, + "atia": 28752, + "-.": 28753, + "uche": 28754, + "▁serialize": 28755, + "▁Hmm": 28756, + "▁Representatives": 28757, + "bah": 28758, + "rend": 28759, + "assador": 28760, + "▁shield": 28761, + "ucion": 28762, + "▁américaine": 28763, + "zę": 28764, + "villa": 28765, + "▁hombre": 28766, + "áss": 28767, + "▁SF": 28768, + "▁repeating": 28769, + "▁criter": 28770, + "▁Struct": 28771, + "???": 28772, + "▁cheap": 28773, + "▁rings": 28774, + "abhäng": 28775, + "▁corte": 28776, + "▁administ": 28777, + "ixon": 28778, + "gypt": 28779, + "▁puntos": 28780, + "▁mezi": 28781, + "▁pochod": 28782, + "isko": 28783, + "nię": 28784, + "▁осу": 28785, + "▁ár": 28786, + "тельной": 28787, + "▁Metropolitan": 28788, + "jin": 28789, + "zess": 28790, + "▁віці": 28791, + "▁conflicts": 28792, + "ijst": 28793, + "▁Market": 28794, + "стров": 28795, + "▁\",\"": 28796, + "▁Scroll": 28797, + "gun": 28798, + "тара": 28799, + "▁amateur": 28800, + "▁róż": 28801, + "poss": 28802, + "▁generalized": 28803, + "▁Harm": 28804, + "cita": 28805, + "▁Switzerland": 28806, + "icola": 28807, + "▁muit": 28808, + "located": 28809, + "▁có": 28810, + "▁arose": 28811, + "▁communauté": 28812, + "})^": 28813, + "visibility": 28814, + "ída": 28815, + "▁FB": 28816, + "▁Freund": 28817, + "gat": 28818, + "\":{\"": 28819, + "intellij": 28820, + "ifie": 28821, + "hmen": 28822, + "▁édition": 28823, + "▁које": 28824, + "▁інших": 28825, + "oming": 28826, + "▁arquitect": 28827, + "▁Presidente": 28828, + "▁Під": 28829, + "▁cabin": 28830, + "Theorem": 28831, + "▁Gay": 28832, + "ifice": 28833, + "▁hect": 28834, + "lą": 28835, + "irmingham": 28836, + "▁semantic": 28837, + "▁Louisiana": 28838, + "▁sacrifice": 28839, + "▁Christoph": 28840, + "▁Executive": 28841, + "_+": 28842, + "ják": 28843, + "▁seria": 28844, + "▁Overflow": 28845, + "▁Lucy": 28846, + "▁melhor": 28847, + "▁voices": 28848, + "cza": 28849, + "▁капи": 28850, + "▁университета": 28851, + "INCT": 28852, + "▁coloc": 28853, + "▁prue": 28854, + "▁geomet": 28855, + "▁diretto": 28856, + "reso": 28857, + "▁Akt": 28858, + "▁unh": 28859, + "▁сери": 28860, + "▁Alert": 28861, + "Wel": 28862, + "audi": 28863, + "äler": 28864, + "▁guests": 28865, + "▁иде": 28866, + "Studio": 28867, + "▁кате": 28868, + "▁exponent": 28869, + "rze": 28870, + "pmod": 28871, + "rolle": 28872, + "▁Limited": 28873, + "Allemagne": 28874, + "▁pity": 28875, + "▁lä": 28876, + "▁runner": 28877, + "kende": 28878, + "EQ": 28879, + "▁MM": 28880, + "szág": 28881, + "поді": 28882, + "▁regret": 28883, + "▁publié": 28884, + "▁departamento": 28885, + "▁accused": 28886, + "hp": 28887, + "▁Pfl": 28888, + "▁Sint": 28889, + "▁ekonom": 28890, + "ractor": 28891, + "▁Пів": 28892, + "▁awful": 28893, + "ować": 28894, + "]->": 28895, + "▁Fine": 28896, + "Са": 28897, + "tis": 28898, + "éta": 28899, + "▁Роди": 28900, + "▁Düsseldorf": 28901, + "LOB": 28902, + "osas": 28903, + "werke": 28904, + "▁lance": 28905, + "▁листопада": 28906, + "▁incomplete": 28907, + "▁Picture": 28908, + "('\\": 28909, + "esters": 28910, + "▁belonged": 28911, + "▁Sank": 28912, + "ammed": 28913, + "▁repositories": 28914, + "▁addr": 28915, + "Collect": 28916, + "Hot": 28917, + "▁tyl": 28918, + "▁instanceof": 28919, + "▁bonus": 28920, + "ový": 28921, + "▁моря": 28922, + "▁interactive": 28923, + "▁Mys": 28924, + "▁Edmund": 28925, + "fileName": 28926, + "emor": 28927, + "▁Три": 28928, + "▁Rosen": 28929, + "▁Prima": 28930, + "▁voting": 28931, + "▁XP": 28932, + "▁Zero": 28933, + "▁Led": 28934, + "amsung": 28935, + "▁enables": 28936, + "▁redirects": 28937, + "AST": 28938, + "Paint": 28939, + "acker": 28940, + "lecht": 28941, + "▁chairman": 28942, + "▁Aven": 28943, + "▁Sach": 28944, + "(\"<": 28945, + "кер": 28946, + "▁mistakes": 28947, + "▁Weit": 28948, + "▁prowad": 28949, + "▁didnt": 28950, + "énario": 28951, + "unless": 28952, + "▁backwards": 28953, + "boa": 28954, + "duino": 28955, + "```": 28956, + "stor": 28957, + "Completion": 28958, + "puesta": 28959, + "▁dinast": 28960, + "últ": 28961, + "▁SY": 28962, + "ifolia": 28963, + "œuvres": 28964, + "▁racing": 28965, + "▁cabinet": 28966, + "▁cutting": 28967, + "▁thumb": 28968, + "▁Кара": 28969, + "highlight": 28970, + "куп": 28971, + "▁sd": 28972, + "▁національ": 28973, + "▁campagne": 28974, + "▁registers": 28975, + "▁educational": 28976, + "▁pesar": 28977, + "üge": 28978, + "▁oro": 28979, + "burgo": 28980, + "▁Athletics": 28981, + "▁MTV": 28982, + "getMessage": 28983, + "▁Hyp": 28984, + "▁victim": 28985, + "))\\": 28986, + "▁drums": 28987, + "hostname": 28988, + "tał": 28989, + "making": 28990, + "▁powiat": 28991, + "őd": 28992, + "threads": 28993, + "▁absolv": 28994, + "▁люди": 28995, + "▁stepped": 28996, + "exist": 28997, + "▁NK": 28998, + "▁ves": 28999, + "istiche": 29000, + "%'": 29001, + "ativos": 29002, + "▁такой": 29003, + "▁MongoDB": 29004, + "▁Ung": 29005, + "▁Рус": 29006, + "▁elim": 29007, + "▁Fif": 29008, + "icación": 29009, + "▁Tennis": 29010, + "▁Jefferson": 29011, + "ján": 29012, + "fog": 29013, + "anha": 29014, + "zor": 29015, + "▁університе": 29016, + "ahu": 29017, + "iada": 29018, + "Sdk": 29019, + "Setting": 29020, + "▁Kill": 29021, + "▁Wend": 29022, + "▁bald": 29023, + "▁Kub": 29024, + "▁visto": 29025, + "▁jeunes": 29026, + "collections": 29027, + "ací": 29028, + "вропей": 29029, + "▁arise": 29030, + "оні": 29031, + "MAIN": 29032, + "доступ": 29033, + "▁berg": 29034, + "▁criticism": 29035, + "▁Torre": 29036, + "▁descript": 29037, + "ières": 29038, + "▁estudio": 29039, + "▁ili": 29040, + "▁militare": 29041, + "▁Clara": 29042, + "▁Ellen": 29043, + "limited": 29044, + "лм": 29045, + "▁Españ": 29046, + "▁infinitely": 29047, + "America": 29048, + "ouc": 29049, + "glass": 29050, + "▁rud": 29051, + "▁zat": 29052, + "▁rin": 29053, + "▁Bibliografía": 29054, + "▁merchant": 29055, + "tensorflow": 29056, + "▁dér": 29057, + "▁ActiveRecord": 29058, + "IES": 29059, + "▁linker": 29060, + "▁estudios": 29061, + "cdnjs": 29062, + "▁Государ": 29063, + "ánchez": 29064, + "appe": 29065, + "club": 29066, + "▁další": 29067, + "▁Algorithm": 29068, + "dfs": 29069, + "▁Bac": 29070, + "▁кафе": 29071, + "▁&=\\": 29072, + "▁ат": 29073, + "▁Глав": 29074, + "▁Mou": 29075, + "Machine": 29076, + "(...)": 29077, + "▁compart": 29078, + "▁augusztus": 29079, + "avan": 29080, + "▁rolled": 29081, + "▁еди": 29082, + "Scan": 29083, + "▁регі": 29084, + "▁świata": 29085, + "▁mines": 29086, + "},{": 29087, + "▁Tier": 29088, + "Cannot": 29089, + "мін": 29090, + "▁NEW": 29091, + "▁Вол": 29092, + "▁Manh": 29093, + "▁Gregory": 29094, + "▁principe": 29095, + "ISO": 29096, + "prog": 29097, + "▁Fail": 29098, + "▁aa": 29099, + "▁fecha": 29100, + "▁WCF": 29101, + "▁magistr": 29102, + "▁Zach": 29103, + "▁unicode": 29104, + "▁converter": 29105, + "▁dispers": 29106, + "ksam": 29107, + "▁Uncle": 29108, + "PropertyChanged": 29109, + "▁lider": 29110, + "▁opts": 29111, + "▁там": 29112, + "locked": 29113, + "zak": 29114, + "▁counted": 29115, + "▁persone": 29116, + "▁hurried": 29117, + "ätter": 29118, + "▁outras": 29119, + "▁genu": 29120, + "BD": 29121, + "veg": 29122, + "due": 29123, + "▁Pract": 29124, + "▁posible": 29125, + "▁contribute": 29126, + "UMN": 29127, + "▁Bürger": 29128, + "▁wars": 29129, + "▁exhibition": 29130, + "hill": 29131, + "▁astr": 29132, + "▁музе": 29133, + "▁CASE": 29134, + "manifest": 29135, + "yellow": 29136, + "Fn": 29137, + "▁RC": 29138, + "▁sott": 29139, + "▁sujet": 29140, + "▁Socket": 29141, + "▁Chine": 29142, + "▁frameworks": 29143, + "Hold": 29144, + "êts": 29145, + "▁філь": 29146, + "Loaded": 29147, + "ophe": 29148, + "texte": 29149, + "▁expres": 29150, + "▁consume": 29151, + "▁Richtung": 29152, + "ografi": 29153, + "▁magnific": 29154, + "àt": 29155, + "▁indul": 29156, + "ryty": 29157, + "▁offici": 29158, + "▁assault": 29159, + "rund": 29160, + "▁variants": 29161, + "▁сельсов": 29162, + "▁excitement": 29163, + "Times": 29164, + "kotlin": 29165, + "▁gering": 29166, + "▁Engel": 29167, + "▁Timer": 29168, + "²).": 29169, + "▁Ng": 29170, + "ässt": 29171, + "schau": 29172, + "SError": 29173, + "▁Edwards": 29174, + "▁Terminal": 29175, + "lict": 29176, + "Under": 29177, + "▁spawn": 29178, + "ürgen": 29179, + "▁Außerdem": 29180, + "▁kitchen": 29181, + "fahrt": 29182, + "▁Colors": 29183, + "▁система": 29184, + "▁terminated": 29185, + "▁LaTeX": 29186, + "igkeiten": 29187, + "▁mesure": 29188, + "▁Amts": 29189, + "▁empir": 29190, + "▁striking": 29191, + "▁exclusive": 29192, + "тех": 29193, + "▁rez": 29194, + "▁quan": 29195, + "▁Glasgow": 29196, + "▁lecture": 29197, + "▁Testament": 29198, + "▁funds": 29199, + "▁stessa": 29200, + "▁tribes": 29201, + "▁parfois": 29202, + "▁treball": 29203, + "nitz": 29204, + "bove": 29205, + "▁заслу": 29206, + "▁absent": 29207, + "▁Lauf": 29208, + "Smith": 29209, + "▁Николай": 29210, + "▁européenne": 29211, + "lr": 29212, + "▁programma": 29213, + "▁midst": 29214, + "▁daughters": 29215, + "Syn": 29216, + "oben": 29217, + "ână": 29218, + "idan": 29219, + "▁ther": 29220, + "odore": 29221, + "sdl": 29222, + "▁Quint": 29223, + "▁casos": 29224, + "▁Zam": 29225, + "▁страны": 29226, + "▁sprite": 29227, + "кал": 29228, + "▁nasc": 29229, + "▁сотруд": 29230, + "▁trava": 29231, + "▁хозяй": 29232, + "▁Uruguay": 29233, + "▁sparse": 29234, + "▁поле": 29235, + "▁mystery": 29236, + "▁Mang": 29237, + "registr": 29238, + "▁CGFloat": 29239, + "▁submission": 29240, + "вана": 29241, + "▁\":": 29242, + "▁Traceback": 29243, + "▁Pit": 29244, + "▁Ehr": 29245, + "▁сра": 29246, + "▁Graphics": 29247, + "Updated": 29248, + "▁svensk": 29249, + "▁spacing": 29250, + "tritt": 29251, + "▁Guinea": 29252, + "▁França": 29253, + "Associ": 29254, + "▁Tová": 29255, + "stab": 29256, + "▁Learning": 29257, + "▁Bright": 29258, + "śc": 29259, + "▁idő": 29260, + "}}_{\\": 29261, + "▁droite": 29262, + "▁raising": 29263, + "getting": 29264, + "ythm": 29265, + "onyme": 29266, + "żs": 29267, + "▁blah": 29268, + "TagName": 29269, + "Vertical": 29270, + "▁aper": 29271, + "postgresql": 29272, + "▁Handle": 29273, + "zew": 29274, + "▁skulle": 29275, + "▁opere": 29276, + "layers": 29277, + "▁possono": 29278, + "▁relate": 29279, + "ąc": 29280, + "▁Mih": 29281, + "âge": 29282, + "▁Świ": 29283, + "isses": 29284, + "▁servlet": 29285, + "Los": 29286, + "▁Advanced": 29287, + "atica": 29288, + "▁ced": 29289, + "▁elementos": 29290, + "рона": 29291, + "iks": 29292, + "arf": 29293, + "ariat": 29294, + "Mobile": 29295, + "agua": 29296, + "▁timp": 29297, + "▁Comité": 29298, + "▁combining": 29299, + "wohl": 29300, + "▁Study": 29301, + "coordinate": 29302, + "▁recommendation": 29303, + "▁transformations": 29304, + "until": 29305, + "bounded": 29306, + "▁изу": 29307, + "hanced": 29308, + "▁вопро": 29309, + "▁Prés": 29310, + "▁coord": 29311, + "xty": 29312, + "▁$,": 29313, + "▁champions": 29314, + "Den": 29315, + "Mil": 29316, + "(',": 29317, + "▁Preis": 29318, + "▁eigh": 29319, + "▁markers": 29320, + "▁gewesen": 29321, + "ätten": 29322, + "▁pione": 29323, + "mv": 29324, + "▁ју": 29325, + "zeichnis": 29326, + "hoff": 29327, + "News": 29328, + "▁Stanisław": 29329, + "▁Brandenburg": 29330, + "▁Feuer": 29331, + "=&": 29332, + "жет": 29333, + "▁Neil": 29334, + "▁wirk": 29335, + "▁società": 29336, + "▁spare": 29337, + "▁civile": 29338, + "sprach": 29339, + "▁disse": 29340, + "▁gates": 29341, + "▁anom": 29342, + "▁Федерации": 29343, + "▁tib": 29344, + "▁fútbol": 29345, + "▁Wikiped": 29346, + "iate": 29347, + "Front": 29348, + "▁craw": 29349, + "▁Rak": 29350, + "▁зву": 29351, + "street": 29352, + "▁Agency": 29353, + "вало": 29354, + "▁Рас": 29355, + "▁mkdir": 29356, + "ację": 29357, + "▁shares": 29358, + "Story": 29359, + "▁remarks": 29360, + "▁keywords": 29361, + "Bob": 29362, + "▁toe": 29363, + "▁Vitt": 29364, + "▁rhs": 29365, + "ROP": 29366, + "oris": 29367, + "/@": 29368, + "сии": 29369, + "▁traverse": 29370, + "▁referencing": 29371, + "präsident": 29372, + "rong": 29373, + "'):": 29374, + "aties": 29375, + "AW": 29376, + "Outlet": 29377, + "▁évol": 29378, + "ikes": 29379, + "▁environmental": 29380, + "icum": 29381, + "▁Lied": 29382, + "▁warn": 29383, + "▁Butler": 29384, + "▁%),": 29385, + "▁Zeitschrift": 29386, + "▁Montr": 29387, + "важа": 29388, + "▁Mercur": 29389, + "jekte": 29390, + "meter": 29391, + "ducation": 29392, + "▁attributed": 29393, + "*$": 29394, + "▁unf": 29395, + "▁Vertrag": 29396, + "zien": 29397, + "▁Роб": 29398, + "lices": 29399, + "pply": 29400, + "ansen": 29401, + "▁zeit": 29402, + "▁immense": 29403, + "▁lutego": 29404, + "▁Bulgar": 29405, + "▁miembros": 29406, + "▁Националь": 29407, + "▁Allow": 29408, + "▁anglès": 29409, + "дви": 29410, + "▁Toy": 29411, + "туа": 29412, + "▁yard": 29413, + "(%": 29414, + "isser": 29415, + "▁golf": 29416, + "▁Ukrain": 29417, + "▁hosp": 29418, + "Include": 29419, + "▁Lisa": 29420, + "▁csal": 29421, + "▁Mira": 29422, + "recogn": 29423, + "▁Ке": 29424, + "▁hitting": 29425, + "кономі": 29426, + "▁Tournament": 29427, + "LOAD": 29428, + "▁Guardian": 29429, + "▁daher": 29430, + "▁timezone": 29431, + "▁tomcat": 29432, + "▁successor": 29433, + "▁Void": 29434, + "▁começ": 29435, + "▁converts": 29436, + "ächs": 29437, + "osex": 29438, + "xelles": 29439, + "aser": 29440, + "▁És": 29441, + "▁mou": 29442, + "▁ung": 29443, + "▁origen": 29444, + "▁Crow": 29445, + "▁Erd": 29446, + "▁sieben": 29447, + "lua": 29448, + "▁BB": 29449, + "RENT": 29450, + "▁piłkar": 29451, + "▁marque": 29452, + "▁Labour": 29453, + "viders": 29454, + "▁exempl": 29455, + "Sound": 29456, + "▁Wass": 29457, + "arrison": 29458, + "▁течение": 29459, + "▁Oficina": 29460, + "▁Daw": 29461, + "▁Kauf": 29462, + "ént": 29463, + "éső": 29464, + "▁=\"": 29465, + "▁kat": 29466, + "diction": 29467, + "▁Voll": 29468, + "▁highway": 29469, + "James": 29470, + "zeuge": 29471, + "▁modelo": 29472, + "Throw": 29473, + "▁Forum": 29474, + "(\"@": 29475, + "▁enfer": 29476, + "▁специаль": 29477, + "Numbers": 29478, + "▁Binary": 29479, + "▁Martínez": 29480, + "▁Stato": 29481, + "▁festiv": 29482, + "▁katol": 29483, + "▁Аб": 29484, + "▁limitation": 29485, + "▁STR": 29486, + "▁Официаль": 29487, + "ipes": 29488, + "▁Isn": 29489, + "▁ruled": 29490, + "▁cí": 29491, + "geber": 29492, + "▁lavoro": 29493, + "▁parentheses": 29494, + "оз": 29495, + "▁équipes": 29496, + "▁efficiently": 29497, + "▁Period": 29498, + "▁Regarding": 29499, + "leaf": 29500, + "▁similarity": 29501, + "▁gesture": 29502, + "datab": 29503, + "▁terminate": 29504, + "▁semantics": 29505, + "▁Alo": 29506, + "▁cig": 29507, + "▁OpenGL": 29508, + "▁heutigen": 29509, + "xaml": 29510, + "▁frequencies": 29511, + ")}.": 29512, + "▁threatened": 29513, + "тик": 29514, + "▁calcio": 29515, + "▁Riemann": 29516, + "slug": 29517, + "▁Finale": 29518, + "LR": 29519, + "▁Derby": 29520, + "▁още": 29521, + "▁deviation": 29522, + "ächen": 29523, + "▁Cris": 29524, + "ново": 29525, + "▁столі": 29526, + "▁relev": 29527, + "▁splendid": 29528, + "▁учё": 29529, + "erving": 29530, + "gable": 29531, + "▁générale": 29532, + "pom": 29533, + "▁Cheers": 29534, + "▁imprison": 29535, + "▁indent": 29536, + "▁analyz": 29537, + "▁revert": 29538, + "érer": 29539, + "▁phases": 29540, + "FirstName": 29541, + "▁mig": 29542, + "▁disturb": 29543, + "▁mixture": 29544, + "▁){": 29545, + "inture": 29546, + "▁Tried": 29547, + "▁sooner": 29548, + "▁pels": 29549, + "▁établ": 29550, + "etro": 29551, + "itie": 29552, + "▁quartier": 29553, + "▁гово": 29554, + "▁város": 29555, + "ufe": 29556, + "heten": 29557, + "хом": 29558, + "▁soap": 29559, + "utors": 29560, + "▁duch": 29561, + "syntax": 29562, + "▁tribe": 29563, + "▁chante": 29564, + "Tri": 29565, + "▁Mate": 29566, + "quality": 29567, + "uola": 29568, + "=\".": 29569, + "chk": 29570, + "▁всі": 29571, + "▁przeci": 29572, + "▁Meteor": 29573, + "▁scattered": 29574, + "Plus": 29575, + "trad": 29576, + "▁stackoverflow": 29577, + "▁retra": 29578, + "▁éditions": 29579, + "▁sain": 29580, + "cribe": 29581, + "ignon": 29582, + "ucker": 29583, + "▁мало": 29584, + "▁tenir": 29585, + "▁exports": 29586, + "▁auxili": 29587, + "▁]]": 29588, + "▁CBS": 29589, + "uniform": 29590, + "▁periodic": 29591, + "agrant": 29592, + "▁emple": 29593, + "Wil": 29594, + "▁fres": 29595, + "▁strutt": 29596, + "▁світ": 29597, + "▁betre": 29598, + "▁объек": 29599, + "тися": 29600, + "▁bisher": 29601, + "baum": 29602, + "ishi": 29603, + "▁Gazette": 29604, + "backgroundColor": 29605, + "jl": 29606, + "▁fiel": 29607, + "▁према": 29608, + "▁protagonista": 29609, + "▁Muhammad": 29610, + "▁simulate": 29611, + "▁Hook": 29612, + "fest": 29613, + "▁своих": 29614, + "Sender": 29615, + "▁listened": 29616, + "жі": 29617, + "jest": 29618, + "kord": 29619, + "Choice": 29620, + "▁hoofd": 29621, + "reducible": 29622, + "hpp": 29623, + "▁Wu": 29624, + "ši": 29625, + "▁Marse": 29626, + "▁soir": 29627, + "westen": 29628, + "emos": 29629, + "▁Duc": 29630, + "▁amerik": 29631, + "|}{": 29632, + "▁Gul": 29633, + "▁Sprache": 29634, + "▁mismatch": 29635, + "Scal": 29636, + "Pixel": 29637, + "EF": 29638, + "▁Sep": 29639, + "▁powiecie": 29640, + "urk": 29641, + "▁Napoli": 29642, + "▁neighbourhood": 29643, + "стоян": 29644, + "▁searches": 29645, + "yrus": 29646, + "пет": 29647, + "Help": 29648, + "pont": 29649, + "▁Orient": 29650, + "▁Alfonso": 29651, + "▁monitoring": 29652, + "iao": 29653, + "édé": 29654, + "▁César": 29655, + "шее": 29656, + "Shift": 29657, + "suit": 29658, + "coded": 29659, + "ното": 29660, + "▁Parti": 29661, + "▁lasci": 29662, + "▁awesome": 29663, + "usta": 29664, + "▁Сове": 29665, + "▁Fland": 29666, + "oom": 29667, + "▁devi": 29668, + "engelsk": 29669, + "endum": 29670, + "▁Pascal": 29671, + "▁Bind": 29672, + "▁siguientes": 29673, + "JB": 29674, + "▁Petersburg": 29675, + "▁incorrectly": 29676, + "▁Bash": 29677, + "▁pelos": 29678, + "▁zespo": 29679, + "NSURL": 29680, + "▁přek": 29681, + "▁Crime": 29682, + "nach": 29683, + "▁thrust": 29684, + "▁Cultura": 29685, + "WF": 29686, + "▁Solo": 29687, + "▁invas": 29688, + "▁individually": 29689, + "ibm": 29690, + "▁etapa": 29691, + "▁handed": 29692, + "▁wherever": 29693, + "▁interpolation": 29694, + "▁musée": 29695, + "▁CNN": 29696, + "idia": 29697, + "ństw": 29698, + "▁przew": 29699, + "ughing": 29700, + "▁actors": 29701, + "▁Oriental": 29702, + "▁convenience": 29703, + "▁miasta": 29704, + "brains": 29705, + "▁меся": 29706, + "▁infatti": 29707, + "▁AllMovie": 29708, + "▁critique": 29709, + "▁successo": 29710, + "ancouver": 29711, + "▁fá": 29712, + "ългар": 29713, + "▁wisdom": 29714, + "▁Phoenix": 29715, + "hole": 29716, + "▁información": 29717, + "▁Airlines": 29718, + ".«": 29719, + "mort": 29720, + "userId": 29721, + "▁*/\r": 29722, + "▁Congo": 29723, + "▁\"`": 29724, + "corr": 29725, + "▁problemas": 29726, + "▁bib": 29727, + "▁później": 29728, + "▁fileName": 29729, + "zott": 29730, + "macht": 29731, + "▁Ulrich": 29732, + "Cy": 29733, + "endpoint": 29734, + "▁sheep": 29735, + "▁ibn": 29736, + "Feed": 29737, + "▁sympathy": 29738, + "▁Ib": 29739, + "▁territorial": 29740, + "rating": 29741, + "дами": 29742, + "▁dst": 29743, + "ую": 29744, + "aho": 29745, + "▁sug": 29746, + "emia": 29747, + "▁ted": 29748, + "▁Api": 29749, + "▁Rica": 29750, + "▁MR": 29751, + "ńskim": 29752, + "▁Voor": 29753, + "▁devil": 29754, + "▁Фо": 29755, + "▁När": 29756, + "▁...)": 29757, + "▁vois": 29758, + "▁abbre": 29759, + "▁Männer": 29760, + "ximo": 29761, + "▁intellectual": 29762, + "▁tales": 29763, + "similar": 29764, + "neum": 29765, + "▁Orig": 29766, + "▁postal": 29767, + "▁hvor": 29768, + "▁identification": 29769, + "▁Од": 29770, + "uesto": 29771, + "▁../": 29772, + "▁bir": 29773, + "▁Лон": 29774, + "▁esempio": 29775, + "▁Eing": 29776, + "Expand": 29777, + "▁PRIMARY": 29778, + "▁Jin": 29779, + "▁však": 29780, + "ourses": 29781, + "▁Betty": 29782, + "▁WM": 29783, + "▁flask": 29784, + "hlen": 29785, + "▁Adel": 29786, + "laravel": 29787, + "▁дет": 29788, + "ською": 29789, + "▁Mundo": 29790, + "iczn": 29791, + "ifié": 29792, + "▁Мор": 29793, + "▁древ": 29794, + "DateFormat": 29795, + "ським": 29796, + "▁dated": 29797, + "коли": 29798, + "▁результате": 29799, + "\\).": 29800, + "▁delayed": 29801, + "sound": 29802, + "▁Мак": 29803, + "▁\"...": 29804, + "▁binnen": 29805, + "▁факуль": 29806, + "▁polygon": 29807, + "▁eggs": 29808, + "AtIndexPath": 29809, + "менталь": 29810, + "▁incred": 29811, + "chunk": 29812, + "webdriver": 29813, + "▁свобо": 29814, + "▁między": 29815, + "Received": 29816, + "▁Monde": 29817, + "▁JQuery": 29818, + "Butt": 29819, + "▁PDO": 29820, + "▁forec": 29821, + "▁discipline": 29822, + "chev": 29823, + "нат": 29824, + "▁redis": 29825, + "▁hunting": 29826, + "▁alk": 29827, + "▁proofs": 29828, + "PRI": 29829, + "▁chip": 29830, + "ésie": 29831, + "▁HO": 29832, + "▁rug": 29833, + "zos": 29834, + "▁sorte": 29835, + "▁zeigt": 29836, + "▁Physics": 29837, + "legte": 29838, + "▁proportional": 29839, + "▁toolbar": 29840, + "vement": 29841, + "notin": 29842, + "▁první": 29843, + "blah": 29844, + "▁présence": 29845, + "▁lloc": 29846, + "▁líder": 29847, + "▁Accept": 29848, + "▁Always": 29849, + "▁\"{": 29850, + "▁diversi": 29851, + "ikor": 29852, + "Period": 29853, + "жён": 29854, + "▁Alliance": 29855, + "▁relay": 29856, + "Bro": 29857, + "jön": 29858, + "▁Baud": 29859, + "▁Bian": 29860, + "')[": 29861, + "чив": 29862, + "▁Poss": 29863, + "▁Mitglieder": 29864, + "▁nev": 29865, + "Daniel": 29866, + "▁tends": 29867, + "▁compagnie": 29868, + "▁livres": 29869, + "lub": 29870, + "▁": 29871, + "e": 29872, + "t": 29873, + "a": 29874, + "i": 29875, + "n": 29876, + "o": 29877, + "r": 29878, + "s": 29879, + "l": 29880, + "d": 29881, + "h": 29882, + "c": 29883, + "u": 29884, + "m": 29885, + "p": 29886, + "g": 29887, + "f": 29888, + ".": 29889, + "b": 29890, + "y": 29891, + ",": 29892, + "w": 29893, + "v": 29894, + "k": 29895, + "1": 29896, + ")": 29897, + "(": 29898, + "-": 29899, + "0": 29900, + ":": 29901, + "I": 29902, + "S": 29903, + "о": 29904, + "\\": 29905, + "2": 29906, + "C": 29907, + "\"": 29908, + "A": 29909, + "а": 29910, + "T": 29911, + "{": 29912, + "}": 29913, + "/": 29914, + "'": 29915, + "x": 29916, + "и": 29917, + "_": 29918, + "е": 29919, + "z": 29920, + "н": 29921, + "=": 29922, + "E": 29923, + "M": 29924, + "P": 29925, + "j": 29926, + "р": 29927, + "D": 29928, + "9": 29929, + "*": 29930, + "L": 29931, + "т": 29932, + "B": 29933, + "R": 29934, + "с": 29935, + ";": 29936, + "#": 29937, + "$": 29938, + "q": 29939, + "N": 29940, + "3": 29941, + "в": 29942, + "F": 29943, + "л": 29944, + "5": 29945, + "4": 29946, + "8": 29947, + "é": 29948, + "O": 29949, + "H": 29950, + "к": 29951, + "`": 29952, + "6": 29953, + "G": 29954, + "7": 29955, + "W": 29956, + "д": 29957, + ">": 29958, + "м": 29959, + "у": 29960, + "[": 29961, + "]": 29962, + "V": 29963, + "п": 29964, + "U": 29965, + "<": 29966, + "J": 29967, + "K": 29968, + "г": 29969, + "я": 29970, + "і": 29971, + "з": 29972, + "?": 29973, + "+": 29974, + "б": 29975, + "á": 29976, + "й": 29977, + "ь": 29978, + "Y": 29979, + "ó": 29980, + "ч": 29981, + "ы": 29982, + "í": 29983, + "Q": 29984, + "^": 29985, + "ä": 29986, + "&": 29987, + "х": 29988, + "|": 29989, + "X": 29990, + "!": 29991, + "@": 29992, + "ü": 29993, + "–": 29994, + "%": 29995, + "ц": 29996, + "ö": 29997, + "ж": 29998, + "Z": 29999, + "è": 30000, + "à": 30001, + "ш": 30002, + "—": 30003, + "\r": 30004, + "ю": 30005, + "ł": 30006, + "»": 30007, + "С": 30008, + "«": 30009, + "’": 30010, + "ф": 30011, + "В": 30012, + "П": 30013, + "К": 30014, + "“": 30015, + "ј": 30016, + "М": 30017, + "А": 30018, + "ç": 30019, + "å": 30020, + "щ": 30021, + "~": 30022, + "ę": 30023, + "”": 30024, + "ą": 30025, + "č": 30026, + "Р": 30027, + "ї": 30028, + "Н": 30029, + "ú": 30030, + "Б": 30031, + "Д": 30032, + "ã": 30033, + "ß": 30034, + "ă": 30035, + "ě": 30036, + "ê": 30037, + "О": 30038, + "š": 30039, + "Г": 30040, + "Т": 30041, + "ż": 30042, + "ё": 30043, + "ž": 30044, + "ś": 30045, + "ñ": 30046, + "ř": 30047, + "ő": 30048, + "„": 30049, + "Л": 30050, + "э": 30051, + "ý": 30052, + "У": 30053, + "И": 30054, + "ъ": 30055, + "є": 30056, + "â": 30057, + "î": 30058, + "ò": 30059, + "З": 30060, + "Ф": 30061, + "É": 30062, + "ć": 30063, + "·": 30064, + "ș": 30065, + "ń": 30066, + "ț": 30067, + "Х": 30068, + "ô": 30069, + "Е": 30070, + "ù": 30071, + "ů": 30072, + "°": 30073, + "Ш": 30074, + "љ": 30075, + "Ч": 30076, + "ø": 30077, + "æ": 30078, + "њ": 30079, + " ": 30080, + " ": 30081, + "Э": 30082, + "ë": 30083, + "õ": 30084, + "ï": 30085, + "‘": 30086, + "†": 30087, + "²": 30088, + "ű": 30089, + "І": 30090, + "─": 30091, + "Ц": 30092, + "ћ": 30093, + "Ö": 30094, + "û": 30095, + "Я": 30096, + "ì": 30097, + "…": 30098, + "ō": 30099, + "Ж": 30100, + "Ю": 30101, + "Á": 30102, + "́": 30103, + "Ü": 30104, + "º": 30105, + "œ": 30106, + "ā": 30107, + "Č": 30108, + "ź": 30109, + "α": 30110, + "│": 30111, + "ا": 30112, + "À": 30113, + "═": 30114, + "Š": 30115, + "ђ": 30116, + "№": 30117, + " ": 30118, + "•": 30119, + "−": 30120, + "→": 30121, + "×": 30122, + "ο": 30123, + "₂": 30124, + "Ä": 30125, + "Î": 30126, + "Ś": 30127, + "đ": 30128, + "Å": 30129, + "ı": 30130, + "‎": 30131, + "ū": 30132, + "ν": 30133, + "Й": 30134, + "ª": 30135, + "ι": 30136, + "τ": 30137, + "ل": 30138, + "′": 30139, + "�": 30140, + "È": 30141, + "λ": 30142, + "": 30143, + "Ž": 30144, + "ς": 30145, + "ň": 30146, + "ρ": 30147, + "₁": 30148, + "Є": 30149, + "ī": 30150, + "ε": 30151, + "§": 30152, + "Ł": 30153, + "Ј": 30154, + "£": 30155, + "ر": 30156, + "Ż": 30157, + "¿": 30158, + "م": 30159, + "″": 30160, + "Ú": 30161, + "ن": 30162, + "ي": 30163, + "σ": 30164, + "´": 30165, + "​": 30166, + "μ": 30167, + "³": 30168, + "ş": 30169, + "π": 30170, + "و": 30171, + "د": 30172, + "κ": 30173, + "₃": 30174, + "Í": 30175, + "ˈ": 30176, + "ب": 30177, + "Ó": 30178, + "Ã": 30179, + "¡": 30180, + "€": 30181, + "ť": 30182, + "η": 30183, + "ə": 30184, + "ー": 30185, + "Щ": 30186, + "β": 30187, + "├": 30188, + "ð": 30189, + "ґ": 30190, + "­": 30191, + "υ": 30192, + "¹": 30193, + "₄": 30194, + "ت": 30195, + "י": 30196, + "γ": 30197, + "س": 30198, + "の": 30199, + "ğ": 30200, + "δ": 30201, + "ی": 30202, + "ン": 30203, + "ه": 30204, + "ו": 30205, + "ω": 30206, + "ί": 30207, + "█": 30208, + "θ": 30209, + "的": 30210, + "©": 30211, + "Â": 30212, + "↑": 30213, + ",": 30214, + "ː": 30215, + "ά": 30216, + "―": 30217, + "ع": 30218, + "Ç": 30219, + "₀": 30220, + "±": 30221, + "Ø": 30222, + "ď": 30223, + "Ř": 30224, + "Œ": 30225, + "½": 30226, + "└": 30227, + "ό": 30228, + "‚": 30229, + "ē": 30230, + "₅": 30231, + "Æ": 30232, + "Ș": 30233, + "ɛ": 30234, + "ה": 30235, + "ר": 30236, + "φ": 30237, + "₆": 30238, + "ė": 30239, + "ح": 30240, + "ف": 30241, + "ة": 30242, + "İ": 30243, + " ": 30244, + "←": 30245, + "║": 30246, + "ɔ": 30247, + "≤": 30248, + "ל": 30249, + "Đ": 30250, + "ա": 30251, + "Ō": 30252, + "א": 30253, + "്": 30254, + "ス": 30255, + "ش": 30256, + "大": 30257, + "ル": 30258, + "џ": 30259, + "イ": 30260, + "⟩": 30261, + " ": 30262, + "µ": 30263, + "∈": 30264, + "ق": 30265, + "⟨": 30266, + "。": 30267, + "Ґ": 30268, + "ा": 30269, + "ج": 30270, + "ʿ": 30271, + "ა": 30272, + "έ": 30273, + "χ": 30274, + "中": 30275, + "ב": 30276, + "ი": 30277, + "₈": 30278, + "ト": 30279, + "ή": 30280, + "ラ": 30281, + "Џ": 30282, + "ك": 30283, + "₇": 30284, + "מ": 30285, + "ת": 30286, + "一": 30287, + "Π": 30288, + "า": 30289, + "・": 30290, + "Σ": 30291, + "Α": 30292, + "Δ": 30293, + "ש": 30294, + "ز": 30295, + "्": 30296, + "ร": 30297, + "い": 30298, + "ʻ": 30299, + "Њ": 30300, + "₉": 30301, + "ʼ": 30302, + "リ": 30303, + "‐": 30304, + "ク": 30305, + "∞": 30306, + "⁄": 30307, + "ύ": 30308, + "Ş": 30309, + "ア": 30310, + "Ε": 30311, + "ɪ": 30312, + "人": 30313, + "Κ": 30314, + "∀": 30315, + "र": 30316, + "ッ": 30317, + "►": 30318, + "子": 30319, + "¬": 30320, + "خ": 30321, + "◄": 30322, + "َ": 30323, + "ע": 30324, + "日": 30325, + "し": 30326, + "ḥ": 30327, + "נ": 30328, + "山": 30329, + "、": 30330, + "Ї": 30331, + "る": 30332, + "文": 30333, + "Ñ": 30334, + "ド": 30335, + "ד": 30336, + "ն": 30337, + "Ђ": 30338, + "Γ": 30339, + "þ": 30340, + "’": 30341, + "®": 30342, + "ک": 30343, + "“": 30344, + "⚭": 30345, + "本": 30346, + "ℕ": 30347, + "น": 30348, + "ѝ": 30349, + "̶": 30350, + "อ": 30351, + "ў": 30352, + "に": 30353, + "数": 30354, + "ე": 30355, + "国": 30356, + "Ω": 30357, + " ": 30358, + "ǎ": 30359, + "ص": 30360, + "”": 30361, + "Μ": 30362, + " ": 30363, + "と": 30364, + "⁠": 30365, + "た": 30366, + "ط": 30367, + "ր": 30368, + "タ": 30369, + "ÿ": 30370, + "な": 30371, + "أ": 30372, + "シ": 30373, + "新": 30374, + "﹕": 30375, + "ʃ": 30376, + "ľ": 30377, + "ロ": 30378, + "⁴": 30379, + "்": 30380, + "⇒": 30381, + "ţ": 30382, + ":": 30383, + "Ț": 30384, + "ക": 30385, + "≥": 30386, + "ി": 30387, + "マ": 30388, + "ん": 30389, + "ṣ": 30390, + "ジ": 30391, + "是": 30392, + "이": 30393, + "⋅": 30394, + "田": 30395, + "を": 30396, + "道": 30397, + "ง": 30398, + "¨": 30399, + "ـ": 30400, + "เ": 30401, + "村": 30402, + "Ê": 30403, + "ם": 30404, + "›": 30405, + "用": 30406, + "ώ": 30407, + "天": 30408, + ")": 30409, + "་": 30410, + "镇": 30411, + "か": 30412, + "不": 30413, + "Τ": 30414, + "学": 30415, + "ư": 30416, + "有": 30417, + "ո": 30418, + "(": 30419, + "レ": 30420, + "گ": 30421, + "‏": 30422, + "フ": 30423, + "न": 30424, + "ก": 30425, + "ɑ": 30426, + "す": 30427, + "ח": 30428, + "上": 30429, + "‌": 30430, + "∧": 30431, + "ṭ": 30432, + "ק": 30433, + "ξ": 30434, + "¤": 30435, + "ि": 30436, + "会": 30437, + "ന": 30438, + "カ": 30439, + "ų": 30440, + "ま": 30441, + "ു": 30442, + "͡": 30443, + "क": 30444, + "া": 30445, + "小": 30446, + "ן": 30447, + "行": 30448, + "は": 30449, + "ʁ": 30450, + "Ő": 30451, + "Þ": 30452, + "り": 30453, + "キ": 30454, + "Λ": 30455, + "რ": 30456, + "三": 30457, + "が": 30458, + "コ": 30459, + "ζ": 30460, + "市": 30461, + "王": 30462, + "ℝ": 30463, + "Ź": 30464, + "う": 30465, + "て": 30466, + "区": 30467, + "ാ": 30468, + "‚": 30469, + "年": 30470, + "פ": 30471, + "ի": 30472, + "ſ": 30473, + "‹": 30474, + "त": 30475, + "ŏ": 30476, + "‑": 30477, + "̃": 30478, + "Ć": 30479, + "ى": 30480, + "「": 30481, + "」": 30482, + "ს": 30483, + "Ā": 30484, + "म": 30485, + "生": 30486, + "≠": 30487, + "Љ": 30488, + "स": 30489, + "↔": 30490, + "Ο": 30491, + "ว": 30492, + "ლ": 30493, + "成": 30494, + "定": 30495, + "ล": 30496, + "¶": 30497, + "כ": 30498, + "で": 30499, + "ּ": 30500, + "ม": 30501, + "个": 30502, + "和": 30503, + "ס": 30504, + "在": 30505, + "Β": 30506, + "ิ": 30507, + "Ι": 30508, + "⁵": 30509, + "ั": 30510, + "ɡ": 30511, + "━": 30512, + "ら": 30513, + "オ": 30514, + "¼": 30515, + "ե": 30516, + "バ": 30517, + "ָ": 30518, + "ŋ": 30519, + "ŭ": 30520, + "グ": 30521, + "⁶": 30522, + "Ь": 30523, + "⁰": 30524, + "方": 30525, + "บ": 30526, + "—": 30527, + "高": 30528, + "ệ": 30529, + "Ν": 30530, + "ѣ": 30531, + "ィ": 30532, + "地": 30533, + "月": 30534, + "Ô": 30535, + "™": 30536, + "ウ": 30537, + "き": 30538, + "公": 30539, + "ạ": 30540, + "ო": 30541, + "ɾ": 30542, + "่": 30543, + "出": 30544, + "法": 30545, + "Θ": 30546, + "ส": 30547, + "名": 30548, + "ย": 30549, + "ത": 30550, + "Φ": 30551, + "↓": 30552, + "れ": 30553, + "ג": 30554, + "Ё": 30555, + "ơ": 30556, + "下": 30557, + "ә": 30558, + "ψ": 30559, + "┼": 30560, + "ャ": 30561, + "√": 30562, + "¥": 30563, + "社": 30564, + "ṇ": 30565, + "さ": 30566, + "ِ": 30567, + "く": 30568, + "े": 30569, + "Ы": 30570, + "ἐ": 30571, + "テ": 30572, + "为": 30573, + "乡": 30574, + "川": 30575, + "ナ": 30576, + "之": 30577, + "字": 30578, + "ム": 30579, + "ी": 30580, + "海": 30581, + "ブ": 30582, + "≈": 30583, + "!": 30584, + "پ": 30585, + "¯": 30586, + "ἀ": 30587, + "ƒ": 30588, + "こ": 30589, + "ְ": 30590, + "東": 30591, + "明": 30592, + "ὶ": 30593, + "时": 30594, + "ท": 30595, + "ɨ": 30596, + "デ": 30597, + "️": 30598, + "ʊ": 30599, + "エ": 30600, + "南": 30601, + "西": 30602, + "ल": 30603, + "メ": 30604, + "プ": 30605, + "平": 30606, + "式": 30607, + "ῖ": 30608, + "қ": 30609, + "व": 30610, + "غ": 30611, + "Ò": 30612, + "家": 30613, + "ʒ": 30614, + "サ": 30615, + "≡": 30616, + "ダ": 30617, + "ต": 30618, + "∃": 30619, + "₹": 30620, + "प": 30621, + "第": 30622, + "ര": 30623, + "ض": 30624, + "▄": 30625, + "城": 30626, + "ミ": 30627, + "ɐ": 30628, + "¦": 30629, + "美": 30630, + "件": 30631, + "ნ": 30632, + "Ð": 30633, + "ַ": 30634, + "ニ": 30635, + "部": 30636, + "ņ": 30637, + "ǐ": 30638, + "ט": 30639, + "य": 30640, + "あ": 30641, + "¾": 30642, + "ả": 30643, + "ち": 30644, + "ュ": 30645, + "÷": 30646, + "女": 30647, + "神": 30648, + "♦": 30649, + "¢": 30650, + "以": 30651, + "้": 30652, + "র": 30653, + "太": 30654, + "্": 30655, + "チ": 30656, + "յ": 30657, + "前": 30658, + "金": 30659, + "ւ": 30660, + "野": 30661, + "北": 30662, + "ห": 30663, + "‰": 30664, + "っ": 30665, + "加": 30666, + "原": 30667, + "ʲ": 30668, + "置": 30669, + "安": 30670, + "ガ": 30671, + "我": 30672, + "Ḥ": 30673, + "യ": 30674, + "京": 30675, + "▀": 30676, + "მ": 30677, + "ვ": 30678, + "ʾ": 30679, + "∨": 30680, + "ִ": 30681, + "可": 30682, + "取": 30683, + "县": 30684, + "二": 30685, + "▒": 30686, + "理": 30687, + "自": 30688, + "信": 30689, + "代": 30690, + "ี": 30691, + "צ": 30692, + "်": 30693, + "द": 30694, + "⁸": 30695, + "̯": 30696, + "お": 30697, + "要": 30698, + "ῦ": 30699, + "க": 30700, + "ễ": 30701, + "ु": 30702, + "ƒ": 30703, + "ʰ": 30704, + "化": 30705, + "✓": 30706, + "പ": 30707, + "의": 30708, + "다": 30709, + "木": 30710, + "ُ": 30711, + "̀": 30712, + "ˌ": 30713, + "ह": 30714, + "パ": 30715, + "水": 30716, + "ế": 30717, + "ด": 30718, + "ズ": 30719, + "⁹": 30720, + "島": 30721, + "‍": 30722, + "も": 30723, + "正": 30724, + "■": 30725, + "آ": 30726, + "พ": 30727, + "内": 30728, + "Ì": 30729, + "ǔ": 30730, + "┬": 30731, + "作": 30732, + "合": 30733, + "ὸ": 30734, + "み": 30735, + "▼": 30736, + "ῶ": 30737, + "⊙": 30738, + "~": 30739, + "ị": 30740, + "ْ": 30741, + "回": 30742, + "了": 30743, + "所": 30744, + "事": 30745, + "表": 30746, + "ำ": 30747, + "分": 30748, + "⁷": 30749, + "ү": 30750, + "€": 30751, + "入": 30752, + "全": 30753, + "إ": 30754, + "里": 30755, + "Χ": 30756, + "ं": 30757, + "ハ": 30758, + "ค": 30759, + "⁻": 30760, + "モ": 30761, + "郎": 30762, + "据": 30763, + "●": 30764, + "州": 30765, + "∩": 30766, + "者": 30767, + "通": 30768, + "都": 30769, + "ℤ": 30770, + "♭": 30771, + "╌": 30772, + "つ": 30773, + "ḍ": 30774, + "江": 30775, + "ז": 30776, + "Ý": 30777, + "ө": 30778, + "์": 30779, + "到": 30780, + "ி": 30781, + "ʂ": 30782, + "对": 30783, + "스": 30784, + "使": 30785, + "ি": 30786, + "よ": 30787, + "Ἀ": 30788, + "Ï": 30789, + "∘": 30790, + "사": 30791, + "ন": 30792, + "世": 30793, + "ɕ": 30794, + "կ": 30795, + "უ": 30796, + "ട": 30797, + "ბ": 30798, + "ो": 30799, + "വ": 30800, + "果": 30801, + "十": 30802, + "ุ": 30803, + "藤": 30804, + "来": 30805, + "面": 30806, + "け": 30807, + "ĕ": 30808, + "ビ": 30809, + "这": 30810, + "지": 30811, + "ം": 30812, + "街": 30813, + "石": 30814, + "能": 30815, + "空": 30816, + "տ": 30817, + "ئ": 30818, + "武": 30819, + "ʹ": 30820, + "ϕ": 30821, + "后": 30822, + "ะ": 30823, + "元": 30824, + "ʔ": 30825, + "리": 30826, + "기": 30827, + "河": 30828, + "町": 30829, + "花": 30830, + "ὐ": 30831, + "类": 30832, + "░": 30833, + "物": 30834, + "Η": 30835, + "¸": 30836, + "ு": 30837, + "თ": 30838, + "ث": 30839, + "െ": 30840, + "╠": 30841, + "⊆": 30842, + "》": 30843, + "ツ": 30844, + "版": 30845, + "动": 30846, + "如": 30847, + "真": 30848, + "ɲ": 30849, + "号": 30850, + "ذ": 30851, + "정": 30852, + "林": 30853, + "書": 30854, + "民": 30855, + "口": 30856, + "ّ": 30857, + "示": 30858, + "മ": 30859, + "아": 30860, + "图": 30861, + "∪": 30862, + "戦": 30863, + "李": 30864, + "ല": 30865, + "《": 30866, + "光": 30867, + "白": 30868, + "心": 30869, + "த": 30870, + "ज": 30871, + "设": 30872, + "ί": 30873, + "路": 30874, + "ग": 30875, + "∥": 30876, + "한": 30877, + "最": 30878, + "Ћ": 30879, + "手": 30880, + "ս": 30881, + "?": 30882, + "型": 30883, + "ầ": 30884, + "セ": 30885, + "建": 30886, + "ェ": 30887, + "主": 30888, + "시": 30889, + "대": 30890, + "ῆ": 30891, + "‡": 30892, + "集": 30893, + "დ": 30894, + "目": 30895, + "Ρ": 30896, + "ァ": 30897, + "度": 30898, + "長": 30899, + "星": 30900, + "ノ": 30901, + "ộ": 30902, + "가": 30903, + "五": 30904, + "چ": 30905, + "로": 30906, + "ョ": 30907, + "重": 30908, + "于": 30909, + "发": 30910, + "史": 30911, + "ظ": 30912, + "ช": 30913, + "え": 30914, + "國": 30915, + "ĭ": 30916, + "ப": 30917, + "인": 30918, + "你": 30919, + "駅": 30920, + "‒": 30921, + "♥": 30922, + "多": 30923, + "ħ": 30924, + "Қ": 30925, + "ồ": 30926, + "士": 30927, + "四": 30928, + "┴": 30929, + "ம": 30930, + "司": 30931, + "ে": 30932, + "ὰ": 30933, + "∂": 30934, + "╬": 30935, + "次": 30936, + "Ľ": 30937, + "⟶": 30938, + "立": 30939, + "点": 30940, + "音": 30941, + "⠀": 30942, + "器": 30943, + "하": 30944, + "井": 30945, + "存": 30946, + "ֹ": 30947, + "当": 30948, + "Ë": 30949, + "★": 30950, + "寺": 30951, + "性": 30952, + "也": 30953, + "め": 30954, + "だ": 30955, + "位": 30956, + "ങ": 30957, + "ہ": 30958, + "值": 30959, + "古": 30960, + "გ": 30961, + "ব": 30962, + "院": 30963, + "േ": 30964, + "▶": 30965, + "ர": 30966, + "界": 30967, + "語": 30968, + "സ": 30969, + "수": 30970, + "ǒ": 30971, + "愛": 30972, + "✔": 30973, + "時": 30974, + "ọ": 30975, + "റ": 30976, + "մ": 30977, + "ケ": 30978, + "东": 30979, + "同": 30980, + "주": 30981, + "保": 30982, + "Õ": 30983, + "ố": 30984, + "ἰ": 30985, + "青": 30986, + "ゴ": 30987, + "体": 30988, + "清": 30989, + "相": 30990, + "จ": 30991, + "ء": 30992, + "情": 30993, + "𝕜": 30994, + "ক": 30995, + "ḫ": 30996, + "ờ": 30997, + "将": 30998, + "族": 30999, + "동": 31000, + "Υ": 31001, + "┌": 31002, + "ボ": 31003, + "宮": 31004, + "』": 31005, + "ম": 31006, + "『": 31007, + "ļ": 31008, + "श": 31009, + "ป": 31010, + "Ա": 31011, + "ब": 31012, + "자": 31013, + "政": 31014, + "ா": 31015, + "间": 31016, + "fi": 31017, + "松": 31018, + "ṃ": 31019, + "始": 31020, + "息": 31021, + "少": 31022, + "教": 31023, + "获": 31024, + "列": 31025, + "开": 31026, + "ტ": 31027, + "ワ": 31028, + "კ": 31029, + "科": 31030, + "春": 31031, + "治": 31032, + "吉": 31033, + "ས": 31034, + "ศ": 31035, + "ɒ": 31036, + "台": 31037, + "ネ": 31038, + "း": 31039, + "ĩ": 31040, + "工": 31041, + "ά": 31042, + "知": 31043, + "八": 31044, + "場": 31045, + "画": 31046, + "百": 31047, + "☆": 31048, + "記": 31049, + "得": 31050, + "ソ": 31051, + "氏": 31052, + "ာ": 31053, + "에": 31054, + "ল": 31055, + "ṛ": 31056, + "关": 31057, + "ġ": 31058, + "έ": 31059, + "∑": 31060, + "ベ": 31061, + "标": 31062, + "니": 31063, + "ὴ": 31064, + "ֵ": 31065, + "外": 31066, + "♠": 31067, + "わ": 31068, + "間": 31069, + "ภ": 31070, + "校": 31071, + "制": 31072, + "แ": 31073, + "力": 31074, + "門": 31075, + "好": 31076, + "ғ": 31077, + "Ù": 31078, + "ℓ": 31079, + "ֶ": 31080, + "는": 31081, + "┐": 31082, + "∗": 31083, + "指": 31084, + "色": 31085, + "返": 31086, + "馬": 31087, + "请": 31088, + "≫": 31089, + "風": 31090, + "ό": 31091, + "接": 31092, + "서": 31093, + "↳": 31094, + "せ": 31095, + "志": 31096, + "̲": 31097, + "魔": 31098, + "ң": 31099, + "更": 31100, + "程": 31101, + "김": 31102, + "郡": 31103, + "ོ": 31104, + "ũ": 31105, + "ച": 31106, + "利": 31107, + "県": 31108, + "周": 31109, + "そ": 31110, + "や": 31111, + "谷": 31112, + "香": 31113, + "♯": 31114, + "じ": 31115, + "،": 31116, + "期": 31117, + "∅": 31118, + "┘": 31119, + "初": 31120, + "福": 31121, + "片": 31122, + "ザ": 31123, + "動": 31124, + "参": 31125, + "성": 31126, + "Ə": 31127, + "╦": 31128, + "어": 31129, + "ხ": 31130, + "義": 31131, + "च": 31132, + "象": 31133, + "功": 31134, + "♂": 31135, + "도": 31136, + "고": 31137, + "过": 31138, + "վ": 31139, + "皇": 31140, + "特": 31141, + "ậ": 31142, + "长": 31143, + "英": 31144, + "ấ": 31145, + "ണ": 31146, + "Ъ": 31147, + "স": 31148, + "其": 31149, + "ত": 31150, + "流": 31151, + "除": 31152, + "일": 31153, + "ু": 31154, + "្": 31155, + "永": 31156, + "直": 31157, + "상": 31158, + "千": 31159, + "ắ": 31160, + "館": 31161, + "Ť": 31162, + "朝": 31163, + "ட": 31164, + "ɣ": 31165, + "单": 31166, + "ʀ": 31167, + "格": 31168, + "德": 31169, + "전": 31170, + "☺": 31171, + "ピ": 31172, + "歌": 31173, + "进": 31174, + "限": 31175, + "夫": 31176, + "트": 31177, + "⊢": 31178, + "園": 31179, + "量": 31180, + "土": 31181, + "放": 31182, + "码": 31183, + "等": 31184, + "系": 31185, + "∼": 31186, + "華": 31187, + "↵": 31188, + "소": 31189, + "常": 31190, + "否": 31191, + "見": 31192, + "源": 31193, + "ׁ": 31194, + "实": 31195, + "博": 31196, + "라": 31197, + "원": 31198, + "보": 31199, + "⊕": 31200, + "解": 31201, + "〜": 31202, + "男": 31203, + "দ": 31204, + "ポ": 31205, + "ろ": 31206, + "나": 31207, + "ག": 31208, + "無": 31209, + "Û": 31210, + "̥": 31211, + "ұ": 31212, + "查": 31213, + "̣": 31214, + "╗": 31215, + "╩": 31216, + "条": 31217, + "য": 31218, + "ὁ": 31219, + "後": 31220, + "他": 31221, + "网": 31222, + "ல": 31223, + "≃": 31224, + "화": 31225, + "ە": 31226, + "阿": 31227, + "ေ": 31228, + "户": 31229, + "∫": 31230, + "구": 31231, + "ར": 31232, + "မ": 31233, + "▸": 31234, + "լ": 31235, + "○": 31236, + "命": 31237, + "就": 31238, + "龍": 31239, + "君": 31240, + "夏": 31241, + "": 31242, + "言": 31243, + "先": 31244, + "➜": 31245, + "შ": 31246, + "ძ": 31247, + "ਾ": 31248, + "வ": 31249, + "ど": 31250, + "ヒ": 31251, + "ไ": 31252, + "ன": 31253, + "ば": 31254, + "ギ": 31255, + "գ": 31256, + "ἄ": 31257, + "ヤ": 31258, + "典": 31259, + "府": 31260, + "̄": 31261, + "신": 31262, + "组": 31263, + "改": 31264, + "ὲ": 31265, + "华": 31266, + "与": 31267, + "调": 31268, + "╝": 31269, + "ヴ": 31270, + "ქ": 31271, + "由": 31272, + "修": 31273, + "學": 31274, + "♣": 31275, + "消": 31276, + "符": 31277, + "ʌ": 31278, + "부": 31279, + "ớ": 31280, + "‾": 31281, + "▲": 31282, + "录": 31283, + "ള": 31284, + "연": 31285, + "을": 31286, + "ひ": 31287, + "영": 31288, + "┤": 31289, + "已": 31290, + "陽": 31291, + "င": 31292, + "국": 31293, + "容": 31294, + "未": 31295, + "宗": 31296, + "ᴇ": 31297, + "び": 31298, + "장": 31299, + "龙": 31300, + "්": 31301, + "提": 31302, + "ĝ": 31303, + "六": 31304, + "形": 31305, + "제": 31306, + "Հ": 31307, + "伊": 31308, + "ϵ": 31309, + "ข": 31310, + "Ű": 31311, + "ゃ": 31312, + "火": 31313, + "Ṣ": 31314, + "佐": 31315, + "⊥": 31316, + "̪": 31317, + "ứ": 31318, + "□": 31319, + "结": 31320, + "九": 31321, + "雄": 31322, + "թ": 31323, + "ា": 31324, + "而": 31325, + "བ": 31326, + "우": 31327, + "张": 31328, + "ट": 31329, + "ष": 31330, + "向": 31331, + "ῥ": 31332, + "选": 31333, + "공": 31334, + "ゲ": 31335, + "ʐ": 31336, + "仁": 31337, + "堂": 31338, + "ך": 31339, + "ု": 31340, + "ἔ": 31341, + "അ": 31342, + "ề": 31343, + "ད": 31344, + "선": 31345, + "오": 31346, + "久": 31347, + "œ": 31348, + "义": 31349, + "अ": 31350, + "╔": 31351, + "无": 31352, + "
": 31353, + "은": 31354, + "ʷ": 31355, + "那": 31356, + "線": 31357, + "务": 31358, + "基": 31359, + "属": 31360, + "配": 31361, + "미": 31362, + "軍": 31363, + "โ": 31364, + "津": 31365, + "完": 31366, + "研": 31367, + "注": 31368, + "失": 31369, + "应": 31370, + "က": 31371, + "╚": 31372, + "友": 31373, + "章": 31374, + "Ψ": 31375, + "求": 31376, + "ण": 31377, + "경": 31378, + "‬": 31379, + "भ": 31380, + "们": 31381, + "模": 31382, + "需": 31383, + "ச": 31384, + "電": 31385, + "প": 31386, + "դ": 31387, + "へ": 31388, + "此": 31389, + "夜": 31390, + "或": 31391, + "橋": 31392, + "根": 31393, + "Ī": 31394, + "玉": 31395, + "ู": 31396, + "ṅ": 31397, + "交": 31398, + "品": 31399, + "良": 31400, + "ང": 31401, + "ォ": 31402, + "则": 31403, + "開": 31404, + "Ζ": 31405, + "문": 31406, + "被": 31407, + "조": 31408, + "株": 31409, + "记": 31410, + "會": 31411, + "经": 31412, + "ू": 31413, + "ょ": 31414, + "转": 31415, + "崎": 31416, + "마": 31417, + "⌘": 31418, + "比": 31419, + "造": 31420, + "ܐ": 31421, + "ื": 31422, + "没": 31423, + "现": 31424, + "七": 31425, + "Ά": 31426, + "商": 31427, + "ை": 31428, + "机": 31429, + "阳": 31430, + "ĉ": 31431, + "角": 31432, + "站": 31433, + "բ": 31434, + "해": 31435, + "及": 31436, + "ध": 31437, + "術": 31438, + "认": 31439, + "‘": 31440, + "创": 31441, + "編": 31442, + "ղ": 31443, + "ḩ": 31444, + "伝": 31445, + "岡": 31446, + "ड": 31447, + "ホ": 31448, + "港": 31449, + "任": 31450, + "登": 31451, + "ི": 31452, + "็": 31453, + "布": 31454, + "究": 31455, + "帝": 31456, + "여": 31457, + "산": 31458, + "န": 31459, + "◦": 31460, + "密": 31461, + "变": 31462, + "序": 31463, + "♀": 31464, + "∣": 31465, + "计": 31466, + "曲": 31467, + "Ă": 31468, + "ύ": 31469, + "ʋ": 31470, + "传": 31471, + "】": 31472, + "包": 31473, + "意": 31474, + "去": 31475, + "沙": 31476, + "⸮": 31477, + "【": 31478, + "写": 31479, + "超": 31480, + "ய": 31481, + "今": 31482, + "┈": 31483, + "森": 31484, + "ි": 31485, + "⊗": 31486, + "비": 31487, + "հ": 31488, + "Ḩ": 31489, + "ǫ": 31490, + "黄": 31491, + "∙": 31492, + "드": 31493, + "🌍": 31494, + "景": 31495, + "湖": 31496, + "ք": 31497, + "ိ": 31498, + "ⁿ": 31499, + "̂": 31500, + "ペ": 31501, + "何": 31502, + "宇": 31503, + "張": 31504, + "语": 31505, + "老": 31506, + "例": 31507, + "Ṭ": 31508, + "鉄": 31509, + "克": 31510, + "☉": 31511, + "™": 31512, + "ɹ": 31513, + "ἱ": 31514, + "ⴰ": 31515, + "然": 31516, + "를": 31517, + "ǧ": 31518, + "報": 31519, + "服": 31520, + "Ď": 31521, + "想": 31522, + "‖": 31523, + "ユ": 31524, + "実": 31525, + "载": 31526, + "요": 31527, + "ℚ": 31528, + "波": 31529, + "马": 31530, + "状": 31531, + "线": 31532, + "유": 31533, + "洋": 31534, + "万": 31535, + "진": 31536, + "জ": 31537, + "添": 31538, + "球": 31539, + "機": 31540, + "支": 31541, + "显": 31542, + "拉": 31543, + "ὑ": 31544, + "送": 31545, + "隊": 31546, + "ธ": 31547, + "处": 31548, + "師": 31549, + "⊂": 31550, + "像": 31551, + "়": 31552, + "黒": 31553, + "ց": 31554, + "": 31555, + "ủ": 31556, + "只": 31557, + "起": 31558, + "段": 31559, + "တ": 31560, + "區": 31561, + "選": 31562, + "천": 31563, + "業": 31564, + "算": 31565, + "广": 31566, + "រ": 31567, + "视": 31568, + "秋": 31569, + "因": 31570, + "년": 31571, + "ے": 31572, + "输": 31573, + "̱": 31574, + "Մ": 31575, + "∆": 31576, + "康": 31577, + "세": 31578, + "思": 31579, + "死": 31580, + "聖": 31581, + "민": 31582, + "-": 31583, + "头": 31584, + "ർ": 31585, + "∉": 31586, + "車": 31587, + "┃": 31588, + "▇": 31589, + "按": 31590, + "⍵": 31591, + "夢": 31592, + "汉": 31593, + "从": 31594, + "ী": 31595, + "题": 31596, + "ˆ": 31597, + "ἡ": 31598, + "展": 31599, + "省": 31600, + "ུ": 31601, + "葉": 31602, + "호": 31603, + "ਰ": 31604, + "素": 31605, + "関": 31606, + "그": 31607, + ";": 31608, + "න": 31609, + "页": 31610, + "共": 31611, + "宿": 31612, + "态": 31613, + "ན": 31614, + "技": 31615, + "乐": 31616, + "控": 31617, + "移": 31618, + "影": 31619, + "ụ": 31620, + "ゆ": 31621, + "ご": 31622, + "್": 31623, + "管": 31624, + "ൾ": 31625, + "╣": 31626, + "戸": 31627, + "⇔": 31628, + "函": 31629, + "ẓ": 31630, + "尾": 31631, + "场": 31632, + "介": 31633, + "": 31634, + "育": 31635, + "ර": 31636, + "泉": 31637, + "ൽ": 31638, + "说": 31639, + "换": 31640, + "必": 31641, + "紀": 31642, + "མ": 31643, + "ེ": 31644, + "ợ": 31645, + "ൻ": 31646, + "宝": 31647, + "気": 31648, + "门": 31649, + "令": 31650, + "左": 31651, + "漢": 31652, + "若": 31653, + "屋": 31654, + "局": 31655, + "打": 31656, + "発": 31657, + "问": 31658, + "恋": 31659, + "兵": 31660, + "別": 31661, + "ા": 31662, + "Ս": 31663, + "߬": 31664, + "গ": 31665, + "并": 31666, + "ख": 31667, + "ή": 31668, + "节": 31669, + "ʑ": 31670, + "ץ": 31671, + "Ḫ": 31672, + "ℂ": 31673, + "引": 31674, + "统": 31675, + "智": 31676, + "̩": 31677, + "ै": 31678, + "电": 31679, + "현": 31680, + "✅": 31681, + "赤": 31682, + "断": 31683, + "ね": 31684, + "称": 31685, + "শ": 31686, + "身": 31687, + "首": 31688, + "付": 31689, + "⅓": 31690, + "ਸ": 31691, + "連": 31692, + "ზ": 31693, + "官": 31694, + "持": 31695, + "奈": 31696, + "御": 31697, + "親": 31698, + "군": 31699, + "库": 31700, + "秀": 31701, + "址": 31702, + "守": 31703, + "活": 31704, + "ལ": 31705, + "ふ": 31706, + "藏": 31707, + "ស": 31708, + "竹": 31709, + "草": 31710, + "結": 31711, + "ා": 31712, + "昌": 31713, + "樹": 31714, + "ள": 31715, + "무": 31716, + "হ": 31717, + "ゼ": 31718, + "̈": 31719, + "շ": 31720, + "勝": 31721, + "足": 31722, + "ရ": 31723, + "위": 31724, + "į": 31725, + "Ἰ": 31726, + "航": 31727, + "陳": 31728, + "业": 31729, + "富": 31730, + "雪": 31731, + "आ": 31732, + "再": 31733, + "안": 31734, + "默": 31735, + "박": 31736, + "용": 31737, + "✿": 31738, + "楽": 31739, + "沢": 31740, + "羅": 31741, + "Ė": 31742, + "ʎ": 31743, + "忠": 31744, + "错": 31745, + "단": 31746, + "면": 31747, + "ķ": 31748, + "桥": 31749, + "雲": 31750, + "该": 31751, + "ṯ": 31752, + "岩": 31753, + "남": 31754, + "ỹ": 31755, + "专": 31756, + "切": 31757, + "店": 31758, + "朱": 31759, + "ף": 31760, + "ず": 31761, + "幸": 31762, + "母": 31763, + "ɫ": 31764, + "々": 31765, + "∷": 31766, + "串": 31767, + "击": 31768, + "Ἐ": 31769, + "設": 31770, + "⊤": 31771, + "ₗ": 31772, + "經": 31773, + "강": 31774, + "ပ": 31775, + "।": 31776, + "ѐ": 31777, + "ᾶ": 31778, + "➖": 31779, + "座": 31780, + "씨": 31781, + "ぶ": 31782, + "Ţ": 31783, + "云": 31784, + "告": 31785, + "変": 31786, + "试": 31787, + "隆": 31788, + "개": 31789, + "պ": 31790, + "判": 31791, + "劉": 31792, + "˜": 31793, + "ˠ": 31794, + "编": 31795, + "ณ": 31796, + "ữ": 31797, + "达": 31798, + "Ě": 31799, + "ܝ": 31800, + "ြ": 31801, + "ḷ": 31802, + "右": 31803, + "들": 31804, + "ŝ": 31805, + "ӏ": 31806, + "్": 31807, + "എ": 31808, + "ற": 31809, + "复": 31810, + "看": 31811, + "話": 31812, + "坂": 31813, + "尔": 31814, + "衛": 31815, + "զ": 31816, + "차": 31817, + "丸": 31818, + "样": 31819, + "鬼": 31820, + "़": 31821, + "학": 31822, + "喜": 31823, + "斯": 31824, + "銀": 31825, + "만": 31826, + "Ξ": 31827, + "ც": 31828, + "群": 31829, + "近": 31830, + "塔": 31831, + "ϊ": 31832, + "ந": 31833, + "む": 31834, + "确": 31835, + "索": 31836, + "∇": 31837, + "非": 31838, + "望": 31839, + "❯": 31840, + "希": 31841, + "ỳ": 31842, + "甲": 31843, + "越": 31844, + "鳥": 31845, + "麻": 31846, + "雅": 31847, + "拳": 31848, + "ក": 31849, + "溪": 31850, + "测": 31851, + "话": 31852, + "池": 31853, + "菜": 31854, + "食": 31855, + "터": 31856, + "ਿ": 31857, + "渡": 31858, + "速": 31859, + "ھ": 31860, + "ರ": 31861, + "陈": 31862, + "健": 31863, + "ো": 31864, + "ක": 31865, + "ὺ": 31866, + "军": 31867, + "庄": 31868, + "红": 31869, + "Ħ": 31870, + "論": 31871, + "Ÿ": 31872, + "Έ": 31873, + "ự": 31874, + "孝": 31875, + "頭": 31876, + "飛": 31877, + "˚": 31878, + "▓": 31879, + "ً": 31880, + "‭": 31881, + "么": 31882, + "達": 31883, + "ѫ": 31884, + "巴": 31885, + "洞": 31886, + "貴": 31887, + "项": 31888, + "ദ": 31889, + "ɵ": 31890, + "̍": 31891, + "ҡ": 31892, + "种": 31893, + "运": 31894, + "식": 31895, + "ྱ": 31896, + "ḳ": 31897, + "彦": 31898, + "⥤": 31899, + "书": 31900, + "构": 31901, + "米": 31902, + "连": 31903, + "操": 31904, + "装": 31905, + "과": 31906, + "ぐ": 31907, + "反": 31908, + "̌": 31909, + "仮": 31910, + "员": 31911, + "昭": 31912, + "ശ": 31913, + "兴": 31914, + "客": 31915, + "删": 31916, + "ම": 31917, + "ව": 31918, + "პ": 31919, + "ċ": 31920, + "ഷ": 31921, + "သ": 31922, + "ᵉ": 31923, + "居": 31924, + "타": 31925, + "𝓝": 31926, + "थ": 31927, + "現": 31928, + "ˇ": 31929, + "종": 31930, + "助": 31931, + "唐": 31932, + "瀬": 31933, + "ន": 31934, + "微": 31935, + "1": 31936, + "Ġ": 31937, + "ほ": 31938, + "舞": 31939, + "내": 31940, + "중": 31941, + "Ē": 31942, + "导": 31943, + "效": 31944, + "방": 31945, + "ḏ": 31946, + "深": 31947, + "梅": 31948, + "料": 31949, + "월": 31950, + "每": 31951, + "洲": 31952, + "회": 31953, + "茶": 31954, + "败": 31955, + "ഞ": 31956, + "ể": 31957, + "ヨ": 31958, + "些": 31959, + "双": 31960, + "嘉": 31961, + "모": 31962, + "바": 31963, + "ษ": 31964, + "進": 31965, + "음": 31966, + "ญ": 31967, + "丁": 31968, + "故": 31969, + "計": 31970, + "遠": 31971, + "교": 31972, + "재": 31973, + "候": 31974, + "房": 31975, + "명": 31976, + "两": 31977, + "ფ": 31978, + "才": 31979, + "합": 31980, + "止": 31981, + "番": 31982, + "ɯ": 31983, + "奇": 31984, + "怪": 31985, + "联": 31986, + "역": 31987, + "泰": 31988, + "백": 31989, + "ὀ": 31990, + "げ": 31991, + "べ": 31992, + "边": 31993, + "还": 31994, + "黃": 31995, + "왕": 31996, + "收": 31997, + "弘": 31998, + "给": 31999 + }, + "merges": [ + "▁ t", + "e r", + "i n", + "▁ a", + "e n", + "o n", + "▁t h", + "▁ th", + "e s", + "▁ s", + "▁ d", + "a t", + "o r", + "a n", + "▁ c", + "i s", + "r e", + "i t", + "▁t he", + "▁th e", + "▁ the", + "a r", + "l e", + "▁ w", + "▁ p", + "o u", + "a l", + "▁ f", + "▁ m", + "e d", + "▁ o", + "▁ b", + "o m", + "io n", + "i on", + "in g", + "i ng", + "i c", + "a s", + "e l", + "en t", + "e nt", + "▁i n", + "▁ in", + "▁ h", + "n d", + "e t", + "▁ l", + "▁ n", + "s t", + "▁t o", + "▁ to", + "c h", + "▁ I", + "r o", + "i l", + "▁o f", + "▁ of", + "d e", + "c t", + "▁ (", + "a m", + "▁ C", + "▁d e", + "▁ de", + "▁ S", + "▁ u", + "▁ A", + "▁ \\", + "▁ e", + "▁a nd", + "▁an d", + "▁ and", + "▁ T", + "o l", + "▁ v", + "i m", + "o t", + "a d", + "u t", + "▁ g", + "e m", + "u r", + "i d", + "▁ *", + "i g", + "r a", + "▁r e", + "▁ re", + "▁i s", + "▁ is", + "q u", + "o w", + "▁ M", + "es t", + "e st", + "▁ y", + "s e", + "v e", + "c e", + "i e", + "u n", + "▁ P", + "▁ B", + "a g", + "u l", + "▁ =", + "h e", + "en d", + "e nd", + "od e", + "o de", + "te r", + "t er", + "me nt", + "men t", + "m ent", + "o s", + "▁ D", + "i f", + "at ion", + "ati on", + "atio n", + "a tion", + "▁f or", + "▁fo r", + "▁ for", + "▁ r", + "▁ L", + "▁y ou", + "▁yo u", + "▁ you", + "▁b e", + "▁ be", + "l y", + "ve r", + "v er", + "a b", + "t e", + "▁i t", + "▁ it", + "▁o n", + "▁ on", + "r i", + "u s", + "▁ \"", + "▁w h", + "▁ wh", + "▁c on", + "▁co n", + "▁ con", + "▁ H", + "▁s t", + "▁ st", + "i r", + "▁ E", + "▁ F", + "c k", + "▁a n", + "▁ an", + "t h", + "e g", + "a y", + "it h", + "i th", + "▁ R", + "is t", + "i st", + "an d", + "a nd", + "▁t hat", + "▁th at", + "▁ that", + "▁a l", + "▁ al", + "▁ $", + "▁ #", + "o d", + "u m", + "▁ W", + "h t", + "co de", + "cod e", + "c ode", + "▁ G", + "at e", + "a te", + "es s", + "e ss", + "▁ N", + "er e", + "e re", + "p p", + "▁a s", + "▁ as", + "▁s e", + "▁ se", + "▁p ro", + "▁pr o", + "▁ pro", + "▁w ith", + "▁wit h", + "▁ with", + "p e", + "▁ k", + "er s", + "e rs", + "p t", + ") ;", + "l o", + "▁c om", + "▁co m", + "▁ com", + "am e", + "a me", + "▁ `", + "▁C om", + "▁Co m", + "▁ Com", + "i a", + "an t", + "a nt", + "▁l a", + "▁ la", + "▁ {", + "▁e n", + "▁ en", + "ct ion", + "c tion", + "▁e x", + "▁ ex", + "l d", + "u b", + "▁ j", + "l a", + "u e", + "▁ J", + "ic h", + "i ch", + "▁d o", + "▁ do", + "▁ O", + "▁q u", + "▁ qu", + "i v", + "or t", + "o rt", + "ar t", + "a rt", + "▁u n", + "▁ un", + "▁# #", + "▁ ##", + "▁t his", + "▁th is", + "▁ this", + "k e", + "▁h a", + "▁ ha", + "▁ -", + "ou t", + "o ut", + "▁T he", + "▁Th e", + "▁ The", + "▁n ot", + "▁no t", + "▁ not", + "▁n e", + "▁ ne", + "il l", + "i ll", + "▁l e", + "▁ le", + "c i", + "ro m", + "r om", + "in e", + "i ne", + "/ /", + "o p", + "eg in", + "e gin", + "▁Com ment", + "▁Comm ent", + "▁ Comment", + "be gin", + "beg in", + "b egin", + "с т", + "as s", + "a ss", + "i z", + ") .", + "o g", + "▁ п", + "▁o r", + "▁ or", + "▁w as", + "▁wa s", + "▁ was", + "▁a t", + "▁ at", + "ou r", + "o ur", + "▁ i", + "ai n", + "a in", + "▁ K", + "н а", + "▁ V", + "g e", + "▁s u", + "▁ su", + "a p", + "ag e", + "a ge", + "ou ld", + "oul d", + "o uld", + "n e", + "a v", + "x t", + "or e", + "o re", + "il e", + "i le", + "- -", + "▁ в", + "▁b y", + "▁ by", + "l i", + "at h", + "a th", + "р а", + "be r", + "b er", + "ac h", + "a ch", + "al l", + "a ll", + "▁T h", + "▁ Th", + "ul t", + "u lt", + "▁ }", + "▁ U", + "▁u s", + "▁ us", + "▁ z", + "us t", + "u st", + "▁h ave", + "▁ha ve", + "▁hav e", + "▁ have", + "li c", + "l ic", + "н и", + "▁c an", + "▁ca n", + "▁ can", + "t r", + "co m", + "c om", + ") ,", + "▁I n", + "▁ In", + "in d", + "i nd", + "el l", + "e ll", + "▁f rom", + "▁fr om", + "▁fro m", + "▁ from", + "о в", + "t o", + "▁ [", + "ab le", + "abl e", + "a ble", + "os t", + "o st", + "▁c h", + "▁ ch", + "ec t", + "e ct", + "ig ht", + "igh t", + "in t", + "i nt", + "▁ '", + "▁a re", + "▁ar e", + "▁ are", + "▁i m", + "▁ im", + "▁s h", + "▁ sh", + "▁ <", + "▁A n", + "▁ An", + "▁ с", + "at a", + "a ta", + "ir e", + "i re", + "▁t r", + "▁ tr", + "co n", + "c on", + "or d", + "o rd", + "it y", + "i ty", + "ar d", + "a rd", + "▁h e", + "▁ he", + "▁b ut", + "▁bu t", + "▁ but", + "o c", + "= \"", + "▁p r", + "▁ pr", + "ur e", + "u re", + "pe r", + "p er", + "ac k", + "a ck", + "or k", + "on g", + "o ng", + "an s", + "a ns", + "к о", + "pl e", + "p le", + "▁d es", + "▁de s", + "▁ des", + "o k", + "or m", + "o rm", + "we r", + "w er", + "a k", + "p r", + "as e", + "a se", + "▁e l", + "▁ el", + "p h", + "a c", + "▁u nd", + "▁un d", + "▁ und", + "▁a r", + "▁ ar", + "▁i f", + "▁ if", + "u d", + "p s", + "it e", + "i te", + "bl e", + "b le", + "н о", + "fe r", + "f er", + "p l", + "iv e", + "i ve", + "an g", + "a ng", + "en s", + "e ns", + "р о", + "▁s o", + "▁ so", + "s o", + "as t", + "a st", + "( )", + "sw er", + "s wer", + "r u", + "ie s", + "i es", + "▁ :", + "a u", + "o v", + "р е", + "г о", + "▁d er", + "▁de r", + "▁ der", + "▁m y", + "▁ my", + "▁w e", + "▁ we", + "▁m e", + "▁ me", + "n t", + "▁a d", + "▁ ad", + "ur n", + "u rn", + "▁y our", + "▁you r", + "▁yo ur", + "▁ your", + ":/ /", + ": //", + "ar e", + "a re", + "▁a ll", + "▁al l", + "▁ all", + "f f", + "i o", + "es tion", + "est ion", + "esti on", + "im e", + "i me", + "▁e r", + "▁ er", + "la ss", + "las s", + "l ass", + "▁ и", + "▁wh ich", + "▁ which", + "om e", + "o me", + "on t", + "o nt", + "▁p ar", + "▁pa r", + "▁ par", + "▁m a", + "▁ ma", + "▁ Y", + "\" ,", + "▁ о", + "f t", + "ia l", + "i al", + "c c", + "ou nd", + "oun d", + "o und", + "▁l i", + "▁ li", + "▁re s", + "▁r es", + "▁ res", + "et h", + "e th", + "je ct", + "j ect", + "▁a pp", + "▁ap p", + "▁ app", + "▁S t", + "▁ St", + "ic e", + "i ce", + "▁a m", + "▁ am", + "ac t", + "a ct", + "▁d el", + "▁de l", + "▁ del", + "g r", + "at ed", + "ate d", + "a ted", + "ie r", + "i er", + "▁a b", + "▁ ab", + "▁e t", + "▁ et", + "al ly", + "all y", + ". .", + "po rt", + "por t", + "p ort", + "i k", + "▁p er", + "▁pe r", + "▁ per", + "▁c ont", + "▁con t", + "▁co nt", + "▁ cont", + "р и", + "к а", + "se r", + "s er", + "л и", + "l l", + "ie w", + "i ew", + "ig n", + "i gn", + "_ {", + "pu t", + "p ut", + "on e", + "o ne", + "un ction", + "unc tion", + "unct ion", + "▁d i", + "▁ di", + "ar y", + "a ry", + "it ion", + "iti on", + "i tion", + "m a", + "е н", + "ge t", + "g et", + "▁l o", + "▁ lo", + "▁v al", + "▁va l", + "▁ val", + "▁ Q", + "ra n", + "r an", + "▁ д", + "en ce", + "enc e", + "▁w ork", + "▁wor k", + "▁ work", + "▁н а", + "▁ на", + "i p", + "it em", + "ite m", + "i tem", + "yp e", + "y pe", + "▁ &", + "▁h is", + "▁hi s", + "▁ his", + "▁u se", + "▁us e", + "▁ use", + "de r", + "d er", + "▁An swer", + "▁Ans wer", + "▁ Answer", + "▁w ill", + "▁wil l", + "▁ will", + "iz e", + "i ze", + "т а", + "lo w", + "l ow", + "▁C h", + "▁ Ch", + "▁g et", + "▁ge t", + "▁ get", + "id e", + "i de", + "ou s", + "o us", + "in k", + "pt ion", + "p tion", + "л а", + "tu rn", + "t urn", + "un g", + "u ng", + "e c", + "u g", + "fo rm", + "for m", + "f orm", + "re s", + "r es", + "ht t", + "h tt", + "ou g", + "o ug", + "л ь", + "▁n o", + "▁ no", + "c l", + "▁r o", + "▁ ro", + "▁o ne", + "▁on e", + "▁ one", + "t t", + "cr i", + "c ri", + "d u", + "▁u p", + "▁ up", + "т о", + "( \"", + "▁o b", + "▁ ob", + "w e", + "or y", + "o ry", + "▁e st", + "▁es t", + "▁ est", + "er y", + "e ry", + "ie l", + "i el", + "st r", + "s tr", + "o b", + "▁qu e", + "▁q ue", + "▁ que", + "ia n", + "i an", + "▁o ut", + "▁ou t", + "▁ out", + "▁p l", + "▁ pl", + "▁n ew", + "▁ne w", + "▁ new", + "к и", + "▁ +", + "r y", + "ot h", + "o th", + "th er", + "the r", + "t her", + "▁v ar", + "▁va r", + "▁ var", + "▁w ould", + "▁wo uld", + "▁s er", + "▁se r", + "▁ ser", + "ter n", + "te rn", + "t ern", + "te xt", + "tex t", + "t ext", + "▁t here", + "▁th ere", + "▁the re", + "▁ther e", + "▁ there", + "is h", + "i sh", + "ro r", + "r or", + "т е", + "▁s et", + "▁se t", + "▁ set", + "▁ @", + "▁п о", + "▁ по", + "▁t e", + "▁ te", + "e x", + "▁re turn", + "▁ret urn", + "▁ return", + "ai l", + "a il", + "▁a ny", + "▁an y", + "▁ any", + "▁I t", + "▁ It", + "▁f unction", + "▁fun ction", + "▁func tion", + "▁ function", + "{ \\", + "' ,", + "é s", + "al e", + "a le", + "а н", + "▁w hen", + "▁wh en", + "▁whe n", + "▁ when", + "i b", + "▁g o", + "▁ go", + "an ce", + "anc e", + "▁h ad", + "▁ha d", + "▁ had", + "▁Q u", + "▁ Qu", + "▁c omp", + "▁com p", + "▁co mp", + "▁ comp", + "л е", + "▁ з", + "ma th", + "mat h", + "m ath", + "▁h as", + "▁ha s", + "▁ has", + "▁ м", + "▁p re", + "▁pr e", + "▁ pre", + "en er", + "ene r", + "e ner", + "▁p art", + "▁par t", + "▁pa rt", + "▁ part", + "el f", + "▁d ie", + "▁di e", + "▁ die", + "▁l ike", + "▁li ke", + "▁lik e", + "▁ like", + "ra y", + "r ay", + "ir st", + "irs t", + "▁d is", + "▁di s", + "▁ dis", + "▁m an", + "▁ma n", + "▁ man", + "ri t", + "r it", + "▁t hen", + "▁th en", + "▁the n", + "▁ then", + "▁c lass", + "▁cl ass", + "▁cla ss", + "▁clas s", + "▁ class", + "pr o", + "p ro", + "▁p o", + "▁ po", + "▁u sing", + "▁us ing", + "▁ using", + "e b", + "▁c ode", + "▁co de", + "▁cod e", + "▁ code", + "ow n", + "o wn", + "▁s ome", + "▁so me", + "▁som e", + "▁ some", + "ce s", + "c es", + "▁$ \\", + "▁ $\\", + "е р", + "le ct", + "l ect", + "▁a u", + "▁ au", + "is ch", + "isc h", + "i sch", + "▁c ol", + "▁co l", + "▁ col", + "▁ –", + "u p", + "on s", + "o ns", + "▁a dd", + "▁ad d", + "▁ add", + "il d", + "i ld", + "is s", + "i ss", + "va l", + "v al", + "ou nt", + "oun t", + "o unt", + "le s", + "l es", + "ve nt", + "ven t", + "v ent", + "▁ Z", + "I n", + "ro w", + "r ow", + "ea r", + "e ar", + "at ions", + "ation s", + "ati ons", + "atio ns", + "a h", + "qu e", + "q ue", + "ub lic", + "u blic", + "an k", + "▁s p", + "▁ sp", + "▁W h", + "▁ Wh", + "-- --", + "--- -", + "- ---", + "s k", + "e w", + "ag s", + "a gs", + "т и", + "an n", + "a nn", + "▁ —", + "er t", + "e rt", + "ac e", + "a ce", + "sc h", + "s ch", + "▁n eed", + "▁ne ed", + "▁ need", + "▁ à", + "ie n", + "i en", + "ou gh", + "oug h", + "o ugh", + "н е", + "▁d ef", + "▁de f", + "▁ def", + "i j", + "er n", + "e rn", + "▁w hat", + "▁wh at", + "▁ what", + "▁A r", + "▁ Ar", + "w o", + "m l", + "< /", + "▁R e", + "▁ Re", + "▁e s", + "▁ es", + "▁in st", + "▁ins t", + "▁ inst", + "b o", + "a z", + "▁# ##", + "▁## #", + "▁ б", + "er m", + "e rm", + "▁A l", + "▁ Al", + "le d", + "l ed", + "д а", + "te n", + "t en", + "se t", + "s et", + "л о", + "▁c omm", + "▁com m", + "▁co mm", + "▁ comm", + "s h", + "в а", + "▁ /", + "▁d ata", + "▁da ta", + "▁dat a", + "▁ data", + "▁/ /", + "▁ //", + "] (", + "▁s tr", + "▁st r", + "▁ str", + "os e", + "o se", + "▁U n", + "▁ Un", + "ve n", + "v en", + "S t", + ".. .", + ". ..", + "▁ С", + "ys t", + "y st", + "▁ «", + "ic k", + "i ck", + "i x", + "pa r", + "p ar", + "▁ у", + "▁w ant", + "▁wa nt", + "n g", + "ot e", + "o te", + "▁g r", + "▁ gr", + "▁d u", + "▁ du", + "▁ .", + "un d", + "u nd", + "▁on ly", + "▁ only", + "▁s a", + "▁ sa", + "el y", + "e ly", + "ve rs", + "ver s", + "v ers", + "▁e nt", + "▁en t", + "▁ ent", + ") )", + "( '", + "▁m od", + "▁mo d", + "▁ mod", + "av a", + "a va", + "to n", + "t on", + "▁sh ould", + "▁sho uld", + "▁ should", + "em ent", + "eme nt", + "emen t", + "e ment", + "▁f orm", + "▁for m", + "▁fo rm", + "▁ form", + "▁al so", + "▁als o", + "▁ also", + "▁s c", + "▁ sc", + "in gs", + "ing s", + "▁Y ou", + "▁ You", + "ó n", + "▁k n", + "▁ kn", + "() ;", + "( );", + "▁ |", + "▁w ere", + "▁we re", + "▁wer e", + "s s", + "▁Qu estion", + "▁ Question", + "is e", + "i se", + "▁th ey", + "▁the y", + "▁ they", + "▁D e", + "▁ De", + "on d", + "o nd", + "▁s ol", + "▁so l", + "▁ sol", + "▁f ol", + "▁fo l", + "▁ fol", + "▁m ore", + "▁mo re", + "▁mor e", + "▁ more", + "▁h er", + "▁he r", + "▁ her", + "▁ _", + "▁ é", + "at ch", + "ft er", + "fte r", + "f ter", + "▁c re", + "▁cr e", + "▁ cre", + "lo ck", + "loc k", + "l ock", + "tr ing", + "tri ng", + "t ring", + "▁T his", + "▁Th is", + "▁ This", + "z e", + "ad o", + "a do", + "ul l", + "u ll", + "ge r", + "g er", + "b e", + "▁o ther", + "▁ot her", + "▁ other", + "▁T ags", + "▁Tag s", + "▁Ta gs", + "▁ Tags", + "ut ion", + "uti on", + "u tion", + "ic t", + "i ct", + "▁h ow", + "▁ho w", + "▁ how", + "▁ x", + "▁S e", + "▁ Se", + "▁c he", + "▁ch e", + "▁ che", + "cri pt", + "cr ipt", + "▁j ust", + "▁ju st", + "▁ just", + "▁p os", + "▁po s", + "▁ pos", + "an ge", + "ang e", + "if ic", + "ifi c", + "i fic", + "re e", + "r ee", + "} }", + "▁t ime", + "▁tim e", + "▁ti me", + "▁ time", + "ap p", + "a pp", + "н ы", + "▁f ile", + "▁fil e", + "▁fi le", + "▁ file", + "ar k", + "ic al", + "ica l", + "i cal", + "▁f irst", + "▁fir st", + "▁ first", + "▁in t", + "▁i nt", + "▁ int", + "▁ В", + "▁H e", + "▁ He", + "t a", + "um ent", + "ume nt", + "umen t", + "u ment", + "or s", + "o rs", + "le ment", + "lem ent", + "l ement", + "ra c", + "r ac", + "▁a g", + "▁ ag", + "▁do es", + "▁ does", + "y n", + "re ad", + "rea d", + "r ead", + "ua l", + "u al", + "▁L e", + "▁ Le", + "y s", + "▁e m", + "▁ em", + "▁n um", + "▁nu m", + "▁ num", + "ve l", + "v el", + "д и", + "ov er", + "ove r", + "o ver", + "▁d if", + "▁di f", + "et hod", + "eth od", + "▁I f", + "▁ If", + "▁s pe", + "▁sp e", + "▁ spe", + "y m", + "▁t hem", + "▁th em", + "▁the m", + "▁in to", + "▁int o", + "▁ into", + "▁l es", + "▁le s", + "▁ les", + "▁it s", + "▁i ts", + "▁ its", + "es e", + "e se", + "ie ld", + "iel d", + "i eld", + "▁p ublic", + "▁pub lic", + "▁pu blic", + "▁publi c", + "▁ public", + "▁ П", + "▁d en", + "▁de n", + "▁ den", + "yst em", + "ys tem", + "o f", + "▁o ver", + "▁ov er", + "▁ over", + "- >", + "▁f il", + "▁fi l", + "▁ fil", + "na me", + "nam e", + "n ame", + "in al", + "ina l", + "i nal", + "▁i l", + "▁ il", + "am ple", + "amp le", + "▁w ay", + "▁wa y", + "▁ way", + "ic a", + "i ca", + "в о", + "ce ss", + "ces s", + "c ess", + "it t", + "i tt", + "uc h", + "u ch", + "▁w here", + "▁wh ere", + "▁whe re", + "▁ where", + "м и", + "or g", + "o rg", + "htt ps", + "http s", + "▁v o", + "▁ vo", + "ie nt", + "ien t", + "i ent", + "ov e", + "o ve", + "▁val ue", + "▁valu e", + "▁ value", + "en g", + "e ng", + "▁L a", + "▁ La", + "^ {", + "re f", + "r ef", + "ie d", + "i ed", + "E R", + "▁s tat", + "▁st at", + "▁sta t", + "▁ stat", + "fi g", + "f ig", + "m e", + "▁v on", + "▁vo n", + "▁ von", + "▁in ter", + "▁int er", + "▁inte r", + "▁ inter", + "ro id", + "r oid", + "at er", + "ate r", + "a ter", + "▁the ir", + "▁b et", + "▁be t", + "▁ bet", + "▁e in", + "▁ ein", + "} \\", + "\" >", + "▁s ub", + "▁su b", + "▁ sub", + "▁o p", + "▁ op", + "▁d on", + "▁do n", + "▁ don", + "t y", + "▁t ry", + "▁tr y", + "▁ try", + "▁P ro", + "▁Pr o", + "▁ Pro", + "▁t ra", + "▁tr a", + "▁ tra", + "▁s ame", + "▁sa me", + "▁sam e", + "▁ same", + "e p", + "▁t wo", + "▁tw o", + "▁ two", + "▁n ame", + "▁na me", + "▁nam e", + "▁ name", + "ol d", + "o ld", + "le t", + "l et", + "▁s im", + "▁si m", + "▁ sim", + "s p", + "▁a v", + "▁ av", + "br e", + "b re", + "ble m", + "bl em", + "b lem", + "e y", + "▁c ould", + "▁co uld", + "▁cou ld", + "▁ could", + "▁c or", + "▁co r", + "▁ cor", + "▁a cc", + "▁ac c", + "▁ acc", + "ay s", + "a ys", + "cr e", + "c re", + "ur r", + "u rr", + "s i", + "▁con st", + "▁cons t", + "▁ const", + "ue s", + "u es", + "} $", + "V iew", + "▁a ct", + "▁ac t", + "▁ act", + "▁b o", + "▁ bo", + "▁к о", + "▁ ко", + "▁s om", + "▁so m", + "▁ som", + "▁ab out", + "▁ about", + "la nd", + "lan d", + "l and", + "me r", + "m er", + "▁l ist", + "▁li st", + "▁ list", + "ca l", + "c al", + "▁im port", + "▁imp ort", + "▁ import", + "co l", + "c ol", + "▁n a", + "▁ na", + "n a", + ": :", + "▁w ho", + "▁wh o", + "▁ who", + "▁e rror", + "▁er ror", + "▁err or", + "▁ error", + "▁ X", + "at or", + "ato r", + "a tor", + "ex t", + "e xt", + "▁b een", + "▁be en", + "é r", + "▁r un", + "▁ru n", + "▁ run", + "po s", + "p os", + "▁c l", + "▁ cl", + "* *", + "▁ К", + "ul ar", + "ula r", + "u lar", + "au se", + "aus e", + "a use", + "▁re g", + "▁r eg", + "▁ reg", + "▁k now", + "▁kn ow", + "▁ know", + "▁s ee", + "▁se e", + "▁ see", + "▁h im", + "▁hi m", + "▁ him", + "ni ng", + "n ing", + "▁з а", + "▁ за", + "at es", + "ate s", + "a tes", + "fo re", + "for e", + "f ore", + "ion s", + "io ns", + "i ons", + "▁h el", + "▁he l", + "▁ hel", + "ut e", + "u te", + "▁re m", + "▁r em", + "▁ rem", + "▁г о", + "▁ го", + "▁M ar", + "▁Ma r", + "▁ Mar", + "р у", + "vi ce", + "vic e", + "v ice", + "ir ect", + "ire ct", + "i rect", + "ne r", + "n er", + "▁u nder", + "▁un der", + "▁und er", + "▁ under", + "ri b", + "r ib", + "h r", + "ч е", + "▁A s", + "▁ As", + "▁e nd", + "▁en d", + "▁ end", + "em ber", + "emb er", + "▁ а", + "▁a tt", + "▁at t", + "▁ att", + "in a", + "i na", + "so n", + "s on", + "▁f ollow", + "▁fol low", + "▁ follow", + "▁S ch", + "▁Sc h", + "▁ Sch", + "pe ct", + "pec t", + "p ect", + "▁re l", + "▁r el", + "▁ rel", + "▁S o", + "▁ So", + "▁l ook", + "▁lo ok", + "▁ look", + "ab el", + "abe l", + "a bel", + "▁pro blem", + "▁prob lem", + "▁proble m", + "▁probl em", + "▁ problem", + "▁v an", + "▁va n", + "▁ van", + "st rong", + "str ong", + "c o", + "po n", + "p on", + "c a", + "ad a", + "a da", + "\" :", + "con d", + "co nd", + "c ond", + "am b", + "a mb", + "} ,", + "qu est", + "que st", + "ques t", + "q uest", + "▁a ut", + "▁au t", + "▁ aut", + "▁res ult", + "▁ result", + "▁m ay", + "▁ma y", + "▁ may", + "R e", + "ht tp", + "htt p", + "h ttp", + ") :", + "▁A nd", + "▁An d", + "▁ And", + "re d", + "r ed", + "▁H ow", + "▁Ho w", + "▁ How", + "p o", + "ск о", + "с ко", + "at t", + "a tt", + "ou p", + "o up", + "ce d", + "c ed", + "▁t ype", + "▁typ e", + "▁ty pe", + "▁ type", + "▁t han", + "▁th an", + "▁ than", + "▁c ons", + "▁con s", + "▁co ns", + "▁ cons", + "u f", + "ц и", + "▁qu estion", + "▁quest ion", + "▁questi on", + "▁ question", + "ra ph", + "rap h", + "r aph", + "ig h", + "i gh", + "▁ М", + "▁h tt", + "▁ htt", + "in s", + "i ns", + "de n", + "d en", + "▁d a", + "▁ da", + "▁v er", + "▁ve r", + "▁ ver", + "o h", + "▁= >", + "▁ =>", + "ri v", + "r iv", + "ud e", + "u de", + "▁F or", + "▁Fo r", + "▁ For", + "▁r a", + "▁ ra", + "fr ac", + "fra c", + "f rac", + "м а", + "▁a fter", + "▁af ter", + "▁ after", + "} {", + "▁m ethod", + "▁met hod", + "▁ method", + "\" )", + "am p", + "a mp", + "as h", + "a sh", + "▁re c", + "▁r ec", + "▁ rec", + "▁d iffer", + "▁dif fer", + "▁diff er", + "O N", + "a x", + "am ent", + "ame nt", + "amen t", + "a ment", + "our ce", + "Co n", + "C on", + "it s", + "i ts", + "Na me", + "N ame", + "ma n", + "m an", + "▁b ec", + "▁be c", + "▁ bec", + "ch e", + "c he", + "▁E n", + "▁ En", + "a j", + "▁g ener", + "▁ge ner", + "▁gen er", + "▁gene r", + "▁ gener", + "I N", + "▁i d", + "▁ id", + "ag es", + "age s", + "a ges", + "▁l oc", + "▁lo c", + "▁ loc", + "f o", + "b r", + "▁s he", + "▁sh e", + "▁ she", + "Pr o", + "P ro", + "▁u na", + "▁un a", + "▁ una", + "▁ к", + "et a", + "e ta", + "lo g", + "l og", + "ol og", + "olo g", + "o log", + "▁s ur", + "▁su r", + "▁ sur", + "ar g", + "a rg", + "▁- -", + "▁ --", + "k t", + "( \\", + "mi n", + "m in", + "▁l ine", + "▁li ne", + "▁lin e", + "▁ line", + "▁v ari", + "▁var i", + "▁va ri", + "▁ vari", + "с я", + "ic s", + "i cs", + "н я", + "ve ry", + "ver y", + "v ery", + "ad d", + "a dd", + "▁o bject", + "▁ob ject", + "▁obj ect", + "▁ object", + "I d", + "▁B ut", + "▁Bu t", + "▁ But", + "▁c ase", + "▁cas e", + "▁ca se", + "▁ case", + "▁m ake", + "▁ma ke", + "▁mak e", + "▁ make", + "▁c al", + "▁ca l", + "▁ cal", + "▁p ass", + "▁pas s", + "▁pa ss", + "▁ pass", + "с ь", + "ess ion", + "ne t", + "n et", + ". \"", + "▁ г", + "ä r", + "д е", + "n o", + "at ing", + "ati ng", + "atin g", + "a ting", + "at o", + "a to", + "li ne", + "lin e", + "l ine", + "в и", + "▁E x", + "▁ Ex", + "▁a ss", + "▁as s", + "▁ ass", + "▁v ers", + "▁ver s", + "▁ve rs", + "▁ vers", + "л я", + "▁e d", + "▁ ed", + "um n", + "u mn", + "ot her", + "oth er", + "othe r", + "o ther", + "ст а", + "с та", + "at ive", + "ativ e", + "ati ve", + "St ring", + "Str ing", + "S tring", + "▁l os", + "▁lo s", + "▁ los", + "w n", + "▁an swer", + "▁ans wer", + "▁ answer", + "▁l et", + "▁le t", + "▁ let", + "▁p e", + "▁ pe", + "en ts", + "ent s", + "▁f e", + "▁ fe", + "in ce", + "inc e", + "n i", + "id er", + "ide r", + "i der", + "ow s", + "o ws", + "▁t est", + "▁te st", + "▁ test", + "▁h ere", + "▁he re", + "▁her e", + "▁ here", + "ro ll", + "rol l", + "r oll", + "▁c all", + "▁cal l", + "▁ca ll", + "▁ call", + "ru ct", + "r uct", + "▁p ol", + "▁po l", + "▁ pol", + "ai t", + "a it", + "▁b ack", + "▁ba ck", + "▁ back", + "h o", + "E x", + "re ss", + "res s", + "r ess", + "S T", + "ri ed", + "rie d", + "r ied", + "da te", + "dat e", + "d ate", + "е т", + "▁d id", + "▁di d", + "▁ did", + "ti ng", + "t ing", + "▁E l", + "▁ El", + "▁d em", + "▁de m", + "▁ dem", + ") $", + "ов а", + "о ва", + "ur rent", + "urr ent", + "urre nt", + "la ce", + "lac e", + "l ace", + "rig ht", + "r ight", + "re n", + "r en", + "п о", + "▁e ach", + "▁ each", + "c y", + "bl ock", + "blo ck", + "b lock", + "da ta", + "dat a", + "d ata", + "▁ %", + "▁a c", + "▁ ac", + "▁= =", + "▁ ==", + "ü r", + "▁p or", + "▁po r", + "▁ por", + "as k", + "a sk", + "ar ch", + "arc h", + "am es", + "ame s", + "a mes", + "▁C on", + "▁Co n", + "▁ Con", + "ч а", + "▁o ff", + "▁of f", + "▁ off", + "▁f ind", + "▁fin d", + "▁fi nd", + "▁ find", + "con t", + "co nt", + "c ont", + "▁n ow", + "▁no w", + "▁ now", + "wor k", + "w ork", + "at ional", + "ation al", + "ati onal", + "atio nal", + "d d", + "ci ón", + "ció n", + "c ión", + "▁ А", + "au lt", + "a ult", + "Li st", + "L ist", + "▁e xt", + "▁ex t", + "▁ ext", + "ur s", + "u rs", + "ak e", + "a ke", + "ul e", + "u le", + "▁p oint", + "▁po int", + "▁poi nt", + "▁ point", + "A T", + "au t", + "a ut", + "▁tr ans", + "▁tra ns", + "▁tran s", + "▁ trans", + "▁c o", + "▁ co", + "▁re ad", + "▁r ead", + "▁ read", + "▁u sed", + "▁us ed", + "▁use d", + "▁ used", + "ск и", + "с ки", + "ar i", + "a ri", + "L E", + "et er", + "ete r", + "e ter", + "ou n", + "o un", + "ev er", + "e ver", + "sel f", + "s elf", + "in ed", + "ine d", + "i ned", + "id th", + "u x", + "j s", + "▁s uch", + "▁su ch", + "▁suc h", + "▁ such", + "▁I s", + "▁ Is", + "é e", + "fu l", + "f ul", + "▁d ist", + "▁di st", + "▁dis t", + "▁ dist", + "▁b u", + "▁ bu", + "item ize", + "Con t", + "Co nt", + "C ont", + "j e", + "с и", + "▁p rov", + "▁pro v", + "▁pr ov", + "▁ prov", + "b b", + "wa rd", + "war d", + "w ard", + "es ent", + "ese nt", + "esen t", + "e sent", + "er son", + "ers on", + "an ks", + "ank s", + "w h", + "no t", + "n ot", + "▁W e", + "▁ We", + "k a", + "ro p", + "r op", + "at ur", + "atu r", + "al s", + "a ls", + "▁b el", + "▁be l", + "▁ bel", + "ö r", + "f r", + "▁ex ample", + "▁exam ple", + "▁ example", + "▁in cl", + "▁inc l", + "am il", + "ami l", + "a mil", + "▁р а", + "▁ ра", + "▁ “", + "▁s tring", + "▁st ring", + "▁str ing", + "▁stri ng", + "▁ string", + "▁th ink", + "▁thin k", + "T h", + "▁t em", + "▁te m", + "▁ tem", + "av e", + "a ve", + "▁F ran", + "▁Fr an", + "▁Fra n", + "▁ Fran", + "▁n umber", + "▁num ber", + "▁ number", + "▁s i", + "▁ si", + "im es", + "ime s", + "i mes", + "te m", + "t em", + "m y", + "le r", + "l er", + "lo ad", + "= =", + "▁h and", + "▁ha nd", + "▁han d", + "▁ hand", + "z a", + "▁b ecause", + "▁bec ause", + "▁ because", + "▁s ch", + "▁sc h", + "▁ sch", + "v o", + "th is", + "t his", + "I D", + "ã o", + "▁st art", + "▁star t", + "▁sta rt", + "▁ start", + "▁w ar", + "▁wa r", + "▁ war", + "▁he lp", + "▁hel p", + "▁ help", + "t s", + "▁c har", + "▁ch ar", + "▁cha r", + "▁ char", + "▁p h", + "▁ ph", + "▁m in", + "▁mi n", + "▁ min", + "ti l", + "t il", + "ri te", + "rit e", + "r ite", + "-- ------", + "---- ----", + "--- -----", + "------ --", + "----- ---", + "------- -", + "- -------", + "el s", + "e ls", + "▁m it", + "▁mi t", + "▁ mit", + "ed ia", + "edi a", + "e dia", + "к у", + "▁S h", + "▁ Sh", + "an y", + "a ny", + "] ;", + "▁ Б", + "iqu e", + "i que", + "d a", + "e f", + "de x", + "d ex", + "▁p rodu", + "▁pro du", + "▁pr odu", + "▁prod u", + "▁ produ", + "▁ Н", + "gr am", + "gra m", + "g ram", + "▁O r", + "▁ Or", + "▁g re", + "▁gr e", + "▁ gre", + "qu ote", + "quot e", + "le g", + "l eg", + "or n", + "o rn", + "▁in d", + "▁i nd", + "▁ ind", + "▁p ost", + "▁po st", + "▁pos t", + "▁ post", + "▁d ep", + "▁de p", + "▁ dep", + "] ,", + "v i", + "▁u ser", + "▁us er", + "▁use r", + "▁ user", + "▁ >", + "li ck", + "lic k", + "l ick", + "▁v ery", + "▁ver y", + "▁ve ry", + "▁ very", + "et hing", + "eth ing", + "e thing", + "▁ar ray", + "▁arr ay", + "▁ array", + "▁g u", + "▁ gu", + "▁d ur", + "▁du r", + "` .", + "т ь", + "li cation", + "lic ation", + "lica tion", + "ст и", + "с ти", + "e k", + "ic o", + "i co", + "▁d at", + "▁da t", + "▁ dat", + "о р", + "ht ml", + "htm l", + "h tml", + "ion e", + "io ne", + "i one", + "▁d ifferent", + "▁differ ent", + "▁c heck", + "▁che ck", + "▁ check", + "▁f r", + "▁ fr", + "▁E r", + "▁ Er", + "▁t ext", + "▁te xt", + "▁tex t", + "▁ text", + "н і", + "ic ht", + "ich t", + "i cht", + "st ack", + "sta ck", + "E N", + "ra g", + "r ag", + "▁e very", + "▁ev ery", + "▁ever y", + "▁ every", + "A r", + "▁be fore", + "▁bef ore", + "▁ before", + "al se", + "als e", + "▁f in", + "▁fi n", + "▁ fin", + "▁d é", + "▁th ese", + "▁the se", + "▁d et", + "▁de t", + "▁ det", + "V al", + "ce ption", + "cept ion", + "cep tion", + "▁and roid", + "▁ android", + "block quote", + "▁j e", + "▁ je", + "fil e", + "fi le", + "f ile", + "at s", + "a ts", + "▁д о", + "▁ до", + "ess age", + "essa ge", + "▁ag ain", + "a w", + "C h", + "we en", + "w een", + "▁ Д", + "fo r", + "f or", + "ci al", + "cia l", + "c ial", + "pl ay", + "pla y", + "p lay", + "pr e", + "p re", + "id a", + "i da", + "▁P ar", + "▁Pa r", + "▁ Par", + "n y", + "ra ct", + "rac t", + "r act", + "▁s upp", + "▁su pp", + "▁sup p", + "▁ supp", + "as ed", + "ase d", + "a sed", + "le ction", + "lect ion", + "l ection", + "▁d ans", + "▁da ns", + "▁dan s", + "ai r", + "a ir", + "ro l", + "r ol", + "▁t hr", + "▁th r", + "Dat a", + "Da ta", + "D ata", + "li ch", + "lic h", + "l ich", + "▁п ро", + "▁пр о", + "▁ про", + "▁l ong", + "▁lo ng", + "▁lon g", + "▁ long", + "▁se cond", + "▁sec ond", + "▁ second", + "ual ly", + "u ally", + "in es", + "ine s", + "i nes", + "▁f ound", + "▁fo und", + "▁fou nd", + "▁ found", + "eng th", + "y p", + "ea d", + "e ad", + "▁l og", + "▁lo g", + "▁ log", + "u i", + "ne w", + "n ew", + "▁ Р", + "g o", + "au s", + "a us", + "od y", + "o dy", + "▁s on", + "▁so n", + "▁ son", + "м е", + "er o", + "e ro", + "ve d", + "v ed", + "su b", + "s ub", + "▁r ight", + "▁rig ht", + "▁ right", + "vi ew", + "vie w", + "v iew", + "▁follow ing", + "' )", + "\") ;", + "\" );", + "▁sa id", + "ж е", + "ч и", + "т у", + "ot t", + "o tt", + "с е", + "ar s", + "a rs", + "$ .", + "g g", + "▁b r", + "▁ br", + "oo l", + "o ol", + "yl e", + "y le", + "us e", + "u se", + "▁s how", + "▁sh ow", + "▁sho w", + "▁ show", + "le ase", + "lea se", + "ci a", + "c ia", + "▁d irect", + "▁di rect", + "▁dire ct", + "▁dir ect", + "▁ direct", + "do c", + "d oc", + "а р", + "m s", + "▁g iv", + "▁gi v", + "▁ giv", + "▁e xp", + "▁ex p", + "▁ exp", + "q l", + "д у", + "в е", + "▁B e", + "▁ Be", + "Co m", + "C om", + "it er", + "ite r", + "i ter", + "R E", + "m p", + "me n", + "m en", + "▁R o", + "▁ Ro", + "M A", + "▁C ol", + "▁Co l", + "▁ Col", + "is ter", + "ist er", + "iste r", + "i ster", + "▁w ell", + "▁we ll", + "▁wel l", + "▁ well", + "▁< /", + "▁ ", + "▁ ->", + "en e", + "e ne", + "▁m on", + "▁mo n", + "▁ mon", + "▁d ec", + "▁de c", + "▁ dec", + "▁st ill", + "▁о б", + "▁ об", + "▁T r", + "▁ Tr", + "▁ ф", + "if e", + "i fe", + "is m", + "i sm", + "b y", + "ra w", + "r aw", + "io r", + "i or", + "▁m ed", + "▁me d", + "▁ med", + "or ld", + "▁com ple", + "▁comp le", + "▁compl e", + "▁ comple", + "w w", + "▁a rt", + "▁ar t", + "▁ art", + "ro n", + "r on", + "▁ Г", + "▁M y", + "▁ My", + "▁a ls", + "▁al s", + "▁ als", + "re ct", + "rec t", + "r ect", + "▁a uf", + "▁au f", + "▁ auf", + "▁d own", + "▁do wn", + "▁dow n", + "▁ down", + "at her", + "ath er", + "a ther", + "Co l", + "C ol", + "Te xt", + "Tex t", + "T ext", + "ba ck", + "b ack", + "$ ,", + "▁y ear", + "▁ye ar", + "▁ year", + "м о", + "p i", + "▁G r", + "▁ Gr", + "re am", + "rea m", + "▁re p", + "▁r ep", + "▁ rep", + "b f", + "ww w", + "w ww", + "▁w ur", + "▁o rg", + "▁or g", + "▁ org", + "in ter", + "int er", + "inte r", + "▁D ie", + "▁Di e", + "▁ Die", + "▁b eing", + "▁be ing", + "▁bei ng", + "\" .", + "la bel", + "lab el", + "l abel", + "▁c ent", + "▁ce nt", + "▁ cent", + "ja va", + "jav a", + "j ava", + "ba r", + "b ar", + "an te", + "ant e", + "an a", + "a na", + "_ _", + "▁sol ution", + "▁ О", + "▁f l", + "▁ fl", + "▁c reate", + "▁cre ate", + "▁ create", + "ic i", + "i ci", + "st e", + "s te", + "yth on", + "yt hon", + "un t", + "u nt", + "as on", + "aso n", + "a son", + "fer ence", + "fe rence", + "S E", + "▁n on", + "▁no n", + "▁ non", + "an e", + "a ne", + "▁in s", + "▁i ns", + "▁ ins", + "ad er", + "ade r", + "a der", + "_{ \\", + "_ {\\", + "Re s", + "R es", + "▁m ain", + "▁ma in", + "▁mai n", + "▁ main", + "п и", + "▁T here", + "▁The re", + "▁Th ere", + "▁Ther e", + "▁ There", + "▁p our", + "▁po ur", + "▁pou r", + "R O", + "` ,", + "li sh", + "lis h", + "l ish", + "b ject", + "cc ess", + "c cess", + "▁o rig", + "▁or ig", + "▁ orig", + "is chen", + "isch en", + "ische n", + "isc hen", + "i schen", + "ow er", + "owe r", + "o wer", + "▁h et", + "▁he t", + "▁ het", + "u c", + "▁el se", + "▁els e", + "▁ else", + "» .", + "▁о т", + "▁ от", + "eq u", + "e qu", + "si ble", + "s ible", + "te st", + "tes t", + "t est", + "st and", + "sta nd", + "stan d", + "é n", + "et s", + "e ts", + "G E", + "id ent", + "ide nt", + "iden t", + "i dent", + "▁ е", + "▁п ри", + "▁пр и", + "▁ при", + ". ,", + "▁d as", + "▁da s", + "▁ das", + "oc k", + "o ck", + ", \"", + "▁v ol", + "▁vo l", + "▁ vol", + "▁f o", + "▁ fo", + "▁p ara", + "▁par a", + "▁pa ra", + "▁ para", + "▁ Т", + "▁C ar", + "▁Ca r", + "▁ Car", + "ra l", + "r al", + "▁S p", + "▁ Sp", + "va r", + "v ar", + "▁p lay", + "▁pl ay", + "▁pla y", + "▁ play", + "ou se", + "ous e", + "o use", + "▁т а", + "▁ та", + "ic ally", + "ical ly", + "▁con tain", + "▁cont ain", + "pon se", + "▁S tring", + "▁St ring", + "▁Str ing", + "▁ String", + "á n", + "▁b oth", + "▁bo th", + "▁bot h", + "▁ both", + "ke n", + "k en", + "A R", + "ер е", + "е ре", + "▁I l", + "▁ Il", + "▁is s", + "▁i ss", + "▁ iss", + "▁o pen", + "▁op en", + "▁ open", + "▁ )", + "▁W hat", + "▁Wh at", + "▁ What", + "f e", + "riv ate", + "re g", + "r eg", + "▁with out", + "▁ without", + "▁z u", + "▁ zu", + "vi s", + "v is", + "fl ow", + "f low", + "▁h ttp", + "▁htt p", + "▁ http", + "ab ase", + "aba se", + "a base", + "▁w ord", + "▁wor d", + "▁wo rd", + "▁ word", + "▁ch ange", + "▁chang e", + "▁ change", + "▁work s", + "▁wor ks", + "▁ works", + "▁g e", + "▁ ge", + "▁ !", + "▁e en", + "▁ een", + "it le", + "▁e vent", + "▁even t", + "▁ev ent", + "▁ event", + "wo rd", + "wor d", + "w ord", + "an do", + "and o", + "S B", + "re m", + "r em", + "▁f ield", + "▁fi eld", + "▁fiel d", + "▁ field", + "vi ng", + "vin g", + "v ing", + "Se r", + "S er", + "▁o ur", + "▁ou r", + "▁ our", + "▁qu i", + "▁q ui", + "▁ qui", + "▁o per", + "▁op er", + "▁ oper", + "▁is t", + "▁i st", + "▁ ist", + "de f", + "d ef", + "▁m ade", + "▁ma de", + "▁mad e", + "▁ made", + "ни е", + "p x", + "▁m en", + "▁me n", + "▁ men", + "r m", + "ai s", + "a is", + "ce nt", + "cen t", + "c ent", + "li st", + "lis t", + "l ist", + "T o", + "▁T o", + "▁ To", + "j a", + "ve rt", + "ver t", + "v ert", + "▁m ar", + "▁ma r", + "▁ mar", + "val ue", + "valu e", + "▁ „", + "\" ;", + "▁a us", + "▁au s", + "▁ aus", + "▁B r", + "▁ Br", + "ol e", + "o le", + "▁m ult", + "▁mu lt", + "▁mul t", + "▁ mult", + "oug ht", + "ough t", + "▁m at", + "▁ma t", + "▁ mat", + "▁v iew", + "▁vi ew", + "▁vie w", + "▁ view", + "fi l", + "f il", + "▁с о", + "▁ со", + "г а", + "▁v oid", + "▁vo id", + "▁ void", + "▁g ood", + "▁go od", + "▁ good", + "б о", + "C T", + "▁m any", + "▁ma ny", + "▁man y", + "▁ many", + "be n", + "b en", + "▁в о", + "▁ во", + "▁к а", + "▁ ка", + "▁s ystem", + "▁sys tem", + "▁syst em", + "▁ system", + "in o", + "i no", + "▁an other", + "▁ano ther", + "▁ another", + "▁re st", + "▁r est", + "▁res t", + "▁ rest", + "us er", + "use r", + "u ser", + "il ity", + "ili ty", + "a i", + "▁m ight", + "▁mig ht", + "us tom", + "ust om", + "usto m", + "▁or der", + "▁ord er", + "▁ order", + "▁V er", + "▁Ve r", + "▁ Ver", + "S S", + "} )", + "▁e ff", + "▁ eff", + "д о", + "et t", + "e tt", + "▁s ign", + "▁si gn", + "▁sig n", + "▁ sign", + "м у", + "I T", + "st ring", + "str ing", + "s tring", + "el le", + "ell e", + "e lle", + "▁s ing", + "▁si ng", + "▁sin g", + "▁ sing", + "cu l", + "c ul", + "▁tr ying", + "▁try ing", + "▁b eg", + "▁be g", + "▁ beg", + "▁p age", + "▁pa ge", + "▁pag e", + "▁ page", + "х о", + "▁C an", + "▁Ca n", + "▁ Can", + "▁S er", + "▁Se r", + "▁ Ser", + "+ +", + "▁m ust", + "▁mus t", + "▁mu st", + "▁ must", + "▁val ues", + "▁value s", + "▁valu es", + "▁ values", + "▁k ey", + "▁ke y", + "▁ key", + "ib le", + "i ble", + "] .", + "ir d", + "i rd", + "▁pro gram", + "▁pr ogram", + "▁ program", + "roll er", + "rol ler", + "rolle r", + "▁c onne", + "▁con ne", + "▁conn e", + "▁ conne", + "▁s ay", + "▁sa y", + "▁ say", + "▁p aram", + "▁par am", + "▁para m", + "▁pa ram", + "▁ param", + "ach e", + "ac he", + "a che", + "ve lop", + "vel op", + "▁s elect", + "▁se lect", + "▁sel ect", + "▁sele ct", + "▁ select", + "▁f amil", + "▁fa mil", + "▁fam il", + "▁ famil", + "▁l ast", + "▁la st", + "▁las t", + "▁ last", + "▁Th anks", + "▁Thank s", + "▁ Thanks", + "▁p op", + "▁po p", + "▁ pop", + "} .", + "e q", + "▁does n", + "[ '", + "▁t erm", + "▁te rm", + "▁ter m", + "▁ term", + "▁r é", + "▁ ré", + "▁d ocument", + "▁doc ument", + "▁ document", + "п а", + "л у", + "at eg", + "ate g", + ". )", + "li ng", + "lin g", + "l ing", + "ion al", + "io nal", + "iona l", + "i onal", + "ab les", + "able s", + "abl es", + "a bles", + "▁t ak", + "▁ta k", + "ut ton", + "utt on", + "utto n", + "▁a rg", + "▁ar g", + "▁ arg", + "ty pe", + "typ e", + "t ype", + "▁s ure", + "▁su re", + "▁sur e", + "▁re al", + "▁ real", + "▁w eb", + "▁we b", + "▁ web", + "▁c urrent", + "▁cur rent", + "▁curr ent", + "▁ current", + "▁P l", + "▁ Pl", + "ch o", + "c ho", + "ment s", + "men ts", + "m ents", + "▁J oh", + "▁Jo h", + "ot s", + "o ts", + "▁ex ist", + "▁ exist", + "н у", + "▁f ür", + "▁ für", + "▁и з", + "▁ из", + "d o", + "но го", + "ног о", + "н ого", + "▁l as", + "▁la s", + "▁ las", + "▁n ull", + "▁nu ll", + "▁ null", + "▁in form", + "▁inf orm", + "▁info rm", + "▁ Л", + "▁v ersion", + "▁vers ion", + "▁ version", + "▁c hang", + "▁ch ang", + "▁cha ng", + "ag er", + "age r", + "a ger", + "▁C omm", + "▁Com m", + "▁Co mm", + "▁ Comm", + "л і", + "us h", + "u sh", + "▁G e", + "▁ Ge", + "▁h igh", + "▁hi gh", + "▁ high", + "▁in put", + "▁ input", + "og le", + "o gle", + "ro s", + "r os", + "bo x", + "b ox", + "ge n", + "g en", + "▁s te", + "▁st e", + "▁ ste", + "▁l ocal", + "▁lo cal", + "▁loc al", + "▁ local", + "I m", + "▁pro cess", + "▁proc ess", + "▁proces s", + "▁ process", + "ter nal", + "tern al", + "t ernal", + "iz ed", + "ize d", + "i zed", + "г и", + "é t", + "▁I nd", + "▁In d", + "▁ Ind", + "▁o ch", + "▁oc h", + "▁ och", + "l t", + "▁col umn", + "▁ column", + "▁t ried", + "▁tr ied", + "▁tri ed", + "▁comm and", + "▁comma nd", + "▁ command", + "▁b est", + "▁be st", + "▁bes t", + "▁ best", + "as ter", + "ast er", + "aste r", + "a ster", + "з а", + "▁p rim", + "▁pr im", + "▁pri m", + "▁ prim", + "▁m odel", + "▁mod el", + "▁mo del", + "▁mode l", + "▁ model", + "▁ і", + "▁th ose", + "it ies", + "iti es", + "itie s", + "i ties", + "è re", + "▁р е", + "▁ ре", + "ј е", + "ш и", + "qu es", + "que s", + "q ues", + "▁A m", + "▁ Am", + "▁o wn", + "▁ow n", + "▁ own", + "li n", + "l in", + "з и", + "Val ue", + "th ing", + "t hing", + "▁ ,", + "▁T e", + "▁ Te", + "▁st ud", + "▁ stud", + "▁u m", + "▁ um", + "▁ser ver", + "▁serv er", + "▁serve r", + "▁ server", + "il le", + "ill e", + "i lle", + "▁p ut", + "▁pu t", + "▁ put", + "at iv", + "ati v", + "g y", + "ов и", + "о ви", + "ra f", + "r af", + "ов о", + "о во", + "▁wur de", + "▁W hen", + "▁Wh en", + "▁Whe n", + "▁ When", + "▁d iv", + "▁di v", + "▁ div", + "an ts", + "ant s", + "▁t er", + "▁te r", + "▁ ter", + "▁part ic", + "▁parti c", + "▁ т", + "▁D o", + "▁ Do", + "▁N o", + "▁ No", + "se rt", + "ser t", + "s ert", + "id o", + "i do", + "math cal", + "ad e", + "a de", + "▁I I", + "▁ II", + "le ar", + "lea r", + "l ear", + "og raph", + "o graph", + "en se", + "ens e", + "▁r ow", + "▁ro w", + "▁ row", + "nu m", + "n um", + "▁pos sible", + "▁poss ible", + "▁possib le", + "▁ possible", + "▁s ince", + "▁sin ce", + "▁ since", + "▁B o", + "▁ Bo", + "ct ions", + "ction s", + "▁I m", + "▁ Im", + "O R", + "ц і", + "▁i de", + "▁id e", + "▁ ide", + "ma p", + "m ap", + "▁cor rect", + "▁corre ct", + "▁corr ect", + "▁ correct", + "ve s", + "v es", + "ph p", + "p hp", + "▁out put", + "▁ output", + "▁P h", + "▁ Ph", + "A L", + "ar ed", + "are d", + "a red", + "\\ \\", + "▁im age", + "▁imag e", + "▁ image", + "es ch", + "esc h", + "e sch", + "ж и", + "▁con f", + "▁ conf", + "po r", + "p or", + "qu ery", + "que ry", + "quer y", + "ur es", + "ure s", + "u res", + "iu m", + "i um", + "en ds", + "end s", + "▁A b", + "▁ Ab", + "SB N", + "і д", + "et her", + "eth er", + "ethe r", + "e ther", + "pt ions", + "ption s", + "it u", + "i tu", + "li b", + "l ib", + "n s", + "k i", + "▁work ing", + "▁wor king", + "▁ working", + "▁c omo", + "▁com o", + "▁co mo", + "▁ como", + "▁T hen", + "▁The n", + "▁Th en", + "▁ Then", + "M L", + "ke y", + "k ey", + "cl ass", + "cla ss", + "c lass", + "op le", + "o ple", + "itt le", + "▁m atch", + "▁mat ch", + "▁ match", + "way s", + "wa ys", + "w ays", + "math bb", + "▁re quire", + "▁requ ire", + "▁ require", + "al t", + "a lt", + "▁v is", + "▁vi s", + "▁ vis", + "▁b l", + "▁ bl", + "▁c alled", + "▁cal led", + "▁call ed", + "▁ called", + "It em", + "I tem", + "ur a", + "u ra", + "ve c", + "v ec", + "em e", + "e me", + "▁d ella", + "▁de lla", + "▁del la", + "▁dell a", + "em bre", + "emb re", + "ur g", + "u rg", + "S e", + "▁re quest", + "▁requ est", + "▁req uest", + "▁ request", + "is che", + "isch e", + "isc he", + "i sche", + "▁p ort", + "▁po rt", + "▁por t", + "▁ port", + "▁inst ead", + "= \\", + "▁ У", + "ho r", + "h or", + "en te", + "ent e", + "um e", + "u me", + "er d", + "e rd", + "с а", + "▁w hy", + "▁wh y", + "▁ why", + "ri st", + "ris t", + "r ist", + "▁p erson", + "▁per son", + "▁pers on", + "▁ person", + "▁. ..", + "▁.. .", + "▁ ...", + "▁p rivate", + "▁priv ate", + "▁ private", + "▁t ot", + "▁to t", + "▁ tot", + "ph a", + "p ha", + "if t", + "i ft", + "it a", + "i ta", + "lo c", + "l oc", + "▁o ld", + "▁ol d", + "▁ old", + "о н", + "▁n el", + "▁ne l", + "▁ nel", + "' ]", + "t i", + "ie t", + "i et", + "ci te", + "cit e", + "c ite", + "ple ment", + "pl ement", + "p lement", + "▁a bove", + "▁ab ove", + "▁ above", + "k s", + "re ady", + "read y", + "rea dy", + "▁c ome", + "▁com e", + "▁co me", + "▁ come", + "se ction", + "sec tion", + "sect ion", + "s ection", + "▁P ol", + "▁Po l", + "▁ Pol", + "▁w rit", + "▁wr it", + "▁ writ", + "▁htt ps", + "▁http s", + "▁ https", + "▁$ $", + "▁ $$", + "▁ »", + "▁bu ild", + "▁ build", + "it o", + "i to", + "▁cons ider", + "▁consid er", + "af t", + "a ft", + "Ap p", + "A pp", + ", \\", + "ind ows", + "indow s", + "indo ws", + "com m", + "co mm", + "c omm", + "▁ ;", + "gr ound", + "gro und", + "g round", + "▁p lace", + "▁pl ace", + "▁pla ce", + "▁ place", + "B y", + "▁pro ject", + "▁ project", + "Ob ject", + "Obj ect", + "O bject", + "▁re pr", + "▁rep r", + "en ces", + "ence s", + "enc es", + "ind ow", + "indo w", + "z t", + "▁f iles", + "▁file s", + "▁fil es", + "▁fi les", + "▁ files", + "c z", + "iv ity", + "ivi ty", + "i vity", + "▁in it", + "▁i nit", + "▁ init", + "▁p rob", + "▁pro b", + "▁pr ob", + "▁ prob", + "▁s k", + "▁ sk", + "or th", + "ort h", + "im ent", + "ime nt", + "imen t", + "i ment", + "ou ble", + "at al", + "ata l", + "a tal", + "ir c", + "i rc", + "▁ è", + "▁b re", + "▁br e", + "▁ bre", + "is ta", + "ist a", + "i sta", + "in put", + "▁ И", + "но й", + "su m", + "s um", + "pa th", + "pat h", + "p ath", + "▁c our", + "▁co ur", + "▁cou r", + "▁t oo", + "▁to o", + "▁A d", + "▁ Ad", + "▁G u", + "▁ Gu", + "▁f alse", + "▁fal se", + "▁ false", + "▁f un", + "▁fu n", + "▁ fun", + "▁с т", + "▁ ст", + "oo d", + "o od", + "è s", + "▁e nc", + "▁en c", + "▁ enc", + "bo l", + "b ol", + "r l", + "ar get", + "arg et", + "or der", + "ord er", + "orde r", + "▁me an", + "▁ mean", + "п е", + "ig en", + "ige n", + "i gen", + "▁п ре", + "▁пр е", + "▁ пре", + "wid th", + "w idth", + "; \r", + "it or", + "ito r", + "i tor", + "▁st ate", + "▁stat e", + "▁sta te", + "▁ state", + "▁gre at", + "en n", + "e nn", + "bi n", + "b in", + "E r", + "Mo d", + "M od", + "o z", + "▁w on", + "▁wo n", + "▁ won", + "▁f act", + "▁fa ct", + "▁fac t", + "▁ fact", + "▁j ava", + "▁ja va", + "▁jav a", + "▁ java", + "▁Un ivers", + "▁ Univers", + "▁c ap", + "▁ca p", + "▁ cap", + "is tor", + "ist or", + "isto r", + "i stor", + "} (", + "k u", + "it her", + "ith er", + "i ther", + "al es", + "ale s", + "a les", + "▁o u", + "▁ ou", + "ro ss", + "ros s", + "r oss", + "▁t ake", + "▁tak e", + "▁ta ke", + "▁ take", + "ri x", + "r ix", + "lo b", + "l ob", + "▁e ine", + "▁ein e", + "as es", + "ase s", + "▁a ccess", + "▁acc ess", + "▁ac cess", + "▁ access", + "it é", + "i té", + "is tr", + "ist r", + "i str", + "iz ation", + "iza tion", + "▁app ro", + "▁ap pro", + "▁ appro", + "ba ll", + "bal l", + "b all", + "▁m ak", + "▁ma k", + "} ^", + "▁C ons", + "▁Con s", + "▁Co ns", + "▁ Cons", + "pr ess", + "pre ss", + "pres s", + "p ress", + "se rv", + "ser v", + "s erv", + "() .", + "( ).", + "a f", + "▁re f", + "▁r ef", + "▁ ref", + ") \\", + "▁cont in", + "s u", + "iv er", + "ive r", + "i ver", + "▁c ond", + "▁con d", + "▁co nd", + "▁ cond", + "▁ex pect", + "▁exp ect", + "▁ expect", + "▁char act", + "▁cha ract", + "ber t", + "be rt", + "b ert", + "el t", + "e lt", + "ter s", + "te rs", + "t ers", + "scri pt", + "scr ipt", + "s cript", + "▁E d", + "▁ Ed", + "ap t", + "a pt", + "') ;", + "' );", + "pr int", + "▁s ize", + "▁si ze", + "▁ size", + "▁s ich", + "▁si ch", + "▁sic h", + "fa ce", + "fac e", + "f ace", + "en den", + "end en", + "ende n", + "▁A mer", + "▁Am er", + "▁ Amer", + "if ied", + "ifi ed", + "ifie d", + "ó w", + "▁S u", + "▁ Su", + "te s", + "t es", + "me d", + "m ed", + "▁R eg", + "▁Re g", + "▁ Reg", + "so le", + "sol e", + "s ole", + "▁in clud", + "▁incl ud", + "▁inclu d", + "▁ includ", + "in i", + "i ni", + "in ci", + "inc i", + "▁p la", + "▁pl a", + "▁ pla", + "▁l eft", + "▁le ft", + "▁ left", + "d f", + "Pa r", + "P ar", + "▁A ll", + "▁Al l", + "▁ All", + "▁o cc", + "▁oc c", + "▁ occ", + "▁A t", + "▁ At", + "▁c r", + "▁ cr", + "Q u", + "▁g iven", + "▁giv en", + "▁give n", + "▁gi ven", + "▁S ystem", + "▁Syst em", + "▁ System", + "ic an", + "ica n", + "i can", + "▁f inal", + "▁fin al", + "▁fi nal", + "▁ final", + "it ions", + "ition s", + "iti ons", + "▁б ы", + "▁ бы", + "▁per form", + "▁perf orm", + "▁ perform", + "A N", + "▁M e", + "▁ Me", + "ur o", + "u ro", + "▁T hat", + "▁Th at", + "▁ That", + "г ра", + "▁П о", + "▁ По", + "▁в и", + "▁ ви", + "ab ly", + "abl y", + "▁pr esent", + "▁pre sent", + "▁pres ent", + "▁ present", + "du ct", + "d uct", + "ri c", + "r ic", + "▁E ng", + "▁En g", + "▁ Eng", + "tr y", + "t ry", + "▁l ar", + "▁la r", + "▁ lar", + "b l", + "id d", + "i dd", + "▁ä r", + "▁ är", + "or a", + "o ra", + "L L", + "os s", + "o ss", + "▁I SBN", + "▁ ISBN", + "▁th ree", + "▁thr ee", + "▁thre e", + "▁ three", + "j o", + "n í", + "r c", + "▁f ar", + "▁fa r", + "▁ far", + "▁N ot", + "▁No t", + "▁ Not", + "▁l ittle", + "▁litt le", + "di s", + "d is", + "at i", + "a ti", + "fun ction", + "func tion", + "f unction", + "▁a ble", + "▁ab le", + "▁ able", + "le ss", + "les s", + "l ess", + "с о", + "▁p ath", + "▁pat h", + "▁pa th", + "▁ path", + "▁p res", + "▁pr es", + "▁pre s", + "▁ pres", + "lo se", + "los e", + "l ose", + "P I", + "▁iss ue", + "▁issu e", + "▁ issue", + "ack age", + "ti me", + "tim e", + "t ime", + "ig e", + "i ge", + "am s", + "a ms", + "▁C l", + "▁ Cl", + "ail s", + "ai ls", + "a ils", + "al k", + "i i", + "ш е", + "pe n", + "p en", + "Q L", + "▁e as", + "R L", + "ce l", + "c el", + "▁s l", + "▁ sl", + "▁a sk", + "▁as k", + "▁ ask", + "▁n om", + "▁no m", + "▁ nom", + "▁t op", + "▁to p", + "▁ top", + "id es", + "ide s", + "i des", + "in dex", + "ind ex", + "inde x", + "é m", + "▁h app", + "▁ha pp", + "o x", + "c d", + "▁b etter", + "▁bet ter", + "▁lo ad", + "▁ load", + "ad os", + "ado s", + "ze n", + "z en", + "▁c e", + "▁ ce", + "▁f a", + "▁ fa", + "▁J ohn", + "▁Joh n", + "▁Jo hn", + "▁ John", + "IM A", + "I MA", + "▁B ar", + "▁Ba r", + "▁ Bar", + "over flow", + "▁д е", + "▁ де", + "ne ss", + "nes s", + "n ess", + "ce r", + "c er", + "▁H ere", + "▁He re", + "▁Her e", + "▁ Here", + "re t", + "r et", + "▁s z", + "▁ sz", + "amb da", + "op y", + "o py", + "ur l", + "u rl", + "p y", + "r t", + "▁under stand", + "a ł", + "he r", + "h er", + "# #", + "▁ch ild", + "▁chi ld", + "▁ child", + "▁ex ec", + "▁ exec", + "▁app lication", + "▁applic ation", + "▁ application", + "▁st ruct", + "▁str uct", + "▁stru ct", + "▁ struct", + "▁ я", + "Fil e", + "Fi le", + "F ile", + "▁c ert", + "▁ce rt", + "▁cer t", + "▁ cert", + "is on", + "iso n", + "i son", + "▁vari able", + "▁ variable", + "D E", + "r s", + "▁re ally", + "▁real ly", + "Po rt", + "P ort", + "b a", + "▁B er", + "▁Be r", + "▁ Ber", + "▁in te", + "▁int e", + "▁ inte", + "▁st atic", + "▁stat ic", + "▁stati c", + "▁ static", + "▁con fig", + "▁conf ig", + "▁ config", + "▁S he", + "▁Sh e", + "▁ She", + "est ions", + "estion s", + "esti ons", + "▁p lus", + "▁pl us", + "▁ plus", + "▁h ab", + "▁ha b", + "▁ hab", + "op e", + "o pe", + "▁m us", + "▁mu s", + "▁ mus", + "▁c ount", + "▁co unt", + "▁coun t", + "▁cou nt", + "▁ count", + "M E", + "▁su pport", + "▁supp ort", + "▁sup port", + "▁ support", + "▁pe ople", + "▁ people", + "▁b eh", + "▁be h", + "▁al ready", + "T r", + "▁d one", + "▁do ne", + "▁don e", + "▁ done", + "de m", + "d em", + "si ze", + "s ize", + "al pha", + "alph a", + "▁d isc", + "▁di sc", + "▁dis c", + "] )", + "▁M an", + "▁Ma n", + "▁ Man", + "▁m il", + "▁mi l", + "▁ mil", + "▁st and", + "▁sta nd", + "▁stan d", + "▁ stand", + "▁gr oup", + "▁gro up", + "▁ group", + "▁sm all", + "▁ small", + "▁m ag", + "▁ma g", + "▁ mag", + "ст ь", + "с ть", + "▁de fault", + "▁def ault", + "▁ default", + "▁sing le", + "▁sin gle", + "▁ single", + "lin k", + "l ink", + "cl ude", + "clud e", + "▁e ar", + "▁ ear", + "il ar", + "ila r", + "i lar", + "** **", + "*** *", + "* ***", + "▁f ix", + "▁fi x", + "▁ fix", + "le y", + "l ey", + "▁p as", + "▁pa s", + "▁ pas", + "ни й", + "iss ion", + "▁im plement", + "▁imp lement", + "▁impl ement", + "it ch", + "▁го да", + "▁год а", + "▁al ways", + "▁ always", + "▁J ah", + "▁Ja h", + "pr ing", + "p ring", + "ç ão", + "pl ate", + "pla te", + "p late", + "▁de scri", + "▁des cri", + "▁desc ri", + "▁h ead", + "▁he ad", + "▁ head", + "in it", + "ini t", + "i nit", + "og raf", + "▁qu ery", + "▁que ry", + "▁quer y", + "▁ query", + "iv ed", + "ive d", + "i ved", + "▁in g", + "▁i ng", + "▁ ing", + "pt y", + "p ty", + "h a", + "▁m ov", + "▁mo v", + "▁ mov", + "▁ э", + "et te", + "ett e", + "e tte", + "il y", + "i ly", + "▁g ot", + "▁go t", + "▁ got", + "il ed", + "ile d", + "i led", + "ic ro", + "i cro", + "▁w r", + "▁ wr", + "р я", + "▁n ever", + "▁ne ver", + "▁nev er", + "or es", + "ore s", + "o res", + "▁b as", + "▁ba s", + "▁ bas", + "io s", + "i os", + "la ck", + "lac k", + "l ack", + "ain t", + "ai nt", + "a int", + "vi ous", + "v ious", + "▁g ive", + "▁giv e", + "▁gi ve", + "id ad", + "ida d", + "E n", + "ны й", + "н ый", + "ta ble", + "tab le", + "t able", + "▁Н а", + "▁ На", + "▁p at", + "▁pa t", + "▁ pat", + "то р", + "т ор", + "an gu", + "ang u", + "lo y", + "l oy", + "▁s eg", + "▁se g", + "▁ seg", + "ar ray", + "arr ay", + "▁F l", + "▁ Fl", + "▁in dex", + "▁ind ex", + "▁inde x", + "▁ index", + "▁s w", + "▁ sw", + "IMA GE", + "IM AGE", + "▁k m", + "▁ km", + "б и", + "Cl ass", + "Cla ss", + "C lass", + "en a", + "e na", + "ме н", + "м ен", + "com p", + "co mp", + "c omp", + "at us", + "atu s", + "ra p", + "r ap", + "▁L ist", + "▁Li st", + "▁Lis t", + "▁ List", + "Er ror", + "Err or", + "E rror", + "▁t yp", + "▁ty p", + "▁ typ", + "▁м а", + "▁ ма", + "c s", + "' :", + "j i", + "▁How ever", + "▁ However", + "▁т е", + "▁ те", + "▁be low", + "▁bel ow", + "▁ below", + "▁A pp", + "▁Ap p", + "▁ App", + "щ е", + "} _", + "bu m", + "b um", + "vi r", + "v ir", + "ée s", + "é es", + "▁re cord", + "▁rec ord", + "▁ record", + "ta in", + "t ain", + "le m", + "l em", + "it al", + "ita l", + "i tal", + "▁i mp", + "▁im p", + "▁ imp", + "eg o", + "e go", + "▁o d", + "▁ od", + "▁re ce", + "▁rec e", + "▁ rece", + "mi t", + "m it", + "ff ic", + "f fic", + "stack overflow", + "ie ve", + "iev e", + "▁ З", + "▁n ov", + "▁no v", + "▁ nov", + "ц е", + "▁In tern", + "▁Int ern", + "▁Inter n", + "▁ Intern", + "b u", + "▁s ugg", + "▁su gg", + "▁sug g", + "▁l oop", + "▁lo op", + "▁ loop", + "ri de", + "rid e", + "r ide", + "▁$ (", + "▁ $(", + "▁s uper", + "▁su per", + "▁sup er", + "▁ super", + "ri d", + "r id", + "ны х", + "н ых", + "▁P er", + "▁Pe r", + "▁ Per", + "▁d om", + "▁do m", + "▁ dom", + "= '", + "ut sch", + "uts ch", + "le n", + "l en", + "▁w rite", + "▁writ e", + "▁wr ite", + "▁ write", + "▁in v", + "▁ inv", + "ou th", + "out h", + "o uth", + "▁H er", + "▁He r", + "▁ Her", + "▁y ears", + "▁year s", + "▁ye ars", + "▁or iginal", + "▁orig inal", + "▁origin al", + "▁ original", + "eg a", + "e ga", + "▁S te", + "▁St e", + "▁ Ste", + "▁se ems", + "▁see ms", + "▁seem s", + "é g", + "▁n ext", + "▁ne xt", + "▁ next", + "ed er", + "ede r", + "e der", + "▁N e", + "▁ Ne", + "av as", + "ava s", + "a vas", + "ific ation", + "ifi cation", + "ifica tion", + "Ex ception", + "▁D er", + "▁De r", + "▁ Der", + "▁v e", + "▁ ve", + "at ic", + "ati c", + "ha t", + "h at", + "br ary", + "bra ry", + "re turn", + "ret urn", + "ur ch", + "is ion", + "isi on", + "m i", + "oi nt", + "oin t", + "o int", + "▁d ay", + "▁da y", + "▁ day", + "ic tion", + "ict ion", + "i ction", + "á l", + "▁é s", + "▁ és", + "▁th ough", + "▁thou gh", + "▁ though", + "ac tion", + "act ion", + "a ction", + "í t", + "un gen", + "ung en", + "unge n", + "ou rs", + "our s", + "o urs", + "▁s cript", + "▁scr ipt", + "▁scri pt", + "▁ script", + "▁in formation", + "▁inform ation", + "▁ information", + "▁mult i", + "▁mul ti", + "▁ multi", + "▁\\ \\", + "▁ \\\\", + "st er", + "ste r", + "s ter", + "к е", + "A C", + "ci es", + "cie s", + "c ies", + "▁dis play", + "▁disp lay", + "▁ display", + "om an", + "oma n", + "o man", + "Tim e", + "T ime", + "iu s", + "i us", + ")) ;", + ") );", + "tr e", + "t re", + "▁l im", + "▁li m", + "▁ lim", + "at ely", + "ate ly", + "atel y", + "é d", + "is te", + "ist e", + "i ste", + "▁с а", + "▁ са", + "pos t", + "po st", + "p ost", + "ue l", + "u el", + "im g", + "▁ ч", + "ск а", + "с ка", + "el d", + "e ld", + "pp er", + "ppe r", + "p per", + "ul a", + "u la", + "▁gener al", + "▁gen eral", + "▁gene ral", + "▁ general", + "A l", + "For m", + "F orm", + "▁u pon", + "▁up on", + "z o", + "am ente", + "ament e", + "amen te", + "a mente", + "▁p rom", + "▁pro m", + "▁pr om", + "▁ prom", + "▁ ü", + "le x", + "l ex", + "▁t urn", + "▁tu rn", + "▁tur n", + "▁ turn", + "▁м е", + "▁ ме", + "en tion", + "ent ion", + "enti on", + "ле н", + "л ен", + "▁a f", + "▁ af", + "ic le", + "i cle", + "ст в", + "с тв", + "▁F il", + "▁ Fil", + "▁ Ф", + "ava script", + "avas cript", + "Ma n", + "M an", + "ar a", + "a ra", + "wa re", + "war e", + "w are", + "al ign", + "ali gn", + "an gle", + "ang le", + "▁S c", + "▁ Sc", + "un ic", + "uni c", + "u nic", + "▁f ran", + "▁fr an", + "▁fra n", + "▁ fran", + "U n", + "z i", + "me t", + "m et", + "Ad d", + "A dd", + "▁p ub", + "▁pu b", + "▁ pub", + "ко в", + "к ов", + "▁g en", + "▁ge n", + "▁ gen", + "▁p od", + "▁po d", + "▁ pod", + "▁s um", + "▁su m", + "▁ sum", + "▁h aving", + "▁ha ving", + "▁hav ing", + "▁a vec", + "▁av ec", + "▁ave c", + "s l", + "▁f ig", + "▁fi g", + "▁ fig", + "▁R es", + "▁Re s", + "▁ Res", + "Dat e", + "Da te", + "D ate", + "ul es", + "ule s", + "u les", + "wi th", + "w ith", + "ски й", + "с кий", + "g u", + "E T", + "▁b ro", + "▁br o", + "▁ bro", + "ri e", + "r ie", + "ap s", + "a ps", + "en ding", + "end ing", + "endi ng", + "ma il", + "mai l", + "m ail", + "oo k", + "o ok", + "▁su ccess", + "▁succ ess", + "▁suc cess", + "▁ success", + "ber g", + "be rg", + "b erg", + "▁d eb", + "▁de b", + "▁ deb", + "el ta", + "elt a", + "() `", + "( )`", + "ent ial", + "enti al", + "fr ame", + "fra me", + "fram e", + "f rame", + "Ke y", + "K ey", + "in n", + "i nn", + "▁sim ple", + "▁simp le", + "▁simpl e", + "▁ simple", + "iv al", + "iva l", + "i val", + "▁c are", + "▁car e", + "▁ca re", + "▁ care", + "▁W eb", + "▁We b", + "▁ Web", + "\") .", + "\" ).", + ">< /", + "> ", + "▁ />", + "k o", + "▁ex per", + "▁exp er", + "▁se par", + "▁sep ar", + "▁ separ", + "y l", + "ou rn", + "our n", + "o urn", + "▁d ev", + "▁de v", + "▁ dev", + "▁a uch", + "▁au ch", + "▁auc h", + "▁ auch", + "▁b lock", + "▁bl ock", + "▁blo ck", + "▁ block", + "bo ok", + "b ook", + "▁m ap", + "▁ma p", + "▁ map", + "il la", + "ill a", + "i lla", + "▁com put", + "▁comp ut", + "▁ comput", + "▁s pace", + "▁sp ace", + "▁spac e", + "▁ space", + "res ult", + ") }", + "▁e cho", + "▁ec ho", + "▁ echo", + "con fig", + "conf ig", + "h i", + "▁lar ge", + "▁larg e", + "▁ large", + "▁w idth", + "▁wid th", + "▁ width", + "▁G o", + "▁ Go", + "ma t", + "m at", + "▁d iff", + "▁di ff", + "▁dif f", + "▁ diff", + "▁k ind", + "▁ki nd", + "▁kin d", + "▁ kind", + "an ces", + "ance s", + "anc es", + "yn am", + "yna m", + "y nam", + "▁col or", + "▁co lor", + "▁ color", + "In t", + "I nt", + "so l", + "s ol", + "▁p i", + "▁ pi", + "▁char acter", + "▁charact er", + "▁ character", + "om ent", + "ome nt", + "omen t", + "o ment", + "▁res ponse", + "▁respons e", + "▁ response", + "ig ma", + "ward s", + "war ds", + "w ards", + "ar row", + "arr ow", + "с у", + "ti es", + "t ies", + "▁ü ber", + "▁ über", + "Im age", + "y d", + "▁п ере", + "▁пер е", + "▁пе ре", + "▁ пере", + "▁n ode", + "▁no de", + "▁nod e", + "▁ node", + "▁it em", + "▁i tem", + "▁ item", + "ach ine", + "achi ne", + "im a", + "i ma", + "▁v a", + "▁ va", + "▁appro ach", + "▁w er", + "▁we r", + "▁ wer", + "▁ч е", + "▁ че", + "O n", + "ol low", + "oll ow", + "он а", + "о на", + "ct ed", + "c ted", + "ur ed", + "ure d", + "u red", + "Cont roller", + "Control ler", + "li ed", + "lie d", + "l ied", + "▁j o", + "▁ jo", + "▁d al", + "▁da l", + "▁ dal", + "un k", + "▁ î", + "st art", + "sta rt", + "star t", + "ol a", + "o la", + "▁com pon", + "▁comp on", + "I C", + "bi t", + "b it", + "▁b ase", + "▁bas e", + "▁ba se", + "▁ base", + "п у", + "▁id ea", + "▁ide a", + "▁ idea", + "▁d ire", + "▁di re", + "▁dir e", + "▁ dire", + "▁r ad", + "▁ra d", + "▁ rad", + "gr oup", + "gro up", + "▁W ith", + "▁Wi th", + "▁Wit h", + "▁ With", + "ser ver", + "serv er", + "serve r", + "si de", + "s ide", + "si ng", + "sin g", + "s ing", + "▁d ies", + "▁di es", + "▁die s", + "▁n ear", + "▁ne ar", + "▁ near", + "▁v oor", + "▁vo or", + "▁ voor", + "▁arg ument", + "▁ argument", + "▁} ,", + "▁ },", + "▁l and", + "▁la nd", + "▁lan d", + "▁ land", + "▁n ames", + "▁name s", + "▁na mes", + "▁nam es", + "▁ names", + "▁o ption", + "▁op tion", + "▁opt ion", + "▁ option", + "ith ub", + "pp ed", + "ppe d", + "p ped", + "au g", + "a ug", + "▁l inks", + "▁link s", + "▁lin ks", + "▁ links", + "▁f ull", + "▁fu ll", + "▁ful l", + "▁ full", + "▁s itu", + "▁si tu", + "▁sit u", + "▁con sole", + "▁cons ole", + "▁ console", + "▁e tc", + "▁et c", + "▁ etc", + "au x", + "a ux", + "▁C or", + "▁Co r", + "▁ Cor", + "icro soft", + "▁c ame", + "▁cam e", + "▁ca me", + "lo cal", + "loc al", + "l ocal", + "▁k nown", + "▁kn own", + "▁know n", + "▁ known", + "▁multi ple", + "▁multip le", + "▁ multiple", + "angu age", + "▁t otal", + "▁to tal", + "▁tot al", + "▁ total", + "ol ogy", + "olog y", + "olo gy", + "ä t", + "▁ Х", + "▁f re", + "▁fr e", + "▁ fre", + "▁t en", + "▁te n", + "▁ ten", + "ide o", + "▁b es", + "▁be s", + "▁ bes", + "tr ue", + "Qu ery", + "Que ry", + "om m", + "o mm", + "▁A rt", + "▁Ar t", + "▁ Art", + "▁ke ep", + "▁ keep", + "▁Un iversity", + "▁Univers ity", + "re ate", + "rea te", + "pp ort", + "ppo rt", + "p port", + "▁p ython", + "▁ python", + "tr a", + "t ra", + "ect or", + "ec tor", + "e ctor", + "р і", + "op h", + "o ph", + "▁c onc", + "▁con c", + "▁co nc", + "▁f our", + "▁fo ur", + "▁fou r", + "▁ four", + "vi ron", + "vir on", + "▁v ia", + "▁vi a", + "▁ via", + "? \"", + "im age", + "ima ge", + "ol l", + "o ll", + "ны е", + "н ые", + "▁con text", + "▁cont ext", + "▁conte xt", + "▁ context", + "▁s em", + "▁se m", + "▁ sem", + ". _", + "▁e ng", + "▁en g", + "▁ eng", + "ma r", + "m ar", + "A D", + "▁m or", + "▁mo r", + "▁ mor", + "▁C al", + "▁Ca l", + "▁ Cal", + "▁c ell", + "▁ce ll", + "▁cel l", + "▁ cell", + "im al", + "ima l", + "i mal", + "AT E", + "A TE", + "▁in f", + "▁ inf", + "ö n", + "uf fer", + "uff er", + "s q", + ".. ..", + "... .", + ". ...", + "▁z ur", + "▁zu r", + "W ith", + "ра н", + "р ан", + "ch n", + "c hn", + "▁d oor", + "▁do or", + "▁ door", + "cont ent", + "▁m iss", + "▁mi ss", + "▁mis s", + "▁ miss", + "▁s imp", + "▁sim p", + "▁si mp", + "▁ simp", + "á r", + "ir a", + "i ra", + "▁h at", + "▁ha t", + "▁ hat", + "Te st", + "T est", + "▁c ertain", + "▁cert ain", + "▁cer tain", + "▁ certain", + "N S", + "▁c ho", + "▁ch o", + "▁ cho", + "▁ad v", + "▁ adv", + "wh ere", + "w here", + "▁lo oking", + "▁look ing", + "▁ looking", + "▁t imes", + "▁time s", + "▁tim es", + "▁ti mes", + "▁ times", + "ни х", + "н их", + "ut o", + "u to", + "▁ É", + "ca n", + "c an", + "ho st", + "hos t", + "h ost", + "▁( *", + "▁ (*", + "lo at", + "▁n icht", + "▁ni cht", + "▁nic ht", + "▁nich t", + "Fi eld", + "F ield", + "bu rg", + "bur g", + "b urg", + "con st", + "cons t", + "ad es", + "ade s", + "a des", + "▁M us", + "▁Mu s", + "▁ Mus", + "▁n othing", + "▁not hing", + "▁no thing", + "▁ nothing", + "▁in cre", + "▁inc re", + "▁M in", + "▁Mi n", + "▁ Min", + "▁p ower", + "▁po wer", + "▁pow er", + "▁ power", + "▁Amer ican", + "▁America n", + "▁ American", + "l n", + "val id", + "un gs", + "ung s", + "▁N ational", + "▁Nat ional", + "▁Nation al", + "▁ National", + "▁S an", + "▁Sa n", + "▁ San", + "▁Y ork", + "Re quest", + "ch ar", + "cha r", + "c har", + "▁Z e", + "▁ Ze", + "but ton", + "b utton", + "▁a lg", + "▁al g", + "▁ alg", + "SO N", + "S ON", + "▁a p", + "▁ ap", + "uf f", + "u ff", + "ab ility", + "abil ity", + "е м", + "▁any thing", + "el a", + "e la", + "() )", + "( ))", + "б а", + "amp ion", + "ampio n", + "▁p ot", + "▁po t", + "▁ pot", + "▁f ut", + "▁fu t", + "ail able", + "▁p rop", + "▁pro p", + "▁pr op", + "▁ prop", + "\" ]", + "▁l ess", + "▁le ss", + "▁les s", + "▁ less", + "la g", + "l ag", + "▁A ugust", + "▁Aug ust", + "▁ August", + "I t", + "▁p lease", + "▁ple ase", + "▁st yle", + "▁sty le", + "▁ style", + "▁Al so", + "▁Als o", + "▁ Also", + "b t", + "▁pro bably", + "▁prob ably", + "▁O ne", + "▁On e", + "▁ One", + "▁p oss", + "▁po ss", + "▁pos s", + "▁ poss", + "U I", + "ui t", + "u it", + "▁W est", + "▁We st", + "▁Wes t", + "▁ West", + "h n", + "+ \\", + "But ton", + "Butt on", + "B utton", + "js on", + "j son", + "er r", + "e rr", + "ra me", + "ram e", + "r ame", + "do m", + "d om", + "il on", + "ilo n", + "i lon", + "al f", + "▁c lient", + "▁cl ient", + "▁cli ent", + "▁ client", + "▁cont inu", + "▁contin u", + "▁ continu", + "x ml", + "pe c", + "p ec", + "ad or", + "ado r", + "a dor", + "l s", + "▁how ever", + "▁A ny", + "▁An y", + "▁ Any", + "än d", + "ä nd", + "math rm", + "▁u rl", + "▁ur l", + "▁ url", + "▁b ook", + "▁bo ok", + "▁ book", + "▁g l", + "▁ gl", + "iv es", + "ive s", + "i ves", + "g i", + "▁t ro", + "▁tr o", + "▁U S", + "▁ US", + "po int", + "p oint", + "op en", + "ope n", + "o pen", + "▁c ur", + "▁cu r", + "▁ cur", + "▁e ra", + "▁er a", + "▁ era", + "▁part icular", + "▁partic ular", + "▁particul ar", + "▁parti cular", + "▁H T", + "▁ HT", + "oo t", + "o ot", + "el lo", + "ell o", + "lo bal", + "lob al", + "▁a ction", + "▁act ion", + "▁ac tion", + "▁ action", + "▁I nt", + "▁In t", + "▁ Int", + "▁in clude", + "▁incl ude", + "▁includ e", + "▁inclu de", + "▁ include", + "▁el ements", + "▁element s", + "▁ele ments", + "▁elem ents", + "▁ elements", + "на я", + "ar ds", + "ard s", + "▁B l", + "▁ Bl", + "▁h um", + "▁hu m", + "▁ hum", + "fr om", + "f rom", + "ch ange", + "chan ge", + "▁function s", + "▁fun ctions", + "▁ functions", + "he n", + "h en", + "Ser vice", + "Serv ice", + "▁he ight", + "▁ height", + "▁L and", + "▁La nd", + "▁Lan d", + "▁ Land", + "ia s", + "i as", + "g s", + "ió n", + "i ón", + "ло в", + "л ов", + "no de", + "n ode", + ". ”", + "ha nd", + "han d", + "h and", + "▁б у", + "▁ бу", + "▁a mb", + "▁am b", + "▁ amb", + "▁L u", + "▁ Lu", + "▁th row", + "▁thr ow", + "▁thro w", + "▁ throw", + "▁m ot", + "▁mo t", + "▁ mot", + "▁A ct", + "▁Ac t", + "▁ Act", + "▁w orld", + "▁wor ld", + "▁ world", + "_ \\", + "ba se", + "bas e", + "b ase", + "▁C o", + "▁ Co", + "▁ar ch", + "▁arc h", + "▁ arch", + "▁## ##", + "▁### #", + "▁ ####", + "ge d", + "g ed", + "pr il", + "p ril", + "ol der", + "old er", + "o lder", + "Mod el", + "Mode l", + "Mo del", + "M odel", + "▁sever al", + "li e", + "l ie", + "che ck", + "c heck", + "] {", + "con s", + "co ns", + "c ons", + "▁T ra", + "▁Tr a", + "▁ Tra", + "he ck", + "▁l east", + "▁le ast", + "do wn", + "d own", + "eb ru", + "e bru", + "De f", + "D ef", + "par am", + "pa ram", + "para m", + "p aram", + "is cher", + "isch er", + "ische r", + "isc her", + "i scher", + "▁c as", + "▁ca s", + "▁ cas", + "C H", + "▁add ress", + "▁addr ess", + "▁ address", + "▁ра з", + "▁ раз", + "uf en", + "ufe n", + "u fen", + "ur ope", + "uro pe", + "urop e", + "е й", + "▁b ound", + "▁bo und", + "▁bou nd", + "▁ bound", + "C O", + "▁A ng", + "▁An g", + "▁ Ang", + "▁M a", + "▁ Ma", + "In dex", + "Ind ex", + "co re", + "cor e", + "c ore", + "ou ch", + "ouc h", + "o uch", + "at abase", + "ata base", + "rib ution", + "ribu tion", + "doc ument", + "d ocument", + "L e", + "}_ {", + "} _{", + "ve rn", + "ver n", + "v ern", + "▁stat ement", + "▁state ment", + "▁ statement", + "▁B rit", + "▁Br it", + "on o", + "o no", + "ps ilon", + "psi lon", + "▁le vel", + "▁lev el", + "▁ level", + "▁pro duct", + "▁produ ct", + "▁prod uct", + "▁ product", + "I S", + "▁c ourse", + "▁cour se", + "▁cours e", + "▁ course", + "▁M r", + "▁ Mr", + "> \r", + "▁back ground", + "▁ background", + "▁re t", + "▁r et", + "▁ ret", + "er ing", + "eri ng", + "e ring", + "mo st", + "mos t", + "m ost", + "сь ко", + "ськ о", + "▁th read", + "▁thr ead", + "▁thre ad", + "▁ thread", + "it ional", + "ition al", + "iti onal", + "it es", + "ite s", + "i tes", + "P l", + "▁d os", + "▁do s", + "g a", + "da y", + "d ay", + "▁G ener", + "▁Ge ner", + "▁Gen er", + "▁Gene r", + "▁ Gener", + "▁t w", + "▁ tw", + "A d", + "\"> <", + "\" ><", + "▁( $", + "▁ ($", + "▁m oment", + "▁mo ment", + "▁mom ent", + "tit le", + "t itle", + "cre ate", + "c reate", + "vers ion", + "v ersion", + "Man ager", + "▁f ur", + "▁fu r", + "▁ fur", + "pp ing", + "ppi ng", + "p ping", + "ij n", + "о с", + "▁r ather", + "▁ra ther", + "▁rat her", + "pt ember", + "O S", + "▁s ite", + "▁si te", + "▁sit e", + "▁ site", + "▁c aus", + "▁ca us", + "an i", + "a ni", + "▁h ome", + "▁hom e", + "▁ho me", + "▁ home", + "м і", + "▁sh ort", + "▁sho rt", + "▁ short", + "p a", + "▁l ead", + "▁le ad", + "is hed", + "ish ed", + "ci ng", + "cin g", + "c ing", + "or ding", + "ord ing", + "ordin g", + "▁p rote", + "▁pro te", + "▁pr ote", + "▁prot e", + "▁ prote", + "с ле", + "LE CT", + "L ECT", + "▁di dn", + "▁did n", + "pos ition", + "p osition", + "\", \"", + "\" ,\"", + "() ,", + "( ),", + "tr ans", + "tra ns", + "▁l ot", + "▁lo t", + "▁ lot", + "▁о д", + "▁ од", + "A S", + "▁s at", + "▁sa t", + "▁po ints", + "▁point s", + "▁ points", + "g ithub", + "st yle", + "sty le", + "▁го ду", + "▁год у", + "▁D is", + "▁Di s", + "▁ Dis", + "pon ent", + "om et", + "ome t", + "o met", + "ze r", + "z er", + "UL L", + "U LL", + "▁p a", + "▁ pa", + "A P", + "ac es", + "ace s", + "a ces", + "▁Un ited", + "▁Unit ed", + "am a", + "a ma", + "et y", + "e ty", + "Col or", + "Co lor", + "▁en ough", + "U S", + "▁l ength", + "▁leng th", + "▁ length", + "() );", + "()) ;", + "( ));", + "^{ \\", + "^ {\\", + "ft y", + "f ty", + "Bo x", + "B ox", + "ap ter", + "apt er", + "▁comp let", + "▁comple t", + "▁compl et", + "ни к", + "ma x", + "m ax", + "ob ject", + "obj ect", + "o bject", + "( {", + "img ur", + "it ive", + "iti ve", + "un ch", + "unc h", + "▁S ub", + "▁Su b", + "▁ Sub", + "en de", + "end e", + "e nde", + "г у", + "ateg ory", + "ategor y", + "т ы", + "ia no", + "ian o", + "i ano", + "▁u pd", + "▁up d", + "▁A ust", + "▁Aus t", + "▁Au st", + "}{ \\", + "} {\\", + "to p", + "t op", + "la s", + "l as", + "pi s", + "p is", + "in ess", + "ine ss", + "ines s", + "i ness", + "▁{ \r", + "▁ {\r", + "▁ Е", + "G r", + "▁A S", + "▁ AS", + "▁в е", + "▁ ве", + "th ers", + "ther s", + "the rs", + "▁d efined", + "▁def ined", + "▁define d", + "▁defin ed", + "▁ defined", + "az ione", + "azi one", + "a zione", + "▁o ffic", + "▁of fic", + "▁off ic", + "▁au tom", + "▁aut om", + "▁auto m", + "▁ autom", + "ü n", + "▁b row", + "▁br ow", + "▁bro w", + "▁ brow", + "▁s erv", + "▁se rv", + "▁ser v", + "▁ serv", + "▁re move", + "▁rem ove", + "▁remov e", + "▁ remove", + "ir o", + "i ro", + "▁B ibli", + "▁Bib li", + "E D", + "▁w hole", + "▁wh ole", + "▁who le", + "▁ ш", + "▁J ava", + "▁Ja va", + "▁ Java", + "▁z um", + "▁zu m", + "u a", + "p m", + "de v", + "d ev", + "к ра", + "ol ds", + "old s", + "▁W ar", + "▁Wa r", + "ä n", + "pa ss", + "pas s", + "p ass", + "u z", + "[ \"", + "▁t ri", + "▁tr i", + "▁ tri", + "is ed", + "ise d", + "i sed", + "х а", + "▁mem ory", + "▁memor y", + "▁ memory", + "▁P ort", + "▁Po rt", + "▁Por t", + "▁ Port", + "op er", + "ope r", + "o per", + "U p", + "▁Th ank", + "▁ Thank", + "▁M ich", + "▁Mi ch", + "▁Mic h", + "▁ Mich", + "yc h", + "y ch", + "bo ard", + "boa rd", + "б у", + "In st", + "▁b egin", + "▁be gin", + "▁beg in", + "▁ begin", + "in ation", + "ina tion", + "▁M od", + "▁Mo d", + "▁ Mod", + "_ ,", + "▁D en", + "▁De n", + "▁ Den", + "op tion", + "opt ion", + "o ption", + "▁con struct", + "▁const ruct", + "▁constru ct", + "▁ construct", + "▁J ust", + "▁Ju st", + "▁ Just", + "Ma p", + "M ap", + "ru n", + "r un", + "▁re spect", + "▁res pect", + "▁resp ect", + "ha m", + "h am", + "ма н", + "м ан", + "im edia", + "ime dia", + "i media", + "▁a pply", + "▁app ly", + "▁ap ply", + "▁ apply", + "cri ption", + "cript ion", + "ma in", + "mai n", + "m ain", + "▁К а", + "▁ Ка", + "oi d", + "o id", + "Co de", + "C ode", + "} ;", + "In fo", + "Inf o", + "▁for mat", + "▁form at", + "▁forma t", + "▁ format", + "Lo g", + "L og", + "▁с у", + "▁ су", + "▁l at", + "▁la t", + "▁ lat", + "ut or", + "uto r", + "u tor", + "▁re ference", + "▁refer ence", + "▁ reference", + "▁cal cul", + "▁calc ul", + "▁ calcul", + "on n", + "o nn", + "L o", + "in fty", + "inf ty", + "▁a long", + "▁al ong", + "▁ č", + "▁t ask", + "▁ta sk", + "▁ task", + "▁e v", + "▁ ev", + "th eta", + "the ta", + "ra s", + "r as", + "jo r", + "j or", + "▁б о", + "▁ бо", + "▁princi p", + "▁prin cip", + "M y", + "▁e iner", + "▁ein er", + "▁eine r", + "▁E s", + "▁ Es", + "om b", + "o mb", + "qu ad", + "qua d", + "^{ -", + "^ {-", + "um p", + "u mp", + "▁t ill", + "▁til l", + "▁ti ll", + "д і", + "▁lo oks", + "▁look s", + "▁o k", + "▁ ok", + "ц а", + "n u", + "Fi l", + "F il", + "▁s ont", + "▁so nt", + "▁son t", + "▁M ed", + "▁Me d", + "▁ Med", + "ag ue", + "agu e", + "a gue", + "▁c ost", + "▁co st", + "▁cos t", + "▁ cost", + "▁S im", + "▁Si m", + "▁ Sim", + "▁com ment", + "▁comm ent", + "▁comme nt", + "▁ comment", + "▁( \\", + "▁ (\\", + "eg en", + "ege n", + "e gen", + "▁para meter", + "▁param eter", + "▁paramet er", + "▁ parameter", + "▁F rance", + "▁Fran ce", + "▁Fr ance", + "▁Franc e", + "▁ France", + "re p", + "r ep", + "▁T H", + "▁ TH", + "▁y et", + "▁ye t", + "▁a way", + "▁aw ay", + "▁ away", + "▁c irc", + "▁ci rc", + "▁cir c", + "▁ circ", + "▁A PI", + "▁AP I", + "▁ API", + "em p", + "e mp", + "в і", + "L ayout", + "▁l ines", + "▁li nes", + "▁line s", + "▁lin es", + "▁ lines", + "▁P art", + "▁Par t", + "▁Pa rt", + "▁ Part", + "em pt", + "emp t", + "▁B i", + "▁ Bi", + "▁m ind", + "▁min d", + "▁mi nd", + "▁ mind", + "k y", + "gi ng", + "gin g", + "g ing", + "▁re port", + "▁rep ort", + "▁repo rt", + "▁ report", + "▁A dd", + "▁Ad d", + "▁ Add", + "ро д", + "р од", + "▁r ange", + "▁ran ge", + "▁rang e", + "▁ range", + "ci as", + "cia s", + "c ias", + "li p", + "l ip", + "▁K ar", + "▁Ka r", + "▁ Kar", + "▁Comm ons", + "▁Common s", + "ger ufen", + "af f", + "a ff", + "se c", + "s ec", + "▁h tml", + "▁ html", + "li g", + "l ig", + "▁w indow", + "▁wind ow", + "▁ window", + "in ition", + "ini tion", + "init ion", + "ci s", + "c is", + "▁u t", + "▁ ut", + "el n", + "e ln", + "▁a ux", + "▁au x", + "▁ aux", + "▁n eg", + "▁ne g", + "▁ neg", + "Ha nd", + "H and", + "▁) ;", + "▁ );", + "▁a nal", + "▁an al", + "▁ anal", + "▁f ri", + "▁fr i", + "▁ fri", + "▁с и", + "▁ си", + "et ch", + "etc h", + "m d", + "pa ge", + "pag e", + "p age", + "▁l ibrary", + "▁li brary", + "▁ library", + "▁: =", + "▁ :=", + "RO M", + "R OM", + "Y ou", + "sp ace", + "s pace", + "▁d urch", + "▁dur ch", + "▁h ost", + "▁ho st", + "▁hos t", + "▁ host", + "av en", + "ave n", + "a ven", + "▁F ile", + "▁Fil e", + "▁ File", + "al le", + "all e", + "a lle", + "ти в", + "▁p ap", + "▁pa p", + "ст во", + "ств о", + "с тво", + "mar k", + "m ark", + "▁m ais", + "▁ma is", + "▁mai s", + "er man", + "erm an", + "Si ze", + "S ize", + "е к", + "▁М а", + "▁ Ма", + "▁is n", + "▁i sn", + "▁c opy", + "▁co py", + "▁cop y", + "▁ copy", + "st en", + "ste n", + "s ten", + "ri ver", + "riv er", + "rive r", + "r iver", + "▁w ent", + "▁we nt", + "▁wen t", + "▁j avascript", + "▁java script", + "▁ javascript", + "▁s am", + "▁sa m", + "▁ sam", + "▁f rame", + "▁fr ame", + "▁fra me", + "▁fram e", + "▁ frame", + "▁v i", + "▁ vi", + "▁pre vious", + "▁prev ious", + "▁ previous", + "ro du", + "rod u", + "r odu", + "▁method s", + "▁ methods", + "▁ne cess", + "▁neces s", + "▁ necess", + "N A", + "ck et", + "cke t", + "c ket", + "▁o pt", + "▁op t", + "▁ opt", + "Lo c", + "L oc", + "ho w", + "h ow", + "▁î n", + "▁ în", + "sh ip", + "s hip", + "▁it self", + "▁its elf", + "▁P lease", + "▁Ple ase", + "▁ Please", + "ie ne", + "ien e", + "i ene", + "ве р", + "в ер", + "▁< <", + "▁ <<", + "▁m ill", + "▁mil l", + "▁mi ll", + "▁ mill", + "▁t rad", + "▁tr ad", + "▁tra d", + "▁ trad", + "pa ce", + "p ace", + "▁H ar", + "▁Ha r", + "▁ Har", + "it en", + "ite n", + "i ten", + "wi se", + "w ise", + "writ e", + "wr ite", + "w rite", + "ци и", + "р ы", + "Lin e", + "Li ne", + "L ine", + "ol o", + "o lo", + "▁ac cept", + "▁ accept", + "he ight", + "▁e lect", + "▁el ect", + "▁ele ct", + "▁ elect", + "el la", + "ell a", + "e lla", + "▁p å", + "Se lect", + "S elect", + "▁ ли", + "▁\\ <", + "▁ \\<", + "( (", + "▁I D", + "▁ ID", + "op s", + "o ps", + "ва н", + "в ан", + "i ó", + "T P", + "» ,", + "ne ction", + "nect ion", + "n ection", + "par ent", + "pa rent", + "▁M ag", + "▁Ma g", + "▁ Mag", + "Tab le", + "T able", + "O ver", + "▁n etwork", + "▁net work", + "▁ network", + "с по", + "▁as sign", + "▁ass ign", + "▁ assign", + "ig ger", + "igg er", + "ir m", + "i rm", + ") `", + "ot tom", + "ott om", + "otto m", + "be ta", + "bet a", + "b eta", + "▁d ell", + "▁de ll", + "▁del l", + "▁b ody", + "▁bo dy", + "▁bod y", + "▁ body", + "▁д а", + "▁ да", + "▁Y our", + "▁You r", + "▁ Your", + "▁f ue", + "▁fu e", + "▁p ackage", + "▁pack age", + "▁ package", + "▁l ight", + "▁lig ht", + "▁ light", + "▁* *", + "▁ **", + "M P", + "▁c ou", + "▁co u", + "▁ cou", + "ye s", + "y es", + ": \\", + "▁ Ч", + "▁m ention", + "▁men tion", + "▁ment ion", + "en sch", + "ens ch", + "▁d eg", + "▁de g", + "▁ deg", + "▁con vert", + "▁conver t", + "▁conv ert", + "▁ convert", + "▁D av", + "▁Da v", + "ad t", + "a dt", + "Res ult", + "th ough", + "▁b us", + "▁bu s", + "▁ bus", + "x y", + "▁s een", + "▁se en", + "▁see n", + "▁ seen", + "Al l", + "A ll", + "pu blic", + "pub lic", + "p ublic", + "iv ely", + "ive ly", + "ivel y", + "▁R ec", + "▁Re c", + "▁ Rec", + "▁H is", + "▁Hi s", + "si m", + "s im", + "▁f ör", + "▁fö r", + "▁ för", + "▁h istor", + "▁his tor", + "▁hi stor", + "▁hist or", + "▁ histor", + "▁s ett", + "▁se tt", + "▁set t", + "▁ sett", + "ra t", + "r at", + "ab led", + "able d", + "abl ed", + "a bled", + "▁» ,", + "▁ »,", + "go ogle", + "We b", + "W eb", + "é l", + "▁t itle", + "▁tit le", + "▁ title", + "▁J anu", + "▁Jan u", + "▁Ja nu", + "ј а", + "▁t ook", + "▁to ok", + "▁too k", + "id en", + "ide n", + "i den", + "s z", + "▁G et", + "▁Ge t", + "▁ Get", + "▁object s", + "▁ objects", + "▁com mon", + "▁comm on", + "▁ common", + "▁ch anges", + "▁change s", + "▁chang es", + "▁ changes", + "▁L ond", + "▁Lo nd", + "▁ Lond", + "▁ex tern", + "▁ext ern", + "▁j u", + "▁ ju", + "I s", + "▁av ailable", + "▁avail able", + "▁ available", + "tr i", + "t ri", + "▁m ás", + "▁má s", + "os a", + "o sa", + "B e", + "▁D ata", + "▁Da ta", + "▁Dat a", + "▁ Data", + "ur al", + "ura l", + "u ral", + "▁h om", + "▁ho m", + "▁ hom", + "▁acc ount", + "▁ac count", + "▁ account", + "o o", + "▁p erm", + "▁per m", + "▁pe rm", + "▁ perm", + "res pond", + "resp ond", + "y t", + "▁s end", + "▁se nd", + "▁sen d", + "▁ send", + "▁return s", + "▁ returns", + "iv id", + "ivi d", + "i vid", + "▁ex pla", + "▁exp la", + "▁expl a", + "í n", + "▁n or", + "▁no r", + "▁ nor", + "I f", + "▁F rom", + "▁Fr om", + "▁Fro m", + "▁ From", + "▁t arget", + "▁tar get", + "▁ target", + "fe ct", + "f ect", + "ен т", + "▁u it", + "▁ui t", + "▁ uit", + "▁J o", + "▁ Jo", + "▁vari ables", + "▁variable s", + "▁ variables", + "▁s eries", + "▁se ries", + "▁ser ies", + "▁serie s", + "▁ series", + "▁f unc", + "▁fun c", + "▁fu nc", + "▁ func", + "▁him self", + "▁ч а", + "▁ ча", + "an ti", + "ant i", + "▁a ch", + "▁ac h", + "▁ ach", + "ia log", + "ial og", + "i alog", + "▁s td", + "▁st d", + "▁ std", + "a e", + "▁f oot", + "▁fo ot", + "▁foo t", + "▁ foot", + "▁un ter", + "▁ unter", + "gr ess", + "gres s", + "gre ss", + "g ress", + "No t", + "N ot", + "ra d", + "r ad", + "f ér", + "▁u til", + "▁ut il", + "▁ util", + "or em", + "ore m", + "o rem", + "▁s ou", + "▁so u", + "op t", + "o pt", + "▁o g", + "▁ og", + "▁u ma", + "▁um a", + "▁ uma", + "it ar", + "ita r", + "i tar", + "▁O k", + "▁ Ok", + "ü ck", + "sq rt", + "▁a nt", + "▁an t", + "▁ ant", + "▁wer den", + "▁werd en", + "å r", + "}) ;", + "} );", + "▁P aris", + "▁Par is", + "▁Pa ris", + "▁ex ception", + "▁except ion", + "▁ exception", + "▁de term", + "▁det erm", + "▁V ol", + "▁Vo l", + "▁ Vol", + "▁S am", + "▁Sa m", + "▁ Sam", + "▁e ss", + "▁es s", + "▁ ess", + "li es", + "lie s", + "l ies", + "ion i", + "io ni", + "i oni", + "od ing", + "odi ng", + "o ding", + "id get", + "idge t", + "▁p ri", + "▁pr i", + "▁wh ether", + "▁whe ther", + "▁п од", + "▁по д", + "▁num bers", + "▁number s", + "▁ numbers", + "▁ ~", + "ev ent", + "even t", + "e vent", + "▁sh ows", + "▁show s", + "▁sho ws", + "at ures", + "atur es", + "ature s", + "atu res", + "▁h ouse", + "▁ho use", + "▁hous e", + "▁ house", + "▁f ace", + "▁fa ce", + "▁fac e", + "▁ face", + "▁s ię", + "▁si ę", + "viron ment", + "va n", + "v an", + "▁in cluding", + "▁includ ing", + "▁inclu ding", + "▁ including", + "▁< -", + "▁ <-", + "ti mes", + "time s", + "tim es", + "t imes", + "no w", + "n ow", + "▁p ur", + "▁pu r", + "▁ pur", + "if ier", + "ifi er", + "ifie r", + "▁e mp", + "▁em p", + "▁ emp", + "▁c la", + "▁cl a", + "▁ cla", + "mo n", + "m on", + "▁D as", + "▁Da s", + "ad y", + "a dy", + "▁в ід", + "▁ві д", + "▁ від", + "▁ ц", + "ab or", + "a bor", + "OS T", + "O ST", + "▁b and", + "▁ban d", + "▁ba nd", + "▁ band", + "▁ ú", + "▁ex actly", + "▁exact ly", + "ie rt", + "ier t", + "i ert", + "av ig", + "avi g", + "▁re du", + "▁r edu", + "▁red u", + "▁ redu", + "▁S E", + "▁ SE", + "lish ed", + "lis hed", + "l ished", + "B u", + "Mess age", + "M essage", + "ce ll", + "cel l", + "c ell", + "ful ly", + "full y", + "▁s v", + "▁ sv", + "▁m akes", + "▁ma kes", + "▁make s", + "▁mak es", + "po l", + "p ol", + "▁re quired", + "▁require d", + "▁requ ired", + "▁ required", + "fer rer", + "▁p ers", + "▁per s", + "▁pe rs", + "▁ pers", + "▁m i", + "▁ mi", + "F I", + "▁Pa ul", + "▁ Paul", + "▁U I", + "▁ UI", + "▁B el", + "▁Be l", + "▁ Bel", + "in c", + "i nc", + "▁cont ains", + "▁contain s", + "▁ contains", + "O ut", + "as ure", + "p u", + "ot o", + "o to", + "▁g ame", + "▁ga me", + "▁gam e", + "▁ game", + "z n", + "▁W hy", + "▁Wh y", + "▁ Why", + "or ith", + "ori th", + "bi g", + "b ig", + "ки й", + "sig ma", + "s igma", + "▁qu ite", + "▁qui te", + "▁quit e", + "▁j ed", + "▁je d", + "▁ jed", + "re c", + "r ec", + "▁S QL", + "▁ SQL", + "б е", + "▁M art", + "▁Mar t", + "▁Ma rt", + "▁ Mart", + "y a", + "▁sch ool", + "▁ school", + "▁sim ply", + "▁simp ly", + "▁simpl y", + "▁v or", + "▁vo r", + "▁ vor", + "▁d ouble", + "▁dou ble", + "▁doub le", + "▁ double", + "ра в", + "▁S tr", + "▁St r", + "▁ Str", + "ie m", + "i em", + "▁al bum", + "▁alb um", + "▁ album", + "▁re sol", + "▁res ol", + "▁ resol", + "▁d ei", + "▁de i", + "▁W ik", + "▁Wi k", + "▁ Wik", + "▁a w", + "▁ aw", + "um b", + "u mb", + "ol s", + "o ls", + "▁* /", + "▁ */", + "▁z e", + "▁ ze", + "▁a nim", + "▁an im", + "▁ani m", + "▁ anim", + "/ >", + "ri s", + "r is", + "re sh", + "res h", + "r esh", + "N o", + "ique s", + "iqu es", + "i ques", + "cur rent", + "curr ent", + "c urrent", + "▁per iod", + "▁peri od", + "▁ period", + "▁A pril", + "▁Ap ril", + "▁st ore", + "▁stor e", + "▁sto re", + "▁ store", + "', '", + "' ,'", + "▁S et", + "▁Se t", + "▁ Set", + "= {", + "ach ed", + "ac hed", + "ache d", + "a ched", + "▁M al", + "▁Ma l", + "▁ Mal", + "▁P al", + "▁Pa l", + "▁ Pal", + "an tes", + "ant es", + "ante s", + "ate rial", + "ater ial", + "▁work ed", + "▁wor ked", + "le q", + "l eq", + "ore ferrer", + "▁h appen", + "▁ha ppen", + "▁happ en", + "▁b ox", + "▁bo x", + "▁ box", + "ne y", + "n ey", + "▁c lose", + "▁cl ose", + "▁clos e", + "▁clo se", + "▁ close", + "▁g ran", + "▁gr an", + "▁gra n", + "▁l ie", + "▁li e", + "▁ lie", + "▁i r", + "▁ ir", + "▁ex pected", + "▁exp ected", + "▁expect ed", + "▁ expected", + "▁д ля", + "cl ick", + "cli ck", + "clic k", + "c lick", + "ș i", + "▁p arte", + "▁par te", + "▁part e", + "og n", + "o gn", + "▁F orm", + "▁For m", + "▁Fo rm", + "▁ Form", + "▁m emb", + "▁me mb", + "▁mem b", + "▁p lan", + "▁pl an", + "▁pla n", + "▁ plan", + "▁te am", + "▁tea m", + "▁ team", + "] [", + "▁c ommun", + "▁com mun", + "▁comm un", + "or ry", + "orr y", + "en cy", + "enc y", + "g l", + "in ary", + "ina ry", + "inar y", + "cd ot", + "c dot", + "^ \\", + "▁F irst", + "▁Fir st", + "▁ First", + "an der", + "and er", + "ande r", + "a nder", + "▁D ec", + "▁De c", + "▁ Dec", + "re quest", + "req uest", + "ст ва", + "ств а", + "с тва", + "▁str ucture", + "▁struct ure", + "▁ structure", + "▁| |", + "▁ ||", + "▁C omp", + "▁Com p", + "▁Co mp", + "▁ Comp", + "act ory", + "actor y", + "▁M il", + "▁Mi l", + "▁ Mil", + "▁S ome", + "▁So me", + "▁Som e", + "▁ Some", + "St ream", + "▁as sum", + "▁ass um", + "ue n", + "u en", + "▁w ords", + "▁word s", + "▁wor ds", + "▁ words", + "▁Se ptember", + "▁Sept ember", + "▁К о", + "▁ Ко", + "▁d ays", + "▁da ys", + "▁day s", + "▁ days", + "or ies", + "ori es", + "orie s", + "o ries", + "ста в", + "s m", + "vi n", + "v in", + "part ial", + "▁par ent", + "▁pa rent", + "▁pare nt", + "▁ parent", + "o j", + "ни и", + "! \"", + "ug in", + "u gin", + "▁W indows", + "▁Wind ows", + "▁Window s", + "▁ Windows", + "E d", + ": }", + "▁ q", + "▁b en", + "▁be n", + "▁ ben", + "ia na", + "ian a", + "i ana", + "▁l abel", + "▁la bel", + "▁lab el", + "▁ label", + "st ate", + "sta te", + "stat e", + "ut ed", + "ute d", + "u ted", + "▁( )", + "▁ ()", + "▁с во", + "▁e dit", + "▁ed it", + "▁ edit", + "ur ing", + "uri ng", + "u ring", + "▁N S", + "▁ NS", + "▁J ahr", + "▁Jah r", + "▁Ja hr", + "▁prov ide", + "H e", + "▁Y es", + "▁Ye s", + "▁ Yes", + "an el", + "ane l", + "a nel", + "en ame", + "ena me", + "e name", + "▁D on", + "▁Do n", + "▁ Don", + "is k", + "i sk", + "gr a", + "g ra", + "el ij", + "eli j", + "e lij", + "▁r oot", + "▁ro ot", + "▁ root", + "* /", + "▁F re", + "▁Fr e", + "▁ Fre", + "▁M or", + "▁Mo r", + "▁ Mor", + "us ed", + "use d", + "u sed", + "ran ge", + "r ange", + "▁t amb", + "▁ta mb", + "▁tam b", + "▁mod ule", + "▁ module", + "▁d irectory", + "▁direct ory", + "▁director y", + "▁ directory", + "ound s", + "oun ds", + "Act ivity", + "Activ ity", + "▁m u", + "▁ mu", + "in fo", + "inf o", + "▁f ree", + "▁fr ee", + "▁fre e", + "▁ free", + "or ge", + "org e", + "ta b", + "t ab", + ") =", + "la ng", + "lan g", + "l ang", + "▁о с", + "▁ ос", + "▁F ROM", + "▁FR OM", + "▁ FROM", + "▁en ter", + "▁ent er", + "▁ enter", + "▁bec ame", + "id ae", + "ida e", + "х и", + "▁St ates", + "▁State s", + "▁Stat es", + "▁Sta tes", + "ver se", + "vers e", + "▁ex pl", + "▁exp l", + "▁ expl", + "yn t", + "y nt", + "U N", + "e e", + "en dent", + "end ent", + "enden t", + "ende nt", + "▁m aking", + "▁ma king", + "▁mak ing", + "▁ making", + "▁\" $", + "un i", + "u ni", + "qu ence", + "▁l ui", + "▁lu i", + "H T", + "▁us es", + "▁use s", + "▁ uses", + "zi e", + "z ie", + "ni a", + "n ia", + "Cont ent", + "▁C ount", + "▁Co unt", + "▁Coun t", + "▁Cou nt", + "▁ Count", + "▁stand ard", + "▁ standard", + "EN T", + "E NT", + "▁ко н", + "▁к он", + "▁ кон", + "fo rt", + "for t", + "f ort", + "ad as", + "ada s", + "a das", + "з у", + "S ystem", + "▁S w", + "▁ Sw", + "▁e ver", + "▁ev er", + "▁ ever", + "L O", + "▁cor respond", + "▁P o", + "▁ Po", + "ar gin", + "arg in", + "к т", + "і й", + "▁re main", + "▁rem ain", + "ci o", + "c io", + "▁act ual", + "▁actu al", + "▁ actual", + "ст у", + "с ту", + "▁s ind", + "▁si nd", + "▁sin d", + "▁P e", + "▁ Pe", + "▁ch anged", + "▁change d", + "▁chang ed", + "▁ changed", + "▁N ote", + "▁No te", + "▁Not e", + "▁ Note", + "sk ie", + "ski e", + "s kie", + "▁famil y", + "▁fam ily", + "▁ family", + "it à", + "co s", + "c os", + "tx t", + "t xt", + "ke r", + "k er", + "ce ed", + "c eed", + "▁a rr", + "▁ar r", + "▁ arr", + "▁c am", + "▁ca m", + "▁ cam", + "iz er", + "ize r", + "i zer", + "▁D an", + "▁Da n", + "▁ Dan", + "he l", + "h el", + "ic ult", + "icul t", + "H P", + "il er", + "ile r", + "i ler", + "▁S al", + "▁Sa l", + "▁ Sal", + "▁con nection", + "▁conne ction", + "▁connect ion", + "▁conn ection", + "▁ connection", + "us ion", + "k n", + "R I", + "▁v om", + "▁vo m", + "List ener", + "▁ ö", + "▁d im", + "▁di m", + "▁ dim", + "▁p ress", + "▁pr ess", + "▁pre ss", + "▁pres s", + "▁ press", + "▁e sc", + "▁es c", + "▁ esc", + "▁T ry", + "▁Tr y", + "▁ Try", + "at alog", + "ata log", + "atal og", + "▁th anks", + "▁than ks", + "▁thank s", + "D O", + "▁w ritten", + "▁writ ten", + "▁wr itten", + "▁ written", + "di r", + "d ir", + "re w", + "r ew", + "▁f ire", + "▁fi re", + "▁fir e", + "▁ fire", + "▁N ach", + "▁Na ch", + "▁ á", + "en c", + "e nc", + "▁or igin", + "▁orig in", + "▁ origin", + "▁Nov ember", + "▁} ;", + "▁ };", + "Co unt", + "C ount", + "▁З а", + "▁ За", + "▁g raph", + "▁gr aph", + "▁gra ph", + "▁ graph", + "▁m is", + "▁mi s", + "▁ mis", + "▁Ex ternal", + "▁Ext ernal", + "▁Extern al", + "▁Externa l", + "▁ External", + "▁o ptions", + "▁option s", + "▁opt ions", + "▁ options", + "▁U RL", + "▁ URL", + "▁p hp", + "▁ph p", + "▁ php", + "▁in tegr", + "▁int egr", + "▁inte gr", + "▁ integr", + "Con fig", + "Conf ig", + "▁T ext", + "▁Te xt", + "▁Tex t", + "▁ Text", + "in ner", + "inn er", + "▁c rit", + "▁cr it", + "▁cri t", + "▁ crit", + ", ”", + "▁t og", + "▁to g", + "$ $", + "no f", + "n of", + "▁s es", + "▁se s", + "üh r", + "ü hr", + "▁S ince", + "▁Sin ce", + "▁ Since", + "De s", + "D es", + "ub e", + "u be", + "▁s ection", + "▁se ction", + "▁sec tion", + "▁sect ion", + "▁ section", + "▁g i", + "▁ gi", + "fo rd", + "for d", + "f ord", + "▁A ss", + "▁As s", + "▁ Ass", + "ain er", + "ai ner", + "aine r", + "a iner", + "tt p", + "t tp", + "▁be hav", + "▁beh av", + "port s", + "por ts", + "dr aw", + "dra w", + "d raw", + "Th is", + "T his", + "ran ch", + "r anch", + "in ding", + "ind ing", + "indi ng", + "▁e stab", + "▁est ab", + "▁es tab", + "▁esta b", + "▁ob tain", + "▁obt ain", + "ri ch", + "ric h", + "r ich", + "li cit", + "lic it", + "е в", + "▁qu al", + "▁q ual", + "▁ qual", + "▁z a", + "▁ za", + "▁h ar", + "▁ha r", + "▁ har", + "▁f ac", + "▁fa c", + "▁ fac", + "aa r", + "a ar", + "je t", + "j et", + "ic les", + "icle s", + "i cles", + "▁A us", + "▁Au s", + "▁ Aus", + "▁h or", + "▁ho r", + "▁ hor", + "▁re mov", + "▁rem ov", + "▁w ie", + "▁ wie", + "Cl ient", + "C lient", + "▁n atur", + "▁nat ur", + "hi p", + "h ip", + "Su b", + "S ub", + "▁r andom", + "▁ran dom", + "▁rand om", + "▁ random", + "D F", + "▁a rea", + "▁are a", + "▁ar ea", + "▁ area", + "ta g", + "t ag", + "P r", + "▁I tal", + "▁It al", + "▁ Ital", + "▁r oku", + "▁ro ku", + "▁rok u", + "no follow", + "nof ollow", + "* }", + "▁o thers", + "▁other s", + "▁l imit", + "▁li mit", + "▁lim it", + "▁ limit", + "▁s il", + "▁si l", + "▁ sil", + "▁s av", + "▁sa v", + "▁o ften", + "▁of ten", + "▁oft en", + "▁re nder", + "▁r ender", + "▁ren der", + "▁rend er", + "▁rende r", + "▁ render", + "D B", + "▁M c", + "▁ Mc", + "▁z ijn", + "▁zij n", + "же н", + "ж ен", + "▁t ag", + "▁ta g", + "▁ tag", + "min g", + "mi ng", + "m ing", + "li chen", + "lic hen", + "lich en", + "liche n", + "l ichen", + "pa ck", + "p ack", + "▁A g", + "▁ Ag", + "▁s ense", + "▁sens e", + "▁sen se", + "p g", + "Met hod", + "M ethod", + "ag ed", + "age d", + "a ged", + "á g", + "ł a", + "▁inter est", + "▁inte rest", + "▁as soci", + "▁ass oci", + "▁ associ", + "vol ution", + "▁em pty", + "▁emp ty", + "▁ empty", + "ic he", + "ich e", + "i che", + "▁g ro", + "▁gr o", + "▁ gro", + "▁t ypes", + "▁type s", + "▁typ es", + "▁ty pes", + "▁ types", + "▁S ie", + "▁Si e", + "In ter", + "Int er", + "▁n oreferrer", + "▁ noreferrer", + "▁g ives", + "▁giv es", + "▁give s", + "▁gi ves", + "ha l", + "h al", + "▁s ave", + "▁sa ve", + "▁sav e", + "▁ save", + "▁f ont", + "▁fo nt", + "▁fon t", + "▁ font", + "ru ction", + "ruct ion", + "S cript", + "▁a lla", + "▁al la", + "▁all a", + "▁ alla", + "▁s ays", + "▁sa ys", + "▁say s", + "▁f u", + "▁ fu", + "ap e", + "a pe", + "▁l anguage", + "▁ language", + "ig er", + "ige r", + "i ger", + "▁K ing", + "▁Ki ng", + "▁Kin g", + "bo r", + "b or", + "u v", + "▁s hall", + "▁sh all", + "▁E urope", + "▁Europ e", + "▁Euro pe", + "▁Eur ope", + "▁ Europe", + "▁ein em", + "▁eine m", + "▁w ater", + "▁wa ter", + "▁wat er", + "▁ water", + "▁g overn", + "▁go vern", + "▁gover n", + "an z", + "at ors", + "ator s", + "ato rs", + "▁mon th", + "▁mo nth", + "▁mont h", + "▁ month", + "y e", + "▁import ant", + "▁ important", + "at z", + "a tz", + "fir st", + "f irst", + "▁Tr ans", + "▁Tra ns", + "▁ Trans", + "▁M ad", + "▁Ma d", + "▁ Mad", + "▁b ra", + "▁br a", + "▁ bra", + "ik a", + "i ka", + "▁S aint", + "▁Sa int", + "▁Sain t", + "▁ Saint", + "or ia", + "ori a", + "o ria", + "kr e", + "k re", + "em ents", + "ement s", + "emen ts", + "e ments", + "▁B en", + "▁Be n", + "▁ Ben", + "la v", + "l av", + "▁ad min", + "▁adm in", + "▁ admin", + "▁H en", + "▁He n", + "▁ Hen", + "ri l", + "r il", + "▁S m", + "▁ Sm", + "ca t", + "c at", + "▁Re fer", + "▁Ref er", + "▁ Ш", + "▁p ract", + "▁pr act", + "▁pra ct", + "▁prac t", + "▁P at", + "▁Pa t", + "▁ Pat", + "▁G re", + "▁Gr e", + "▁ Gre", + "▁you ng", + "▁yo ung", + "▁In ter", + "▁Int er", + "▁ Inter", + "om a", + "o ma", + "te ger", + "ib ility", + "ibil ity", + "▁param eters", + "▁parameter s", + "▁paramet ers", + "▁ parameters", + "▁every thing", + "da t", + "d at", + "ur op", + "uro p", + "u rop", + "ole an", + "o lean", + "▁return ed", + "▁C lass", + "▁Cl ass", + "▁Cla ss", + "▁ Class", + "ac y", + "a cy", + "## ##", + "▁p ř", + "▁f older", + "▁fol der", + "▁fo lder", + "▁ folder", + "▁k on", + "▁ko n", + "▁ kon", + "▁gu ess", + "g t", + "je n", + "j en", + "an nel", + "ann el", + "anne l", + "ic on", + "ico n", + "i con", + "▁c omb", + "▁com b", + "▁co mb", + "▁ comb", + "ri ct", + "ric t", + "r ict", + "▁h ij", + "▁hi j", + "▁aut hor", + "▁auth or", + "▁ author", + "se e", + "s ee", + "he re", + "her e", + "h ere", + "st ra", + "str a", + "s tra", + "▁ent ire", + "▁direct ly", + "ra ft", + "raf t", + "r aft", + "he et", + "es ter", + "est er", + "este r", + "e ster", + "▁м и", + "▁ ми", + "▁m ass", + "▁ma ss", + "▁mas s", + "▁ mass", + "un tu", + "unt u", + "▁u sers", + "▁us ers", + "▁use rs", + "▁user s", + "▁ users", + "ch i", + "c hi", + "P E", + "▁com ponent", + "▁compon ent", + "▁ component", + "Cl ick", + "C lick", + "At t", + "A tt", + "▁s obre", + "▁so bre", + "▁sob re", + "an ds", + "and s", + "▁H ol", + "▁Ho l", + "▁ Hol", + "▁S ant", + "▁San t", + "▁Sa nt", + "or i", + "o ri", + "▁s ua", + "▁su a", + "st d", + "s td", + "ent ic", + "enti c", + "C C", + "▁fil ter", + "▁ filter", + "S QL", + "▁G od", + "▁Go d", + "A t", + "▁м у", + "▁ му", + "▁per formance", + "▁perform ance", + "del ta", + "d elta", + "an de", + "and e", + "a nde", + "am er", + "ame r", + "a mer", + "д ы", + "▁c ult", + "▁cu lt", + "▁cul t", + "▁N or", + "▁No r", + "bu t", + "b ut", + "▁l ik", + "▁li k", + "▁ lik", + "**** ****", + "ст вен", + "ств ен", + "стве н", + "▁com me", + "▁comm e", + "▁d r", + "▁ dr", + "im er", + "ime r", + "i mer", + "or din", + "ord in", + "▁cond ition", + "▁ condition", + "es te", + "est e", + "e ste", + "( [", + "F F", + "ть ся", + "im o", + "i mo", + "ra b", + "r ab", + "і ль", + "▁h alf", + "▁hal f", + "▁ half", + "ea ch", + "e ach", + "Di s", + "D is", + "▁r ows", + "▁ro ws", + "▁row s", + "▁ rows", + "▁h on", + "▁ho n", + "▁ hon", + "▁t ogether", + "▁tog ether", + "▁ și", + "me di", + "med i", + "m edi", + "ag n", + "a gn", + "al led", + "all ed", + "alle d", + "▁v ill", + "▁vi ll", + "▁vil l", + "IN G", + "I NG", + "id den", + "idd en", + "▁d raw", + "▁dr aw", + "▁dra w", + "▁ draw", + "yn tax", + "ynt ax", + "▁att empt", + "UR L", + "U RL", + "pos e", + "po se", + "p ose", + "▁in dic", + "▁ind ic", + "ни ка", + "ник а", + "▁Eng lish", + "▁ English", + "▁d éc", + "▁dé c", + "▁ne eds", + "▁need s", + "▁n ormal", + "▁nor mal", + "▁norm al", + "▁ normal", + "ur t", + "u rt", + "▁н о", + "▁ но", + "}} \\", + "} }\\", + "la st", + "las t", + "l ast", + "▁F in", + "▁ Fin", + "▁F ebru", + "▁Fe bru", + "▁Feb ru", + "il a", + "i la", + "▁c ountry", + "▁count ry", + "▁coun try", + "▁ country", + "▁field s", + "▁fiel ds", + "▁ fields", + "▁m ax", + "▁ma x", + "▁ max", + "lé s", + "l és", + "ow ie", + "owi e", + "o wie", + "▁de ux", + "▁bu ilt", + "▁ built", + "▁M ain", + "▁Ma in", + "▁Mai n", + "▁ Main", + "▁c amp", + "▁cam p", + "▁ca mp", + "▁ camp", + "iv o", + "i vo", + "iv a", + "i va", + "ic y", + "i cy", + "zi one", + "z ione", + "No de", + "N ode", + "▁: )", + "▁ :)", + "▁am ong", + "▁O b", + "▁ Ob", + "▁c ases", + "▁case s", + "▁cas es", + "▁ cases", + "ha ps", + "h aps", + "se rs", + "ser s", + "s ers", + "ar ter", + "art er", + "arte r", + "śc i", + "ś ci", + "▁it er", + "▁i ter", + "▁ iter", + "▁n amed", + "▁name d", + "▁na med", + "▁nam ed", + "▁ named", + "ex ec", + "exe c", + "▁se ason", + "▁sea son", + "▁ season", + "to t", + "t ot", + "= >", + "gr aph", + "gra ph", + "g raph", + "▁n il", + "▁ni l", + "▁ nil", + "ac ional", + "acion al", + "aci onal", + "▁N ULL", + "▁ NULL", + "▁spe cial", + "▁spec ial", + "▁ special", + "ст е", + "с те", + "cs s", + "c ss", + "▁\\ (", + "v s", + "ae l", + "a el", + "▁c ity", + "▁ci ty", + "▁cit y", + "▁ city", + "ov a", + "o va", + "▁art icle", + "▁ article", + "▁S outh", + "▁So uth", + "▁Sou th", + "Act ion", + "Ac tion", + "A ction", + "ç a", + "sp ring", + "spr ing", + "s pring", + "it ude", + "itu de", + "itud e", + "▁com plex", + "▁comp lex", + "▁comple x", + "▁compl ex", + "▁ complex", + "▁ч то", + "bu ild", + "g amma", + "▁E nt", + "▁En t", + "▁ Ent", + "ie rs", + "ier s", + "i ers", + "' .", + "ca r", + "c ar", + "ap ache", + "apa che", + "in gen", + "ing en", + "inge n", + "In put", + ":  ", + "▁d ynam", + "▁dy nam", + "al ls", + "all s", + "sh ow", + "s how", + "| \\", + "▁w ird", + "▁wir d", + "B ar", + "al th", + "alt h", + "mod el", + "mo del", + "mode l", + "m odel", + "Tr ans", + "Tra ns", + "Ro w", + "R ow", + "ab e", + "a be", + "▁l ib", + "▁li b", + "▁ lib", + "nu ll", + "n ull", + "ra gment", + "rag ment", + "▁St ate", + "▁Stat e", + "▁Sta te", + "▁ State", + "▁l aw", + "▁la w", + "▁ law", + "Fr ame", + "F rame", + "▁L o", + "▁ Lo", + "ge b", + "g eb", + "}$ .", + "} $.", + "▁ne eded", + "▁need ed", + "▁con tr", + "▁cont r", + "▁ contr", + "ar ies", + "ari es", + "arie s", + "a ries", + "▁s creen", + "▁sc reen", + "▁scr een", + "▁ screen", + "y r", + "m m", + "▁sh own", + "▁show n", + "▁sho wn", + "▁b ad", + "▁ba d", + "▁ bad", + "▁c ast", + "▁cas t", + "▁ca st", + "▁ cast", + "▁T est", + "▁Te st", + "▁ Test", + "▁A uf", + "▁Au f", + "▁qu ant", + "▁quan t", + "▁ quant", + "ig a", + "i ga", + "▁re n", + "▁r en", + "▁ ren", + "▁M ac", + "▁Ma c", + "▁ Mac", + "▁trans form", + "▁ transform", + "▁d ifference", + "▁dif ference", + "▁differ ence", + "▁t it", + "▁ti t", + "▁ tit", + "T E", + "▁st ep", + "▁ste p", + "▁ step", + "▁c apt", + "▁cap t", + "▁ca pt", + "▁ capt", + "▁col lection", + "▁coll ection", + "▁collect ion", + "▁colle ction", + "▁ collection", + "iction ary", + "▁T om", + "▁To m", + "▁ Tom", + "ri er", + "rie r", + "r ier", + "▁m ove", + "▁mov e", + "▁mo ve", + "▁ move", + "co pe", + "cop e", + "c ope", + "or ds", + "ord s", + "▁fur ther", + "▁column s", + "▁ columns", + "▁L in", + "▁Li n", + "▁ Lin", + "▁f ixed", + "▁fix ed", + "▁ fixed", + "▁child ren", + "▁ children", + "M S", + "m o", + "un a", + "u na", + "▁ind ivid", + "tt y", + "t ty", + "as te", + "ast e", + "a ste", + "sr c", + "s rc", + "mat ch", + "m atch", + "w i", + "▁ х", + "▁д и", + "▁ ди", + "▁o rd", + "▁or d", + "▁ ord", + "iv ing", + "ivi ng", + "i ving", + "▁B ro", + "▁Br o", + "▁ Bro", + "▁al most", + "▁P res", + "▁Pr es", + "▁Pre s", + "▁ Pres", + "re ci", + "rec i", + "ar ing", + "ari ng", + "arin g", + "a ring", + "▁/ //", + "▁// /", + "▁ ///", + "ет ся", + "е тся", + "▁s ig", + "▁si g", + "▁ sig", + "lig ht", + "l ight", + "▁R ed", + "▁Re d", + "▁ Red", + "▁sugg est", + "▁sug gest", + "ol f", + "▁é té", + "▁ét é", + "▁ été", + "is ation", + "isa tion", + "isat ion", + "з на", + "Ne w", + "N ew", + "ст ан", + "ста н", + "с тан", + "L A", + "un icip", + "unic ip", + "uni cip", + "▁fig ure", + "▁figur e", + "▁ figure", + "m t", + "ia le", + "ial e", + "i ale", + "▁c atch", + "▁cat ch", + "▁ catch", + "de fault", + "def ault", + "▁t ele", + "▁te le", + "▁tel e", + "▁ tele", + "▁m atter", + "▁mat ter", + "ca st", + "cas t", + "c ast", + "▁R ich", + "▁Ric h", + "▁Ri ch", + "▁ Rich", + "▁hand le", + "▁ handle", + "val u", + "va lu", + "v alu", + "$ -", + "о б", + "▁j son", + "▁js on", + "▁ json", + "Cre ate", + "C reate", + "▁ex am", + "ал ь", + "а ль", + "ю т", + "or ed", + "ore d", + "o red", + "id os", + "ido s", + "ap pend", + "app end", + "appen d", + "appe nd", + "▁Ar ray", + "▁Arr ay", + "▁ Array", + "к с", + "} [", + "ri ve", + "riv e", + "r ive", + "▁c lub", + "▁cl ub", + "▁ club", + "ma nn", + "man n", + "m ann", + "▁e ste", + "▁est e", + "▁es te", + "▁ este", + "es ta", + "est a", + "e sta", + "▁G i", + "▁ Gi", + "▁J ap", + "▁Ja p", + "▁N ame", + "▁Na me", + "▁Nam e", + "▁ Name", + "Col umn", + "ou ps", + "oup s", + "o ups", + "is mo", + "ism o", + "▁C ity", + "▁Ci ty", + "▁Cit y", + "▁ City", + "▁class es", + "▁classe s", + "▁ classes", + "▁in fl", + "▁inf l", + "▁ infl", + "h l", + "ро м", + "р ом", + "▁ad ding", + "▁add ing", + "▁ adding", + "▁f ail", + "▁fa il", + "▁ fail", + "x x", + "õ es", + "S c", + "ut il", + "uti l", + "u til", + "▁l ocation", + "▁lo cation", + "▁loc ation", + "▁ location", + "le ge", + "leg e", + "l ege", + "ag o", + "a go", + "▁pro perties", + "▁proper ties", + "▁ properties", + "ab il", + "abi l", + "a bil", + "va s", + "v as", + "}$ ,", + "} $,", + "it ted", + "itt ed", + "itte d", + "ó d", + "▁D em", + "▁De m", + "▁as ked", + "▁ask ed", + "▁t ab", + "▁ta b", + "▁ tab", + "S ource", + "▁error s", + "▁err ors", + "▁ errors", + "ograph ie", + "▁ж и", + "▁ жи", + "▁m al", + "▁ma l", + "▁ mal", + "st ract", + "str act", + "stra ct", + "▁d ro", + "▁dr o", + "▁ dro", + "ra k", + "r ak", + "▁n ote", + "▁not e", + "▁no te", + "▁ note", + "▁set ting", + "▁sett ing", + "▁ setting", + "▁f em", + "▁fe m", + "▁s aw", + "▁sa w", + "ia r", + "i ar", + "HE R", + "H ER", + "е с", + "▁p red", + "▁pr ed", + "▁pre d", + "▁ pred", + "▁O ut", + "▁ Out", + "▁it ems", + "▁item s", + "▁ items", + "ла н", + "л ан", + "▁w erd", + "▁we rd", + "▁wer d", + "ers ion", + "li a", + "l ia", + "▁s in", + "▁si n", + "▁ sin", + "ich te", + "icht e", + "i chte", + "▁fe el", + "▁fee l", + "▁п ра", + "▁пр а", + "▁ пра", + "▁o der", + "▁od er", + "▁ oder", + "U E", + "oc ument", + "▁m ode", + "▁mod e", + "▁mo de", + "▁ mode", + "▁N a", + "▁ Na", + "де н", + "д ен", + "me s", + "m es", + "frame work", + "▁a uto", + "▁au to", + "▁aut o", + "▁ auto", + "ны м", + "н ым", + "ub y", + "u by", + "▁tem plate", + "▁temp late", + "▁ template", + "▁m ess", + "▁me ss", + "▁mes s", + "▁ mess", + "ie der", + "ied er", + "i eder", + "▁rel ated", + "▁rela ted", + "▁relate d", + "▁ related", + "ok en", + "oke n", + "o ken", + "▁follow s", + "se arch", + "s earch", + "am i", + "a mi", + "▁w ait", + "▁wa it", + "▁ wait", + "ig r", + "i gr", + "▁l ow", + "▁lo w", + "▁ low", + "ски х", + "ск их", + "с ких", + "ска я", + "с кая", + "▁M ark", + "▁Mar k", + "▁ Mark", + "▁i ll", + "▁il l", + "▁ ill", + "am ento", + "ament o", + "amen to", + "\\ <", + "▁d f", + "▁ df", + "os ition", + "osi tion", + "▁В и", + "is f", + "i sf", + "▁De utsch", + "ah l", + "a hl", + "wa r", + "w ar", + "it ect", + "ite ct", + "▁s al", + "▁sa l", + "▁ sal", + "el en", + "ele n", + "e len", + "By Id", + "▁g ru", + "▁gr u", + "▁ gru", + "s v", + "▁pass ed", + "▁pas sed", + "▁passe d", + "▁a ñ", + "▁ añ", + "Sc h", + "S ch", + "▁sol ve", + "we ise", + "weis e", + "wei se", + "at os", + "ato s", + "▁m eg", + "▁me g", + "▁m ember", + "▁mem ber", + "▁memb er", + "▁ member", + "er name", + "ern ame", + "erna me", + "▁con nect", + "▁conne ct", + "▁conn ect", + "▁ connect", + "ip s", + "i ps", + "▁r ound", + "▁ro und", + "▁rou nd", + "▁ round", + "▁ ]", + "ne s", + "n es", + "▁d ir", + "▁di r", + "▁ dir", + "▁Lond on", + "d y", + "F A", + "▁rece ived", + "▁receive d", + "re et", + "ree t", + "▁L og", + "▁Lo g", + "▁ Log", + "▁Sch ool", + "an go", + "ang o", + "▁The se", + "▁Th ese", + "▁M ont", + "▁Mon t", + "▁Mo nt", + "▁ Mont", + "▁e ner", + "▁en er", + "▁ ener", + "la d", + "l ad", + "▁def ine", + "▁defin e", + "▁ define", + "si gn", + "sig n", + "s ign", + "▁c le", + "▁cl e", + "▁ cle", + "fig ure", + "▁V iew", + "▁Vi ew", + "▁Vie w", + "▁ View", + "text bf", + "$ \\", + "з ы", + "num ber", + "n umber", + "▁d in", + "▁di n", + "▁ din", + "el ler", + "ell er", + "elle r", + "orith m", + "ori thm", + "fal se", + "f alse", + "fo l", + "f ol", + "ffic ient", + "▁HT ML", + "▁ HTML", + "li che", + "lic he", + "lich e", + "l iche", + "▁M o", + "▁ Mo", + "▁int rodu", + "▁intr odu", + "▁intro du", + "ex p", + "e xp", + "▁st rong", + "▁str ong", + "▁stro ng", + "▁ strong", + "▁t hus", + "▁th us", + "/ )", + "▁e le", + "▁el e", + "▁ ele", + "▁та к", + "▁ так", + "▁п а", + "▁ па", + "▁d ont", + "▁do nt", + "▁don t", + "▁c ause", + "▁caus e", + "▁ca use", + "Num ber", + "N umber", + "▁im ages", + "▁image s", + "▁imag es", + "▁ images", + "▁s ample", + "▁sam ple", + "▁ sample", + "▁s ci", + "▁sc i", + "▁ sci", + "li ke", + "lik e", + "l ike", + "▁L ou", + "▁Lo u", + "▁ Lou", + "di v", + "d iv", + "an c", + "a nc", + "▁f ront", + "▁fr ont", + "▁fro nt", + "▁ front", + "ne n", + "n en", + "▁miss ing", + "▁mis sing", + "▁ missing", + "ar ia", + "ari a", + "a ria", + "pr es", + "pre s", + "p res", + "▁п ред", + "▁пре д", + "D I", + "fil ter", + "▁M it", + "▁Mi t", + "U R", + "▁o pp", + "▁op p", + "▁ opp", + "▁s ql", + "▁sq l", + "▁ sql", + "▁ро ку", + "er en", + "ere n", + "e ren", + "em at", + "ema t", + "e mat", + "í s", + "▁Je an", + "▁ Jean", + "é c", + "▁c i", + "▁ ci", + "en ne", + "enn e", + "at form", + "▁t aken", + "▁tak en", + "▁take n", + "▁ta ken", + "▁O f", + "▁ Of", + "▁на се", + "▁e rr", + "▁er r", + "▁ err", + "O P", + "Fr om", + "F rom", + "De fault", + "Def ault", + "▁Gener al", + "▁Gen eral", + "▁Gene ral", + "▁ General", + "wik i", + "wi ki", + "w iki", + "▁g rand", + "▁gr and", + "▁gra nd", + "▁gran d", + "▁ grand", + "▁e inen", + "▁ein en", + "▁eine n", + "Re g", + "R eg", + "Hand ler", + "Handle r", + "con om", + "co nom", + "cono m", + "c onom", + "an ger", + "ang er", + "ange r", + "▁бы л", + "▁L os", + "▁Lo s", + "▁ Los", + "▁ex pression", + "▁exp ression", + "▁express ion", + "▁expr ession", + "▁ expression", + "ш а", + "ya l", + "y al", + "▁$ ('", + "▁$( '", + "▁sw itch", + "▁ switch", + "▁v ector", + "▁ve ctor", + "▁vec tor", + "▁ vector", + "▁T hom", + "▁Th om", + "▁v irt", + "▁vi rt", + "▁vir t", + "▁ virt", + "le ased", + "lease d", + "lea sed", + "▁c over", + "▁co ver", + "▁cov er", + "▁ cover", + "▁re sp", + "▁r esp", + "▁res p", + "▁ resp", + "ak o", + "a ko", + "ren ch", + "ot a", + "o ta", + "C ell", + "an ged", + "ang ed", + "ange d", + "▁+ =", + "▁ +=", + "la c", + "l ac", + "sk a", + "s ka", + "ne xt", + "nex t", + "n ext", + "▁Intern ational", + "▁W il", + "▁Wi l", + "▁ Wil", + "▁o nt", + "▁on t", + "▁ ont", + "ib r", + "i br", + "us tr", + "ust r", + "u str", + "▁b lack", + "▁bl ack", + "▁bla ck", + "▁ black", + "▁select ed", + "▁sel ected", + "▁sele cted", + "▁ selected", + "ch er", + "che r", + "c her", + "▁l iter", + "▁li ter", + "▁lit er", + "▁ liter", + "ro ot", + "r oot", + "л ся", + "▁L ife", + "▁Li fe", + "▁ Life", + "▁in sert", + "▁ins ert", + "▁inser t", + "▁inse rt", + "▁ insert", + "▁mat rix", + "▁ matrix", + "is es", + "ise s", + ") ]", + "▁p el", + "▁pe l", + "▁ pel", + "Over ride", + "ry pt", + "▁for mer", + "▁form er", + "▁forme r", + "▁ former", + "▁Fil m", + "▁N orth", + "▁Nor th", + "cl ient", + "cli ent", + "c lient", + "▁n ight", + "▁ night", + "хо ди", + "ход и", + "▁A ustral", + "▁Aust ral", + "▁ Austral", + "▁R et", + "▁Re t", + "▁ Ret", + "rh o", + "r ho", + "▁п ер", + "▁пе р", + "▁ пер", + "ip edia", + "ipe dia", + "▁ex press", + "▁exp ress", + "▁expr ess", + "▁expres s", + "▁ express", + "▁th ird", + "▁ third", + "▁ma jor", + "▁maj or", + "▁ major", + "▁g rad", + "▁gr ad", + "▁gra d", + "▁ grad", + "ow e", + "o we", + "▁bel ieve", + "our nal", + "ourn al", + "▁st atus", + "▁stat us", + "▁ status", + "un c", + "u nc", + "▁d ou", + "▁do u", + "▁J SON", + "▁JS ON", + "▁ JSON", + "ui s", + "u is", + "▁pop ulation", + "▁popula tion", + "▁popul ation", + "en z", + "▁Will iam", + "s f", + "▁O bject", + "▁Ob ject", + "▁ Object", + "▁c in", + "▁ci n", + "▁ cin", + "▁D i", + "▁ Di", + "cur ity", + "c urity", + "▁O pen", + "▁Op en", + "▁ Open", + "▁ ле", + "la r", + "l ar", + "ad ding", + "add ing", + "▁k om", + "▁ko m", + "▁ kom", + "}( \\", + "} (\\", + "▁k il", + "▁ki l", + "▁ kil", + "um er", + "ume r", + "u mer", + "\"/ >", + "\" />", + "▁fe ature", + "▁ feature", + "▁A re", + "▁Ar e", + "▁ Are", + "ck s", + "c ks", + "▁Intern et", + "▁Inter net", + "▁ Internet", + "▁i h", + "▁ ih", + "▁start ed", + "▁star ted", + "▁ear ly", + "▁be gan", + "▁beg an", + "T H", + "p ython", + "as p", + "a sp", + "▁F r", + "▁ Fr", + "▁c los", + "▁cl os", + "▁clo s", + "▁ clos", + "ist ic", + "isti c", + "▁mus ic", + "▁ music", + "▁d ig", + "▁di g", + "▁ dig", + "▁it al", + "▁i tal", + "▁ ital", + "▁D avid", + "▁Dav id", + "▁Da vid", + "▁ David", + "▁web site", + "▁ website", + "▁cont roller", + "▁control ler", + "▁ controller", + "▁M er", + "▁Me r", + "▁ Mer", + "con text", + "cont ext", + "pro duct", + "produ ct", + "prod uct", + "os p", + "o sp", + "▁j un", + "▁ju n", + "ro wn", + "row n", + "r own", + "▁A z", + "▁ Az", + "\": \"", + "\" :\"", + "▁a an", + "▁aa n", + "▁D ate", + "▁Da te", + "▁Dat e", + "▁ Date", + "mu lt", + "mul t", + "m ult", + "▁b rowser", + "▁brow ser", + "▁ browser", + "ре д", + "wh ich", + "R A", + "qu are", + "qua re", + "▁R uss", + "▁Ru ss", + "▁Rus s", + "▁ Russ", + "▁s oon", + "▁so on", + "▁P re", + "▁Pr e", + "▁ Pre", + "ta u", + "t au", + "▁we ek", + "▁ week", + "▁б а", + "▁ ба", + "▁o ct", + "▁oc t", + "▁ oct", + "▁t own", + "▁to wn", + "▁ town", + "ro y", + "r oy", + "▁e ls", + "▁el s", + "▁ els", + "bl ic", + "b lic", + "und le", + "▁H istor", + "▁His tor", + "▁Hi stor", + "▁Hist or", + "▁f oi", + "▁fo i", + "▁mod els", + "▁model s", + "▁mode ls", + "▁ models", + "з о", + "on ym", + "ony m", + "o nym", + "Par am", + "Pa ram", + "P aram", + "▁M et", + "▁Me t", + "▁ Met", + "ge ner", + "gen er", + "g ener", + "j ą", + "▁e spe", + "▁es pe", + "▁esp e", + "C E", + "▁de vice", + "▁dev ice", + "▁devi ce", + "▁ device", + "el low", + "ell ow", + "ello w", + "▁de bug", + "▁deb ug", + "▁ debug", + "ér ie", + "éri e", + "é rie", + "us ing", + "u sing", + "ан г", + "а нг", + "▁* )", + "▁ *)", + "ud i", + "u di", + "▁M iss", + "▁Mi ss", + "▁Mis s", + "▁ Miss", + "ко м", + "к ом", + "pos ed", + "po sed", + "pose d", + "p osed", + "▁z we", + "▁zw e", + "і н", + "▁Ro bert", + "▁Rob ert", + "▁O ct", + "▁ Oct", + "lo p", + "l op", + "ja r", + "j ar", + "▁a ver", + "▁av er", + "▁ave r", + "▁ aver", + "▁ha bit", + "▁hab it", + "▁: :", + "▁ ::", + "än g", + "ä ng", + "St art", + "Star t", + "▁p ow", + "▁po w", + "▁ pow", + "▁s rc", + "▁sr c", + "▁ src", + "▁pat tern", + "▁ pattern", + "▁ Э", + "▁b i", + "▁ bi", + "ot es", + "ote s", + "o tes", + "▁_ _", + "▁ __", + "▁s ens", + "▁se ns", + "▁sen s", + "▁ sens", + "▁a void", + "▁av oid", + "▁avo id", + "ex ample", + "ut t", + "u tt", + "La bel", + "Lab el", + "L abel", + "te x", + "t ex", + "bo ot", + "b oot", + "es to", + "est o", + "e sto", + "▁M arch", + "▁Mar ch", + "▁Marc h", + "▁e asy", + "▁eas y", + "ict ure", + "Gr oup", + "▁f ather", + "▁fa ther", + "▁fat her", + "▁ father", + "▁up dated", + "▁update d", + "▁upd ated", + "▁ updated", + "▁V o", + "▁I II", + "▁II I", + "▁ III", + "om ega", + "ome ga", + "▁a lle", + "▁al le", + "▁all e", + "▁ alle", + "Re c", + "R ec", + "y g", + "з е", + "▁D im", + "▁Di m", + "▁ Dim", + "ne ct", + "n ect", + "▁T or", + "▁To r", + "▁de utsch", + "▁ deutsch", + "▁wh ite", + "▁ white", + "▁n ational", + "▁nation al", + "▁nat ional", + "pp e", + "p pe", + "▁a ir", + "▁ai r", + "▁ air", + "▁pass word", + "▁ password", + "de t", + "d et", + "▁b ig", + "▁bi g", + "▁ big", + "▁U se", + "▁Us e", + "▁ Use", + "cal l", + "ca ll", + "c all", + "▁ex tra", + "▁ext ra", + "▁extr a", + "▁ extra", + "W e", + "an ia", + "ani a", + "a nia", + "▁h old", + "▁ho ld", + "▁hol d", + "▁ hold", + "Cont rol", + "▁C O", + "▁ CO", + "▁м і", + "▁ мі", + "it i", + "i ti", + "▁K e", + "▁ Ke", + "en u", + "e nu", + "▁P ark", + "▁Par k", + "то м", + "т ом", + "▁a uth", + "▁au th", + "▁aut h", + "▁ auth", + "▁c enter", + "▁cent er", + "▁ center", + "P h", + "то в", + "т ов", + "id ing", + "idi ng", + "i ding", + "▁a cross", + "▁ac ross", + "▁s ong", + "▁so ng", + "▁son g", + "▁ song", + "▁ph ys", + "▁ phys", + "▁n umer", + "▁num er", + "▁nu mer", + "▁ numer", + "щ а", + "▁A lex", + "▁Al ex", + "▁Ale x", + "▁ Alex", + "▁problem s", + "▁proble ms", + "▁probl ems", + "▁E rror", + "▁Er ror", + "▁Err or", + "▁ Error", + "form at", + "for mat", + "▁A cc", + "▁Ac c", + "▁ Acc", + "▁s ix", + "▁si x", + "▁ six", + "▁d b", + "▁ db", + "▁C ast", + "▁Cas t", + "▁Ca st", + "▁ Cast", + "om s", + "o ms", + "pro ject", + "proj ect", + "▁v ert", + "▁ver t", + "▁ve rt", + "▁ vert", + "cre t", + "cr et", + "c ret", + "▁he ader", + "▁head er", + "▁ header", + "▁st ream", + "▁stre am", + "▁ stream", + "id s", + "i ds", + "▁t or", + "▁to r", + "▁ tor", + "▁se pt", + "▁sep t", + "▁est im", + "▁es tim", + "▁de cl", + "▁dec l", + "▁ decl", + "▁g ave", + "▁ga ve", + "▁p layer", + "▁pl ayer", + "▁play er", + "▁pla yer", + "▁ player", + "ys is", + "▁д ру", + "▁др у", + "am m", + "a mm", + "щ о", + "▁( \"", + "▁ (\"", + "▁a x", + "▁ ax", + "Pro perty", + "us r", + "u sr", + "▁some one", + "▁im pro", + "▁imp ro", + "▁impr o", + "ad en", + "ade n", + "a den", + "ro te", + "rot e", + "r ote", + "▁М и", + "i h", + "++ )", + "+ +)", + "▁v ideo", + "▁vide o", + "▁ video", + "▁ex ists", + "▁exist s", + "▁ exists", + "к ла", + "▁comp lete", + "▁comple te", + "▁complet e", + "▁compl ete", + "▁ complete", + "▁s ession", + "▁sess ion", + "▁ session", + "▁const ant", + "▁ constant", + "ic os", + "ico s", + "i cos", + "▁p ack", + "▁pa ck", + "▁pac k", + "▁ pack", + "ro me", + "rom e", + "r ome", + "eg r", + "e gr", + "App lication", + "▁y es", + "▁ye s", + "▁ yes", + "▁e lle", + "▁el le", + "▁ell e", + "▁ elle", + "▁e mail", + "▁em ail", + "▁ email", + "or f", + "o rf", + "ca se", + "cas e", + "c ase", + "▁po inter", + "▁point er", + "▁ pointer", + "▁reg ard", + "se n", + "s en", + "st atus", + "stat us", + "▁m es", + "▁me s", + "▁ mes", + "▁d elle", + "▁de lle", + "▁del le", + "▁dell e", + "ing ton", + "ingt on", + "▁B as", + "▁Ba s", + "▁ Bas", + ") ^", + "de velop", + "▁for ce", + "▁ force", + "▁char acters", + "▁charact ers", + "▁character s", + "▁c ross", + "▁cr oss", + "▁cro ss", + "▁ cross", + "▁de ath", + "▁t akes", + "▁tak es", + "▁take s", + "▁ta kes", + "ér i", + "é ri", + "ig ne", + "ign e", + "че н", + "ч ен", + "U P", + ". :", + "Th read", + "j u", + "in y", + "i ny", + "▁det ails", + "▁detail s", + "▁ details", + "▁x ml", + "▁ xml", + "ta it", + "t ait", + "out put", + "mess age", + "m essage", + "' '", + "▁Brit ish", + "vi lle", + "vil le", + "v ille", + "▁D iv", + "▁Di v", + "▁ Div", + "▁U ser", + "▁Use r", + "▁Us er", + "▁ User", + "c m", + "ч но", + "col umn", + "eq ref", + "ó r", + "on om", + "ono m", + "o nom", + "▁P ost", + "▁Po st", + "▁Pos t", + "▁ Post", + "el len", + "ell en", + "elle n", + "A b", + "ul té", + "ult é", + "▁per fect", + "▁perf ect", + "() {", + "( ){", + "vis ion", + "v ision", + "act ive", + "activ e", + "li er", + "lie r", + "l ier", + "ri j", + "r ij", + "s d", + "▁k ö", + "▁ kö", + "▁n ie", + "▁ni e", + "▁ nie", + "▁re lig", + "▁rel ig", + "▁reli g", + "▁o t", + "▁ ot", + "▁m achine", + "▁mach ine", + "▁ machine", + "▁h eld", + "▁he ld", + "▁hel d", + ")$ .", + ") $.", + "==== ====", + "ck er", + "cke r", + "c ker", + "в ы", + "bo rn", + "bor n", + "b orn", + "▁p ast", + "▁pas t", + "▁pa st", + "ри я", + "▁D r", + "▁ Dr", + "▁reg ular", + "▁regul ar", + "▁ regular", + "▁prov ided", + "▁provide d", + "TE R", + "T ER", + "▁un ivers", + "▁ univers", + "▁g ets", + "▁get s", + "▁ge ts", + "▁ gets", + "▁n u", + "▁ nu", + "▁/ *", + "▁ /*", + "ob er", + "obe r", + "o ber", + "fi n", + "f in", + "▁n ella", + "▁ne lla", + "▁nel la", + "▁nell a", + "▁be come", + "▁bec ome", + "▁becom e", + "▁` `", + "▁ ``", + "▁h istory", + "▁histor y", + "▁hi story", + "▁hist ory", + "▁ history", + "▁S ol", + "▁So l", + "▁ Sol", + "▁R ad", + "▁Ra d", + "▁ Rad", + "▁term s", + "▁ter ms", + "▁even ts", + "▁event s", + "▁ev ents", + "▁ events", + "ly mp", + ")) )", + ") ))", + "ро ва", + "ров а", + "р ова", + "▁ab sol", + "▁abs ol", + "▁so ft", + "▁ soft", + "lin ks", + "link s", + "l inks", + "▁h ope", + "▁ho pe", + "▁hop e", + "▁su bject", + "▁sub ject", + "▁ subject", + "\") ,", + "\" ),", + "▁cre ating", + "▁} \r", + "▁ }\r", + "▁S k", + "▁ Sk", + "▁f low", + "▁fl ow", + "▁flo w", + "▁ flow", + "▁Р а", + "▁as sert", + "▁ass ert", + "▁asse rt", + "▁ assert", + "ze t", + "z et", + "▁F rank", + "▁Fran k", + "▁Fr ank", + "s a", + "▁dist ribution", + "▁distribu tion", + "▁distrib ution", + "▁ distribution", + "c u", + "ba nd", + "ban d", + "b and", + "iz z", + "i zz", + "▁j ob", + "▁jo b", + "▁ job", + "in er", + "ine r", + "i ner", + "st ruct", + "str uct", + "stru ct", + "á k", + "T O", + "au f", + "a uf", + "▁ext ends", + "▁extend s", + "▁G ra", + "▁Gr a", + "dis play", + "▁sign ific", + "on ey", + "one y", + "o ney", + "s ource", + "m icrosoft", + "in der", + "ind er", + "inde r", + "i nder", + "▁qu ick", + "▁qui ck", + "▁ quick", + "▁w onder", + "▁won der", + "▁wo nder", + "Inst ance", + "el les", + "ell es", + "elle s", + "e lles", + "è me", + "▁comp any", + "▁compan y", + "▁ company", + "u ß", + ". }", + "▁separ ate", + "U M", + "HER E", + "HE RE", + "H ERE", + "▁writ ing", + "▁wr iting", + "▁ writing", + "it ution", + "itu tion", + "itut ion", + "▁G esch", + "▁Ge sch", + "▁Ges ch", + "м я", + "▁J ames", + "▁Ja mes", + "▁Jam es", + "▁ James", + "▁D E", + "▁ DE", + "▁S pe", + "▁Sp e", + "▁ Spe", + "pro cess", + "proc ess", + "St r", + "S tr", + "▁s ym", + "▁sy m", + "▁ sym", + "▁a o", + "▁ ao", + "▁w y", + "▁ wy", + "▁any one", + "▁U p", + "▁ Up", + "use um", + "ar on", + "aro n", + "a ron", + "▁def inition", + "▁defin ition", + "▁definit ion", + "▁ definition", + "▁` $", + "▁f av", + "▁fa v", + "rib utes", + "ribute s", + "ribu tes", + "▁R é", + "ograf ia", + "ografi a", + "el ement", + "ele ment", + "elem ent", + "e lement", + "ca p", + "c ap", + "pa t", + "p at", + "▁B ra", + "▁Br a", + "▁ Bra", + ") (", + "▁acc ording", + "▁accord ing", + "г е", + "▁p ie", + "▁pi e", + "▁ pie", + "el i", + "e li", + "} \"", + "▁act iv", + "▁ activ", + "▁s top", + "▁st op", + "▁sto p", + "▁ stop", + "pat ch", + "p atch", + "т і", + "▁J ose", + "▁Jo se", + "▁Jos e", + "▁ Jose", + "En d", + "E nd", + "▁p rze", + "▁pr ze", + "▁prz e", + "▁a ge", + "▁ag e", + "▁ age", + "it ory", + "ito ry", + "itor y", + "▁P HP", + "▁ PHP", + "ag ement", + "age ment", + "agem ent", + "▁` .", + "▁ `.", + "▁pre tty", + "▁pret ty", + "▁re comm", + "▁rec omm", + "▁recom m", + "▁s ud", + "▁su d", + "▁re qu", + "▁r equ", + "▁req u", + "▁об ла", + "at ives", + "ative s", + "ativ es", + "ati ves", + "▁H igh", + "▁Hi gh", + "▁ High", + "á z", + "ou l", + "o ul", + "re st", + "res t", + "r est", + "▁T er", + "▁Te r", + "un der", + "und er", + "unde r", + "u nder", + "th ern", + "ther n", + "the rn", + "cent er", + "cen ter", + "cente r", + "c enter", + "▁u r", + "▁ ur", + "la t", + "l at", + "▁inter face", + "▁ interface", + "▁и н", + "▁ ин", + "▁wh ose", + "▁who se", + "ic as", + "ica s", + "i cas", + "am en", + "ame n", + "a men", + "Fil ter", + "▁st ation", + "▁stat ion", + "▁sta tion", + "▁stati on", + "▁ station", + "Pa ge", + "P age", + "▁a rm", + "▁ar m", + "▁ arm", + "▁e yes", + "▁eye s", + "▁ра й", + "▁s eu", + "▁se u", + "ol i", + "o li", + "wi n", + "w in", + "li k", + "l ik", + "ge x", + "g ex", + "ch an", + "cha n", + "c han", + "id ence", + "iden ce", + "ar gs", + "arg s", + "ak ing", + "aki ng", + "a king", + "▁Go ogle", + "▁ Google", + "▁St ud", + "▁Stu d", + "▁h o", + "▁ ho", + "то ры", + "тор ы", + "S u", + "▁autom at", + "▁auto mat", + "êm e", + "ê me", + "▁c y", + "▁ cy", + "lo r", + "l or", + "▁st ack", + "▁sta ck", + "▁ stack", + "▁SE LECT", + "▁ SELECT", + "A F", + "▁> >", + "▁ >>", + "▁com pet", + "▁comp et", + "▁p air", + "▁pa ir", + "▁ pair", + "▁ing lés", + "Res ponse", + "▁F ig", + "▁ Fig", + "gr ad", + "gra d", + "g rad", + "▁document ation", + "▁ documentation", + "▁c ant", + "▁can t", + "▁ca nt", + "▁app reci", + "å n", + "▁le arn", + "▁lear n", + "▁ learn", + "▁in dep", + "▁ind ep", + "▁inde p", + "▁p al", + "▁pa l", + "▁ pal", + "pack age", + "p ackage", + "ar es", + "are s", + "a res", + "▁Ber lin", + "▁Berl in", + "б ли", + "re ich", + "rei ch", + "ё н", + "▁s atisf", + "▁sat isf", + "▁reg ion", + "▁ region", + "▁fri end", + "▁ friend", + "▁Ge orge", + "▁Georg e", + "▁В о", + "▁ Во", + "▁\" \"", + "▁ \"\"", + "▁des de", + "Fact ory", + "F actory", + "▁Count y", + "▁Coun ty", + "ou v", + "o uv", + "▁ ‘", + "▁inst alled", + "▁install ed", + "▁instal led", + "▁ installed", + "▁w anted", + "▁want ed", + "▁P ython", + "▁ Python", + "▁inter pre", + "▁in cluded", + "▁includ ed", + "▁include d", + "▁inclu ded", + "▁( (", + "▁ ((", + "▁al tern", + "▁alt ern", + "▁alter n", + "▁alte rn", + "▁ altern", + "is to", + "ist o", + "i sto", + "g n", + "▁b order", + "▁bor der", + "▁bord er", + "▁ border", + "pd f", + "p df", + "▁d up", + "▁du p", + "▁ dup", + "▁down load", + "▁ download", + "ju st", + "jus t", + "j ust", + "▁m embers", + "▁mem bers", + "▁memb ers", + "▁member s", + "▁ members", + "ch ild", + "chi ld", + "▁p ay", + "▁pa y", + "▁ pay", + "▁c er", + "▁ce r", + "▁ cer", + "▁lo oked", + "▁look ed", + "▁correct ly", + "au th", + "aut h", + "a uth", + "▁с тан", + "▁ст ан", + "▁ста н", + "▁ стан", + "▁e sp", + "▁es p", + "▁ esp", + "▁d esc", + "▁de sc", + "▁des c", + "▁ desc", + "eb en", + "e ben", + "▁qu estions", + "▁question s", + "▁quest ions", + "▁questi ons", + "▁ questions", + "ma l", + "m al", + "▁ab gerufen", + "▁ abgerufen", + "▁B and", + "▁Ba nd", + "▁Ban d", + "▁[ ]", + "▁ []", + "Bas e", + "B ase", + "▁r is", + "▁ri s", + "▁ ris", + "▁f ort", + "▁for t", + "▁fo rt", + "▁ fort", + "▁I d", + "▁ Id", + "▁var ious", + "▁vari ous", + "▁Le ague", + "▁H and", + "▁Ha nd", + "▁Han d", + "▁ Hand", + "▁T ype", + "▁Ty pe", + "▁Typ e", + "▁ Type", + "ir l", + "i rl", + "▁F e", + "▁ Fe", + "i én", + "it ter", + "itt er", + "itte r", + "▁f ast", + "▁fa st", + "▁fas t", + "▁ fast", + "st a", + "s ta", + "▁ex cept", + "▁ except", + "ic z", + "i cz", + "▁F rench", + "▁en vironment", + "▁environ ment", + "▁ environment", + "▁con se", + "▁cons e", + "у р", + "о го", + "▁necess ary", + "tar get", + "t arget", + "▁re ading", + "▁read ing", + "▁ reading", + "ho me", + "hom e", + "h ome", + "ze ich", + "▁e qual", + "▁equ al", + "▁eq ual", + "▁ equal", + "▁pi ù", + "▁p rem", + "▁pr em", + "▁pre m", + "▁diff icult", + "▁u nit", + "▁un it", + "▁ unit", + "▁re place", + "▁rep lace", + "▁repla ce", + "▁ replace", + "▁he art", + "▁hear t", + "▁ heart", + "▁t alk", + "▁tal k", + "A M", + "▁R E", + "▁ RE", + "▁P erson", + "▁Per son", + "▁Pers on", + "▁ Person", + "end ency", + "enden cy", + "▁i mm", + "▁im m", + "▁ imm", + "▁h uman", + "▁hum an", + "▁hu man", + "▁ human", + "d n", + "▁K ir", + "▁Ki r", + "▁A ut", + "▁Au t", + "▁ Aut", + "kn own", + "know n", + "k nown", + "▁fr equ", + "▁fre qu", + "sys tem", + "s ystem", + "ла в", + "▁S z", + "▁G al", + "▁Ga l", + "но е", + "sel ves", + "right arrow", + "r ightarrow", + "▁С а", + "▁ Са", + "=\" @", + "▁build ing", + "▁ building", + "im port", + "imp ort", + "▁f am", + "▁fa m", + "▁de lete", + "▁del ete", + "▁delet e", + "▁ delete", + "air e", + "ai re", + "a ire", + "ma ry", + "mar y", + "m ary", + "▁f und", + "▁fun d", + "▁fu nd", + "▁ fund", + "▁part icip", + "▁partic ip", + "▁parti cip", + "▁partici p", + "▁s yn", + "▁sy n", + "▁ syn", + "si n", + "s in", + "▁l ower", + "▁lo wer", + "▁low er", + "▁ lower", + "▁z ero", + "▁ze ro", + "▁ zero", + "▁s ec", + "▁se c", + "▁ sec", + "▁f ra", + "▁fr a", + "▁ fra", + "Po int", + "P oint", + "▁fa iled", + "▁fail ed", + "▁ failed", + "ien to", + "ient o", + "i ento", + "cu p", + "c up", + "▁s low", + "▁sl ow", + "▁slo w", + "▁ slow", + "▁n ation", + "▁na tion", + "▁nat ion", + "äh r", + "ä hr", + "▁in fo", + "▁inf o", + "▁ info", + "▁P ublic", + "▁Pub lic", + "▁Pu blic", + "▁ Public", + "▁de cla", + "▁dec la", + "▁decl a", + "▁Т а", + "▁s old", + "▁so ld", + "▁sol d", + "▁R em", + "▁Re m", + "▁ Rem", + "▁Ph il", + "ст ра", + "стр а", + "с тра", + "▁me hr", + "▁W ork", + "▁Wor k", + "▁ Work", + "▁N ord", + "▁No rd", + "▁Nor d", + "▁f ait", + "▁fa it", + "▁g ew", + "▁ge w", + "▁ gew", + "print ln", + "ob ile", + "obil e", + "obi le", + "▁K on", + "▁Ko n", + "▁ass ume", + "▁assum e", + "land s", + "lan ds", + "l ands", + "▁a mount", + "▁am ount", + "▁ amount", + "▁P ress", + "▁Pr ess", + "▁Pres s", + "▁Pre ss", + "▁ Press", + "ý ch", + "▁ma xim", + "▁max im", + "▁ maxim", + "▁Ch ampion", + "▁Champ ion", + "li brary", + "l ibrary", + "a ñ", + "▁W al", + "▁Wa l", + "Com m", + "Co mm", + "C omm", + "] ]", + "▁z w", + "▁ zw", + "▁so cial", + "▁soci al", + "▁soc ial", + "▁ social", + "L I", + "▁Un ter", + "vo r", + "v or", + "Del ta", + "D elta", + "em ail", + "ema il", + "e mail", + "ra int", + "rain t", + "rai nt", + "r aint", + "on i", + "o ni", + "▁a lt", + "▁al t", + "▁ alt", + "▁n é", + "▁ né", + "ци я", + "ograph y", + "▁mention ed", + "▁ment ioned", + "▁< =", + "▁ <=", + "▁c ette", + "▁ce tte", + "▁cet te", + "▁current ly", + "▁curr ently", + "va re", + "var e", + "v are", + "iz ing", + "izi ng", + "izin g", + "i zing", + "▁D ef", + "▁De f", + "▁ Def", + "ic ol", + "ico l", + "i col", + "ün d", + "ü nd", + "▁config uration", + "▁configur ation", + "▁ configuration", + "est ig", + "esti g", + "II I", + "I II", + "la m", + "l am", + "i ère", + "▁E ar", + "▁t u", + "▁ tu", + "En t", + "E nt", + "▁U sing", + "▁Us ing", + "▁ Using", + "▁ко м", + "▁к ом", + "▁ ком", + "ci e", + "c ie", + "▁pro of", + "▁ proof", + "▁in vol", + "▁inv ol", + "▁H istory", + "▁Histor y", + "▁Hi story", + "▁Hist ory", + "▁ History", + "> <", + "▁A ND", + "▁AN D", + "▁ AND", + "av y", + "a vy", + "▁rel ations", + "▁relation s", + "$ {", + "▁com es", + "▁co mes", + "▁come s", + "▁ comes", + "▁d irection", + "▁direct ion", + "▁dire ction", + "▁dir ection", + "▁ direction", + "▁J une", + "▁Ju ne", + "▁Jun e", + "▁W ay", + "▁Wa y", + "Com ponent", + "ec h", + "e ch", + "▁P eter", + "▁Pe ter", + "▁Pet er", + "▁ Peter", + "s g", + "▁s tra", + "▁st ra", + "▁str a", + "▁ stra", + "uc t", + "u ct", + "▁im plementation", + "▁implement ation", + "▁ implementation", + "att le", + "▁c z", + "▁ cz", + "pl ot", + "p lot", + "▁play ed", + "▁pla yed", + "\"> < /", + "\" > (", + "▁g round", + "▁gr ound", + "▁gro und", + "▁ ground", + "un n", + "u nn", + "ro d", + "r od", + "sp e", + "s pe", + "urs or", + "▁le ave", + "er k", + "▁t al", + "▁ta l", + "▁ tal", + "▁b ottom", + "▁bot tom", + "▁bott om", + "▁ bottom", + "I O", + "▁pop ular", + "▁popula r", + "▁popul ar", + "ig o", + "i go", + "▁T ime", + "▁Tim e", + "▁Ti me", + "▁ Time", + "val ues", + "value s", + "valu es", + "▁L oc", + "▁Lo c", + "▁ Loc", + "▁C lub", + "▁Cl ub", + "▁an che", + "▁anc he", + "▁anch e", + "▁ anche", + "ia ł", + "i ał", + "і ї", + "Om ega", + "▁loc ated", + "▁locate d", + "▁ located", + "U rl", + "▁E sp", + "▁Es p", + "▁ Esp", + "л ы", + "ц ь", + "ul ate", + "ula te", + "u late", + "▁j oin", + "▁jo in", + "▁ join", + "av es", + "ave s", + "a ves", + "ve t", + "v et", + "li o", + "l io", + "re move", + "rem ove", + "▁t oken", + "▁to ken", + "▁ token", + "▁op tim", + "▁opt im", + "▁ optim", + "▁c laim", + "▁cla im", + "olog ical", + "▁c ss", + "▁cs s", + "▁ css", + "▁al though", + "▁ although", + "▁p riv", + "▁pr iv", + "▁pri v", + "▁ priv", + "▁B a", + "ü l", + "entic ation", + "enti cation", + "▁v en", + "▁ve n", + "▁ ven", + "Ser ver", + "Serv er", + "▁C ong", + "▁Con g", + "▁Co ng", + "NE T", + "N ET", + "CO N", + "C ON", + "d t", + "per ties", + "pert ies", + "▁e pis", + "▁ep is", + "wik ipedia", + "▁eng ine", + "▁ engine", + "▁f er", + "▁fe r", + "▁ fer", + "get Element", + "▁C la", + "▁Cl a", + "▁ Cla", + "ř í", + "▁r om", + "▁ro m", + "▁ rom", + "var epsilon", + "vare psilon", + "▁pr ime", + "▁prim e", + "▁pri me", + "▁ prime", + "is try", + "ist ry", + "istr y", + "pe cted", + "pect ed", + "pec ted", + "p ected", + "or age", + "ora ge", + "o rage", + "▁t ouch", + "▁to uch", + "▁tou ch", + "▁ touch", + "▁[ '", + "▁ ['", + "▁d an", + "▁da n", + "▁ dan", + "E m", + "ac iones", + "acion es", + "aci ones", + "a ciones", + "Ca n", + "C an", + "▁w hom", + "▁wh om", + "▁who m", + "▁be havior", + "▁behav ior", + "▁str ings", + "▁string s", + "▁ strings", + "▁E urop", + "▁Euro p", + "▁Eu rop", + "▁Eur op", + "▁R om", + "▁Ro m", + "ci rc", + "cir c", + "c irc", + "▁p un", + "▁pu n", + "▁reg ister", + "▁ register", + "b untu", + "ra in", + "rai n", + "r ain", + "O b", + "T A", + "▁s ometimes", + "▁some times", + "▁somet imes", + "▁m ent", + "▁me nt", + "▁men t", + "▁ ment", + "▁in teger", + "▁inte ger", + "▁ integer", + "▁J ac", + "▁Ja c", + "▁ Jac", + "le gate", + "leg ate", + "ot hing", + "oth ing", + "o thing", + "▁s ound", + "▁so und", + "▁sou nd", + "▁ sound", + "la ces", + "lace s", + "lac es", + "l aces", + "▁Б а", + "r b", + "d i", + "ле ния", + "▁them selves", + "▁B lack", + "▁Bl ack", + "▁Bla ck", + "▁ Black", + "▁s ettings", + "▁sett ings", + "▁setting s", + "▁ settings", + "▁n orm", + "▁no rm", + "▁nor m", + "▁ norm", + "▁r uns", + "▁run s", + "▁ru ns", + "▁N OT", + "▁NO T", + "▁ NOT", + "K E", + "▁per haps", + "▁ Я", + "▁m ol", + "▁mo l", + "▁a ns", + "▁an s", + "▁ ans", + "at re", + "atr e", + "a tre", + "▁D ies", + "▁Die s", + "▁Di es", + "To ken", + "T oken", + "an ie", + "ani e", + "a nie", + "▁all owed", + "▁allow ed", + "▁allo wed", + "▁ allowed", + "R ange", + "▁G ro", + "▁Gr o", + "vi a", + "v ia", + "ut orial", + "uto rial", + "utor ial", + "ens or", + "enso r", + "est ival", + "esti val", + "); \r", + ") ;\r", + "кра ї", + "▁turn ed", + "▁tur ned", + "sc ope", + "scop e", + "s cope", + "▁b ien", + "▁bi en", + "= $", + "▁ext ension", + "▁extens ion", + "▁ extension", + "at ore", + "ator e", + "ato re", + "▁Р о", + "▁spec ify", + "ed u", + "e du", + "Dat os", + "D atos", + "▁st ored", + "▁stor ed", + "▁store d", + "▁sto red", + "▁p arse", + "▁par se", + "▁ parse", + "▁an swers", + "▁answer s", + "▁ans wers", + "il ls", + "ill s", + "▁he ard", + "▁hear d", + "l u", + "▁T HE", + "▁TH E", + "▁ THE", + "▁g én", + "▁gé n", + "▁f ul", + "▁fu l", + "▁ ful", + "e z", + "▁P rem", + "▁Pr em", + "▁Pre m", + "th en", + "the n", + "t hen", + "d p", + "сь кого", + "сько го", + "ськ ого", + "▁S i", + "▁ Si", + "ç o", + "Ed it", + "E dit", + "кі в", + "к ів", + "▁Л и", + "▁S ing", + "▁Si ng", + "▁Sin g", + "▁ Sing", + "▁c ateg", + "▁cat eg", + "Eq u", + "E qu", + "▁g uer", + "▁gu er", + "▁ guer", + "W idth", + "▁Christ ian", + "st at", + "sta t", + "s tat", + "W rite", + "▁w oman", + "▁wo man", + "wo od", + "w ood", + "V is", + "ра з", + "▁$ $\\", + "▁$$ \\", + "ode r", + "od er", + "o der", + "▁b ool", + "▁bo ol", + "▁ bool", + "▁intern ational", + "но сть", + "ност ь", + "нос ть", + "▁Rich ard", + "▁Ric hard", + "▁add ition", + "▁Mus ic", + "▁ Music", + "▁a ber", + "▁ab er", + "t ó", + "▁h ier", + "▁hi er", + "ug h", + "u gh", + "▁p ob", + "▁po b", + "▁t ables", + "▁table s", + "▁tab les", + "▁ta bles", + "▁ tables", + "D o", + "▁high er", + "ps i", + "p si", + "r á", + "▁act ive", + "▁activ e", + "▁ active", + "▁T able", + "▁Ta ble", + "▁Tab le", + "▁ Table", + "њ е", + "▁de scription", + "▁des cription", + "▁descri ption", + "▁descript ion", + "▁ description", + "▁se emed", + "▁see med", + "▁seem ed", + "ís t", + "í st", + "▁my self", + "▁m enu", + "▁me nu", + "▁men u", + "▁ menu", + "de l", + "d el", + "▁ ž", + "el e", + "e le", + "A ut", + "▁г ру", + "mu t", + "m ut", + "oo n", + "o on", + "as c", + "a sc", + "bu g", + "b ug", + "▁m oved", + "▁mov ed", + "▁mo ved", + "▁move d", + "C L", + "▁data s", + "▁dat as", + "▁ datas", + "S O", + "о ло", + "▁Ge org", + "▁re ach", + "▁r each", + ": \"", + "▁e valu", + "▁ev alu", + "▁eval u", + "▁ evalu", + "▁H el", + "▁He l", + "▁ Hel", + "▁R iver", + "▁Riv er", + "▁Ri ver", + "▁А р", + "▁ Ар", + "// //", + "/// /", + "/ ///", + "▁s ets", + "▁se ts", + "▁set s", + "▁ sets", + "▁O lymp", + "Ad apter", + ". '", + "ov ern", + "over n", + "ove rn", + "o vern", + "▁L ord", + "▁Lo rd", + "▁Lor d", + "! --", + "jp g", + "j pg", + "im ento", + "iment o", + "imen to", + "▁Pro f", + "▁Pr of", + "▁ach ieve", + "▁achiev e", + "} :", + "▁in cor", + "▁inc or", + "▁o nder", + "▁on der", + "▁onde r", + "▁ onder", + "en gl", + "eng l", + "AB LE", + "▁M ary", + "▁Mar y", + "▁Ma ry", + "▁w aren", + "▁war en", + "▁wa ren", + "la ge", + "lag e", + "l age", + "De c", + "D ec", + "анг л", + "en cias", + "enc ias", + "encia s", + "enci as", + "ле й", + "л ей", + "▁M achine", + "▁Mach ine", + "▁ Machine", + "▁А н", + "ud a", + "u da", + "▁ ś", + "▁X X", + "▁ XX", + "on ly", + "ле ние", + "▁tamb ién", + "ne j", + "n ej", + "▁rel ative", + "▁relativ e", + "▁ relative", + "▁h ours", + "▁ho urs", + "▁hour s", + "▁ind eed", + "▁inde ed", + "un do", + "und o", + "in gu", + "ing u", + "ar ea", + "are a", + "a rea", + "▁C reate", + "▁Cre ate", + "▁ Create", + "be it", + "bei t", + "▁rem oved", + "▁remove d", + "▁remov ed", + "ma ster", + "mas ter", + "maste r", + "m aster", + "ha us", + "h aus", + "▁B ern", + "▁Be rn", + "▁Ber n", + "▁sp eed", + "▁spe ed", + "▁ speed", + "▁B ay", + "▁Ba y", + "▁A tt", + "▁At t", + "▁ Att", + "▁N one", + "▁No ne", + "▁Non e", + "▁ None", + "app lication", + "ü d", + "▁f it", + "▁fi t", + "▁ fit", + "▁M aria", + "▁Mar ia", + "▁Ma ria", + "▁Mari a", + "▁n ord", + "▁no rd", + "▁nor d", + "▁s plit", + "▁sp lit", + "▁spl it", + "▁ split", + "▁st ru", + "▁str u", + "▁ stru", + "▁o fficial", + "▁off icial", + "▁offic ial", + "▁offici al", + "▁exec ute", + "▁execut e", + "▁ execute", + "ou ve", + "ouv e", + "o uve", + "{ {", + "▁A p", + "▁ Ap", + "▁к у", + "▁ ку", + "I L", + "▁ ^", + "di m", + "d im", + "▁set up", + "▁ setup", + "с к", + "▁sh are", + "▁ share", + "▁min utes", + "▁minute s", + "gl e", + "g le", + "oc o", + "o co", + "st ell", + "ste ll", + "▁C oun", + "▁Co un", + "▁Cou n", + "▁tem per", + "▁temp er", + "▁ temper", + "ke it", + "сь кий", + "a o", + "▁L ong", + "▁Lo ng", + "▁ Long", + "( &", + "ка н", + "к ан", + "▁d ens", + "▁de ns", + "▁den s", + "▁ dens", + "Bu t", + "B ut", + "X X", + "DA TE", + "DAT E", + "D ATE", + "ga n", + "g an", + ".) .", + ". ).", + "▁en try", + "▁ent ry", + "▁entr y", + "▁ entry", + "inst all", + "▁з на", + "▁ зна", + "▁S om", + "▁So m", + "Comm and", + "ße n", + "ß en", + "▁start ing", + "▁star ting", + "▁s to", + "▁st o", + "▁ sto", + "I G", + "▁min im", + "▁mi nim", + "▁mini m", + "▁exp licit", + "▁explic it", + "▁by tes", + "▁byte s", + "▁ bytes", + "▁par ty", + "▁part y", + "▁ party", + "to ber", + "t ober", + "▁G rand", + "▁Gr and", + "▁Gra nd", + "▁Gran d", + "▁V or", + "▁Vo r", + "▁ Vor", + "▁l eur", + "▁le ur", + "▁ leur", + "Doc ument", + "D ocument", + "er c", + "e rc", + "ens ive", + "C P", + "en v", + "▁arg uments", + "▁argument s", + "▁ arguments", + "▁G ran", + "▁Gr an", + "▁Gra n", + "ar ily", + "ari ly", + "▁l in", + "▁li n", + "▁ lin", + "t n", + "( -", + "ge q", + "g eq", + "▁F amil", + "▁Fa mil", + "▁Fam il", + "▁ Famil", + "▁Б о", + "▁t our", + "▁to ur", + "▁tou r", + "▁n av", + "▁na v", + "▁ nav", + "▁proper ly", + "▁M rs", + "▁Mr s", + "▁M el", + "▁Me l", + "▁sc ale", + "▁scal e", + "▁ scale", + "ast ic", + "d s", + "▁S ir", + "▁Si r", + "▁Ch urch", + "}^ {\\", + "}^{ \\", + "} ^{\\", + "yo u", + "y ou", + "/ .", + "S o", + "▁br ought", + "▁r ole", + "▁ro le", + "▁rol e", + "▁ role", + "▁S ur", + "▁Su r", + "▁ Sur", + "▁f ond", + "▁fo nd", + "▁fon d", + "▁g es", + "▁ge s", + "▁ ges", + "ż e", + "et en", + "ete n", + "e ten", + "▁é tait", + "▁ét ait", + "▁ était", + "SE R", + "S ER", + "▁ко торы", + "▁кото ры", + "▁equ ation", + "▁ equation", + "as px", + "asp x", + "▁A fr", + "▁Af r", + "▁d it", + "▁di t", + "▁ dit", + "em pty", + "emp ty", + "empt y", + "al ement", + "ale ment", + "alem ent", + "a lement", + "wr ap", + "w rap", + "▁B et", + "▁Be t", + "▁col lect", + "▁coll ect", + "▁colle ct", + "▁ collect", + "▁g it", + "▁gi t", + "▁ git", + "▁v ie", + "▁vi e", + "▁ vie", + "▁. .", + "▁ ..", + "ро й", + "▁< ?", + "▁ ", + "▁В а", + "no st", + "nos t", + "n ost", + "▁n em", + "▁ne m", + "▁ nem", + "▁p en", + "▁pe n", + "▁ pen", + "Op en", + "O pen", + "▁ch urch", + "ко н", + "к он", + "▁a verage", + "▁aver age", + "▁ave rage", + "▁com ments", + "▁comm ents", + "▁comment s", + "▁ comments", + "▁correspond ing", + "lev ant", + "▁b ed", + "▁be d", + "▁ bed", + "▁mean ing", + "V ersion", + "Lin k", + "L ink", + "be l", + "b el", + "▁ext ract", + "▁extra ct", + "▁extr act", + "▁ extract", + "ś ć", + "▁I V", + "▁ IV", + "▁I r", + "▁comp uter", + "▁comput er", + "▁compute r", + "▁a ffect", + "▁af fect", + "▁aff ect", + "▁С та", + "▁Ст а", + "A X", + "so rt", + "s ort", + "▁s pecies", + "▁spe cies", + "▁spec ies", + "▁specie s", + "▁ species", + "▁O per", + "▁Op er", + "▁ Oper", + "▁h ash", + "▁ha sh", + "▁has h", + "▁ hash", + "ch es", + "che s", + "c hes", + "▁Einz eln", + "▁Einzel n", + "▁ke ys", + "▁key s", + "▁ keys", + "▁mar zo", + "▁inter pret", + "▁interpre t", + "ho od", + "h ood", + "▁co ordin", + "▁coord in", + "ö s", + "ra ge", + "rag e", + "r age", + "et z", + "e tz", + "iz a", + "i za", + "де р", + "д ер", + "ü t", + "^ *", + "▁mod ify", + "▁term in", + "▁ter min", + "▁ termin", + "▁c red", + "▁cre d", + "▁cr ed", + "▁ cred", + "zo n", + "z on", + "ну ю", + "н ую", + "▁m ie", + "▁mi e", + "▁' '", + "▁ ''", + "▁M os", + "▁Mo s", + "▁conne cted", + "▁connect ed", + "▁conn ected", + "▁ connected", + "N O", + "▁comp ile", + "▁ compile", + "▁\" \\", + "▁ \"\\", + "▁c at", + "▁ca t", + "▁ cat", + "f iddle", + "ut a", + "u ta", + "Acc ess", + "Ac cess", + "A ccess", + "▁S to", + "▁St o", + "▁ Sto", + "▁B ur", + "▁Bu r", + "▁n orth", + "▁nor th", + "G amma", + "▁al loc", + "▁all oc", + "▁allo c", + "▁ alloc", + "In it", + "I nit", + "▁L ink", + "▁Lin k", + "▁ Link", + "ial ize", + "iali ze", + "Im pl", + "Imp l", + "ou pe", + "oup e", + "rop ri", + "▁G old", + "▁Go ld", + "▁Gol d", + "▁s olo", + "▁so lo", + "▁sol o", + "▁D ist", + "▁Dis t", + "▁Di st", + "▁ Dist", + ", -", + "na v", + "n av", + "▁al ert", + "▁ale rt", + "▁ alert", + "es is", + "esi s", + "▁O s", + "▁ Os", + "// /", + "/ //", + "▁f eb", + "▁fe b", + "▁- ->", + "▁-- >", + "▁ -->", + "fo ot", + "foo t", + "f oot", + "▁F ried", + "▁Fr ied", + "▁Fri ed", + "▁Einzeln ach", + "▁Einzel nach", + "▁re v", + "▁r ev", + "▁ rev", + "ze it", + "▁S tat", + "▁St at", + "▁Sta t", + "▁ Stat", + "▁S eg", + "▁Se g", + "▁ Seg", + "▁b lo", + "▁bl o", + "▁ blo", + "wi ck", + "w ick", + "E L", + "ca ption", + "cap tion", + "capt ion", + "he ader", + "head er", + "▁pres ident", + "▁presiden t", + "▁mult ip", + "▁multi p", + "▁mul tip", + "▁ multip", + "▁Einzelnach weise", + "▁se ine", + "▁sein e", + "▁sei ne", + "? ”", + "Func tion", + "Fun ction", + "F unction", + "▁St and", + "▁Sta nd", + "▁Stan d", + "▁ Stand", + "▁F unction", + "▁Fun ction", + "▁ Function", + "▁? >", + "▁ ?>", + "▁B ill", + "▁Bi ll", + "▁Bil l", + "▁s pect", + "▁sp ect", + "▁spe ct", + "▁spec t", + "▁ spect", + "▁re direct", + "▁red irect", + "▁ redirect", + "ru pt", + "rup t", + "r upt", + "▁w alk", + "▁wal k", + "▁ walk", + "в ши", + "spring framework", + "pl ace", + "pla ce", + "p lace", + "é ho", + "Ent ity", + "▁Ser vice", + "▁Serv ice", + "▁ Service", + "in te", + "int e", + "▁tr aining", + "▁tra ining", + "▁train ing", + "▁ training", + "▁( `", + "▁ (`", + "фо р", + "ф ор", + "▁к ра", + "▁ кра", + "au r", + "a ur", + "▁f etch", + "▁fet ch", + "▁ fetch", + "▁ †", + "▁m ême", + "▁ même", + "▁( '", + "▁ ('", + "at ively", + "ative ly", + "ativ ely", + "▁exec ut", + "ä ch", + "▁Catalog ue", + "ba sed", + "base d", + "bas ed", + "b ased", + "Att ribute", + "▁s pring", + "▁sp ring", + "▁spr ing", + "▁ spring", + "ph one", + "phon e", + "т ра", + "▁п и", + "▁ пи", + "те ра", + "тер а", + "т ера", + "▁` \\", + "▁O d", + "On e", + "O ne", + "se nd", + "sen d", + "s end", + "bo n", + "b on", + "▁ °", + "M O", + "▁as king", + "▁ask ing", + "▁o ù", + "▁ing år", + "▁test ing", + "▁ testing", + "▁ф а", + "▁ фа", + "▁B ook", + "▁Bo ok", + "▁ Book", + "im m", + "i mm", + "▁pro gress", + "▁ progress", + "br o", + "b ro", + "F irst", + "▁p hot", + "▁ph ot", + "▁O N", + "▁ ON", + "Tem plate", + "Temp late", + "develop er", + "an not", + "ann ot", + "anno t", + "▁> =", + "▁ >=", + "miss ion", + "m ission", + "▁k tó", + "▁ któ", + "p c", + "ba ch", + "b ach", + "ze nt", + "zen t", + "z ent", + "ue d", + "u ed", + "▁o nes", + "▁on es", + "▁one s", + "▁ ones", + "ј и", + "▁r out", + "▁ro ut", + "▁rou t", + "▁ rout", + "▁К и", + "Pos t", + "Po st", + "P ost", + "ці ї", + "ц ії", + "▁V ir", + "▁Vi r", + "ne k", + "n ek", + "ag ing", + "agi ng", + "agin g", + "a ging", + "▁о к", + "▁ ок", + "iz ont", + "izo nt", + "izon t", + "▁ag osto", + "▁ago sto", + "▁cho ose", + "▁ choose", + "▁ \r", + "▁system s", + "▁syst ems", + "lo ss", + "los s", + "l oss", + "ien te", + "ient e", + "i ente", + "▁C re", + "▁Cr e", + "▁ Cre", + "▁con tra", + "▁cont ra", + "▁contr a", + "▁ contra", + "um s", + "u ms", + "▁begin ning", + "em y", + "e my", + "ist ics", + "istic s", + "isti cs", + "▁s erved", + "▁ser ved", + "▁serv ed", + "▁serve d", + "Do wn", + "D own", + "option s", + "opt ions", + "o ptions", + "▁G overn", + "▁Go vern", + "▁B Y", + "▁ BY", + "▁j est", + "▁je st", + "▁ jest", + "t é", + "▁cont inue", + "▁contin ue", + "▁continu e", + "▁ continue", + "pe rs", + "per s", + "p ers", + "▁eas ier", + "▁c os", + "▁co s", + "▁ cos", + "es so", + "ess o", + "> >", + "Ne t", + "N et", + "▁B or", + "▁Bo r", + "▁C r", + "▁ Cr", + "▁trans fer", + "▁C SS", + "▁CS S", + "▁ CSS", + "▁fin ns", + "▁х о", + "▁ хо", + "us ername", + "user name", + "▁con stru", + "▁const ru", + "▁p ain", + "▁pa in", + "▁T em", + "▁Te m", + "▁ Tem", + "▁spec ified", + "▁b rit", + "▁br it", + "▁ brit", + "ски е", + "с кие", + "ir k", + "ra pper", + "rap per", + "r apper", + "▁c ounter", + "▁co unter", + "▁count er", + "▁coun ter", + "▁ counter", + "▁[ \"", + "▁ [\"", + "ode d", + "od ed", + "o ded", + "да н", + "д ан", + "pro perty", + "ha rd", + "har d", + "h ard", + "ist rict", + "istr ict", + ") /", + "▁P our", + "▁Po ur", + "▁W here", + "▁Wh ere", + "▁Whe re", + "▁ Where", + "▁= ==", + "▁== =", + "▁ ===", + "▁s owie", + "▁so wie", + "▁sow ie", + "▁П ро", + "▁d ess", + "▁de ss", + "▁des s", + "▁ dess", + "▁t ras", + "▁tr as", + "▁tra s", + "▁ tras", + "▁у ча", + "▁O ver", + "▁ Over", + "no te", + "not e", + "n ote", + "▁Amer ica", + "▁ America", + "c p", + "▁gr ande", + "▁gra nde", + "▁gran de", + "▁grand e", + "M e", + ") -", + "Mod e", + "Mo de", + "M ode", + "▁pass ing", + "▁pas sing", + "▁g iving", + "▁giv ing", + "▁gi ving", + "C l", + "} /", + "Me nu", + "Men u", + "M enu", + "! !", + "ang ular", + "angu lar", + "▁la unch", + "▁ launch", + "var phi", + "▁Joh ann", + "▁Johan n", + "▁for each", + "▁fore ach", + "▁ foreach", + "r ó", + "se qu", + "seq u", + "s equ", + "if i", + "i fi", + "A m", + "ar p", + "a rp", + "▁b uffer", + "▁buf fer", + "▁buff er", + "▁ buffer", + "▁n i", + "▁ ni", + "▁m ix", + "▁mi x", + "▁ mix", + "▁M useum", + "▁Muse um", + "▁me ant", + "▁mean t", + "as i", + "a si", + "▁k an", + "▁ka n", + "▁ kan", + "пра в", + "п рав", + "Com p", + "Co mp", + "C omp", + "is toire", + "ist oire", + "isto ire", + "if ul", + "i ful", + "je r", + "j er", + "iss ions", + "ission s", + "Re source", + "Res ource", + "▁в оз", + "▁во з", + "▁S T", + "▁ ST", + "▁sol utions", + "▁solution s", + "▁be long", + "▁bel ong", + "▁As soci", + "▁Ass oci", + "▁ Associ", + "c f", + "▁M är", + "▁g rid", + "▁gr id", + "▁ grid", + "M ult", + "▁require s", + "▁requ ires", + "k k", + "▁t each", + "▁te ach", + "▁tea ch", + "eme inde", + "emein de", + "▁s quare", + "▁squ are", + "▁ square", + "▁ко ман", + "▁ком ан", + "▁E vent", + "▁Ev ent", + "▁Even t", + "▁ Event", + "▁r ules", + "▁rule s", + "▁ru les", + "▁ rules", + "▁b ur", + "▁bu r", + "▁ bur", + "▁e ing", + "▁ein g", + "▁ eing", + "▁M ai", + "▁Ma i", + "▁n am", + "▁na m", + "▁ nam", + "▁s lä", + "▁sl ä", + "hö r", + "h ör", + "▁t ip", + "▁ti p", + "▁ tip", + "▁Liter atur", + "▁s cope", + "▁sc ope", + "▁scop e", + "▁ scope", + "over line", + "▁ex it", + "▁ exit", + ") ?", + "be t", + "b et", + "▁v ict", + "▁vi ct", + "▁vic t", + "Of f", + "O ff", + "▁appro xim", + "▁G eb", + "▁Ge b", + "kt op", + "k top", + "he it", + "▁ Ю", + "tem plate", + "temp late", + "ро н", + "р он", + "▁u no", + "▁un o", + "▁ uno", + "Ser v", + "Se rv", + "S erv", + "▁frame work", + "▁ framework", + "oper ator", + "opera tor", + "▁gener ally", + "▁general ly", + "▁h undred", + "▁d ivers", + "▁di vers", + "▁div ers", + "▁diver s", + "ov i", + "o vi", + "▁r és", + "▁ré s", + "▁ rés", + "ab s", + "a bs", + "▁g al", + "▁ga l", + "▁ gal", + "ça is", + "ç ais", + "▁fe et", + "▁fee t", + "▁v irtual", + "▁virt ual", + "▁ virtual", + "cz y", + "c zy", + "ск у", + "с ку", + ". /", + "h u", + "an cy", + "anc y", + "▁recomm end", + "▁п ід", + "▁пі д", + "▁m oney", + "▁mon ey", + "▁mo ney", + "▁vers ions", + "▁version s", + "▁ versions", + "▁hel ps", + "▁help s", + "▁H or", + "▁Ho r", + "▁ Hor", + "Item s", + "It ems", + "lo ok", + "l ook", + "con nect", + "conne ct", + "conn ect", + "an ges", + "ang es", + "ange s", + "View Controller", + "el ijk", + "elij k", + "eli jk", + "e lijk", + "▁occ up", + "▁oc cup", + "▁ occup", + "▁ed itor", + "▁edit or", + "▁ editor", + "au to", + "aut o", + "a uto", + "ö g", + "▁second s", + "▁sec onds", + "▁ seconds", + "▁ob vious", + "v m", + "ak es", + "ake s", + "a kes", + "▁g egen", + "▁ge gen", + "▁geg en", + "▁t il", + "▁ti l", + "▁ til", + "ject ion", + "je ction", + "j ection", + "ле ння", + "лен ня", + "▁oper ations", + "▁operation s", + "▁E ast", + "og y", + "o gy", + "▁P olit", + "▁Pol it", + "▁Po lit", + "ut en", + "ute n", + "u ten", + "▁Jose ph", + "\" `", + "▁Comp any", + "▁ Company", + "▁call back", + "▁ callback", + "▁s en", + "▁se n", + "▁ sen", + "cc ión", + "cció n", + "c ción", + "▁associ ated", + "▁associate d", + "▁cont aining", + "▁contain ing", + "▁pract ice", + "elij ke", + "elijk e", + "e lijke", + "ok e", + "o ke", + "ér a", + "é ra", + "un s", + "u ns", + "an ta", + "ant a", + "ve y", + "v ey", + "z u", + "▁B es", + "▁Be s", + "▁F lor", + "▁Fl or", + "▁Flo r", + "me m", + "m em", + "yc z", + "y cz", + "▁arch itect", + "▁an ni", + "▁ann i", + "▁ anni", + "▁cont act", + "▁ contact", + "Y PE", + "▁C as", + "▁Ca s", + "▁по лу", + "▁пол у", + "ov o", + "o vo", + "▁b ring", + "▁br ing", + "▁con cept", + "▁conce pt", + "▁j s", + "▁ js", + "▁Refer encias", + "em ble", + "emb le", + "embl e", + "▁ н", + "▁supp orted", + "▁support ed", + "▁ supported", + "Bi g", + "B ig", + "▁H ans", + "▁Ha ns", + "▁Han s", + "er v", + "e rv", + "▁M aj", + "▁Ma j", + "▁ar riv", + "▁arr iv", + "▁H ave", + "▁Ha ve", + "▁Hav e", + "▁ Have", + "▁prob ability", + "▁probabil ity", + "▁P op", + "▁Po p", + "▁ Pop", + "▁P ass", + "▁Pa ss", + "▁Pas s", + "▁ Pass", + "to ken", + "tok en", + "t oken", + "Pro vider", + "▁R a", + "Re ader", + "Read er", + "oot h", + "oo th", + "o oth", + "la p", + "l ap", + "▁ass ist", + "ad ow", + "ado w", + "▁t ests", + "▁test s", + "▁ tests", + "сс и", + "с си", + "▁k ing", + "▁ki ng", + "▁kin g", + "▁ king", + "lang le", + "lan gle", + "l angle", + "▁S um", + "▁Su m", + "▁ Sum", + "O IN", + "▁se curity", + "▁sec urity", + "▁ security", + "ni s", + "n is", + ".. /", + ". ./", + "▁bas ic", + "▁ basic", + "un ity", + "uni ty", + "unit y", + "` :", + "▁ко то", + "ko w", + "k ow", + "▁Bibli othèque", + "as ion", + "asi on", + "al o", + "a lo", + "if est", + "ife st", + "i fest", + "▁nov embre", + "▁p eu", + "▁pe u", + "▁ Ж", + "en schaft", + "ensch aft", + "cl us", + "c lus", + "ј у", + "He ight", + "ú n", + "▁t ur", + "▁tu r", + "▁ide as", + "▁idea s", + "▁c es", + "▁ce s", + "▁ ces", + "fr ak", + "fra k", + "f rak", + "▁pre mier", + "▁prem ier", + "▁premi er", + "it ation", + "ita tion", + "itat ion", + "▁s é", + "HT ML", + "▁Ro yal", + "▁Roy al", + "сь кої", + "сько ї", + "▁by te", + "▁ byte", + "P S", + "▁s egu", + "▁se gu", + "▁seg u", + "▁ segu", + "in en", + "ine n", + "i nen", + "▁Gre at", + "▁К у", + "▁ex ternal", + "▁ext ernal", + "▁extern al", + "▁ external", + "T itle", + "To p", + "T op", + "Pro cess", + "Proc ess", + "it ät", + "itä t", + "▁` /", + "▁se cret", + "▁sec ret", + "▁secre t", + "▁ secret", + "pos itory", + "▁pot ential", + "▁B ud", + "▁Bu d", + "name s", + "na mes", + "nam es", + "n ames", + "as ons", + "ason s", + "aso ns", + "stack exchange", + "back ground", + "пе р", + "п ер", + "со в", + "с ов", + "aft er", + "af ter", + "a fter", + "▁p ero", + "▁per o", + "▁pe ro", + "▁so ftware", + "▁soft ware", + "▁ software", + "▁s ed", + "▁se d", + "▁ sed", + "▁array s", + "▁arr ays", + "tm p", + "t mp", + "▁a sp", + "▁as p", + "▁ asp", + "sc ale", + "scal e", + "▁L at", + "▁La t", + "▁ Lat", + "an al", + "ana l", + "a nal", + "▁g em", + "▁ge m", + "▁ gem", + "P U", + "▁Al tri", + "▁Alt ri", + "Th at", + "T hat", + "▁Н и", + "if act", + "ifa ct", + "i fact", + "Add ress", + "▁s outh", + "▁so uth", + "▁sou th", + "▁sout h", + "▁form ula", + "▁Col leg", + "▁Coll eg", + "▁і н", + "▁ ін", + "kt ion", + "k tion", + "▁s ac", + "▁sa c", + "S H", + "aj o", + "a jo", + "et c", + "e tc", + "v c", + "` ](", + "▁D ur", + "▁Du r", + "▁М е", + "▁Sm ith", + "▁ Smith", + "it ems", + "ite ms", + "item s", + "C K", + "el o", + "e lo", + "▁pl ugin", + "▁plug in", + "▁ plugin", + "▁s erie", + "▁se rie", + "▁ser ie", + "▁ serie", + "ien ne", + "ienn e", + "i enne", + "▁и ли", + "Ma r", + "M ar", + "▁Im age", + "▁ Image", + "go t", + "g ot", + "an das", + "and as", + "anda s", + "▁mat ches", + "▁match es", + "▁ matches", + "▁w orth", + "▁wor th", + "▁ worth", + "▁D eb", + "▁De b", + "▁ Deb", + "▁c ache", + "▁ca che", + "▁ cache", + "▁f elt", + "▁fe lt", + "▁fel t", + "er sch", + "ers ch", + "iz es", + "ize s", + "i zes", + "Op er", + "O per", + "▁Jah re", + "▁Jahr e", + "▁Ja hre", + "▁comm une", + "▁commun e", + "th read", + "▁n y", + "▁ ny", + "de c", + "d ec", + "ou w", + "o uw", + "▁sur face", + "▁P or", + "▁Po r", + "▁St reet", + "▁Stre et", + "пр и", + "п ри", + "▁c andid", + "▁can did", + "▁cand id", + "▁Re turn", + "▁Ret urn", + "▁ Return", + "▁K om", + "▁Ko m", + "gr u", + "g ru", + "▁т и", + "▁ ти", + "[ \\", + "▁dep ends", + "▁depend s", + "▁in flu", + "▁inf lu", + "▁infl u", + "▁to wards", + "▁toward s", + "ain ed", + "ai ned", + "aine d", + "a ined", + "▁r ank", + "▁ran k", + "▁ rank", + "▁Janu ar", + "▁com ponents", + "▁compon ents", + "▁component s", + "▁ components", + "ge st", + "ges t", + "g est", + "getElement ById", + "▁check ed", + "▁ checked", + "air s", + "ai rs", + "a irs", + "jo in", + "j oin", + "▁d ead", + "▁de ad", + "▁h it", + "▁hi t", + "▁ hit", + "én y", + "é ny", + "▁equ ivalent", + "▁equival ent", + "▁П ре", + "▁app ropri", + "Pa ss", + "P ass", + "▁pr imer", + "▁prim er", + "▁pri mer", + "▁prime r", + "engl isch", + "▁app ar", + "▁ap par", + "▁D uring", + "▁Du ring", + "▁Dur ing", + "▁know ledge", + "▁tr igger", + "▁trig ger", + "▁ trigger", + "▁c ore", + "▁cor e", + "▁co re", + "▁ core", + "▁O l", + "▁P rodu", + "▁Pro du", + "▁Pr odu", + "▁ Produ", + "▁F ern", + "▁Fe rn", + "▁Fer n", + "▁ Fern", + "▁на ча", + "▁ нача", + "T e", + "▁M ot", + "▁Mo t", + "er ve", + "erv e", + "тв о", + "т во", + "▁m id", + "▁mi d", + "▁ mid", + "▁fin ally", + "▁final ly", + "air es", + "ai res", + "aire s", + "a ires", + "▁es pecially", + "▁espe cially", + "▁especial ly", + "▁t ut", + "▁tu t", + "▁rece ive", + "ad re", + "adr e", + "▁ne igh", + "▁nei gh", + "kt et", + "kte t", + "il de", + "ild e", + "▁rad io", + "▁radi o", + "▁ radio", + "▁d river", + "▁dr iver", + "▁drive r", + "▁dri ver", + "▁driv er", + "▁ driver", + "ли сь", + "end encies", + "enden cies", + "▁I E", + "▁ IE", + "▁s aved", + "▁sa ved", + "▁sav ed", + "▁save d", + "▁ saved", + "ff ect", + "ffe ct", + "f fect", + "▁Way back", + "ia t", + "i at", + "▁p adding", + "▁pad ding", + "▁ padding", + "wind ow", + "w indow", + "ти че", + "▁m ur", + "▁mu r", + "ac tor", + "act or", + "a ctor", + "▁H an", + "▁Ha n", + "он аль", + "она ль", + "о наль", + "▁g ar", + "▁ga r", + "▁ gar", + "▁famil jen", + "ó s", + "▁n ationale", + "▁national e", + "▁nation ale", + "▁nat ionale", + "▁p ré", + "▁pr é", + "de d", + "d ed", + "on al", + "ona l", + "o nal", + "▁Pres ident", + "▁\\ ,", + "▁ \\,", + "▁place d", + "▁pla ced", + "er ni", + "ern i", + "▁sign al", + "▁sig nal", + "▁ signal", + "na b", + "n ab", + "h m", + "Mo n", + "M on", + "▁v s", + "▁ vs", + "S C", + "▁proget ti", + "▁ Ü", + "▁for ms", + "▁form s", + "▁ forms", + "▁message s", + "▁mess ages", + "▁ messages", + "in f", + "us ers", + "use rs", + "user s", + "u sers", + "GE T", + "G ET", + "▁d els", + "▁de ls", + "▁del s", + "Col lection", + "Coll ection", + "Collect ion", + "▁G ood", + "▁Go od", + "▁ Good", + "▁May be", + "▁ Maybe", + "▁com pr", + "▁comp r", + "▁lar ger", + "▁large r", + "▁larg er", + "gr es", + "gre s", + "g res", + "ap er", + "ape r", + "a per", + "▁П ри", + "un des", + "und es", + "unde s", + "▁s ea", + "▁se a", + "▁S pring", + "▁Sp ring", + "▁Spr ing", + "▁ Spring", + "ul o", + "u lo", + "▁me chan", + "▁s ans", + "▁sa ns", + "▁san s", + "G B", + "Val id", + "▁comm unic", + "▁commun ic", + "▁ communic", + "▁p ra", + "▁pr a", + "vi er", + "vie r", + "v ier", + "▁С е", + "▁a in", + "▁ai n", + "▁ ain", + "ту ра", + "тур а", + "ko m", + "k om", + "sk iego", + "ski ego", + "skie go", + "ко во", + "ков о", + "к ово", + "ad ata", + "ada ta", + "a data", + "▁Р е", + "▁bo olean", + "▁ boolean", + "se ts", + "set s", + "s ets", + "▁eff ort", + ". [", + "▁z ostał", + "P A", + "▁V ict", + "▁Vi ct", + "▁Vic t", + "S D", + "ow ał", + "owa ł", + "▁e mb", + "▁em b", + "▁ emb", + "▁pr ima", + "▁prim a", + "▁pri ma", + "▁h our", + "▁ho ur", + "▁ hour", + "sub section", + "▁F ort", + "▁For t", + "▁Fo rt", + "math frak", + "ig in", + "igi n", + "i gin", + "G L", + ") +", + "f i", + "▁an ci", + "▁anc i", + "▁ anci", + "▁p an", + "▁pa n", + "▁ pan", + "\\ )", + "▁l ug", + "▁lu g", + "▁dep loy", + "▁ deploy", + "do main", + "dom ain", + "▁s light", + "▁sl ight", + "JS ON", + "J SON", + "▁mor ning", + "▁h i", + "▁ hi", + "▁comp are", + "▁compar e", + "▁ compare", + "ij e", + "i je", + "▁bl ue", + "▁ blue", + "▁A c", + "▁ Ac", + "▁m iddle", + "▁ middle", + "an den", + "and en", + "ande n", + "▁sh ared", + "▁share d", + "▁ shared", + "▁C amp", + "▁Cam p", + "▁Ca mp", + "▁ Á", + "ound ed", + "oun ded", + "u w", + "ier ung", + "St ack", + "▁e ines", + "▁ein es", + "▁eine s", + "▁D a", + "▁ Da", + "li j", + "l ij", + "en ti", + "ent i", + "▁ й", + "U til", + "▁exper ience", + "▁experien ce", + "▁a wait", + "▁aw ait", + "▁ await", + "ul s", + "u ls", + "▁request s", + "▁requ ests", + "▁ requests", + "▁im pos", + "▁imp os", + "▁const raint", + "▁ constraint", + "Ch ange", + "em ph", + "emp h", + "бе р", + "б ер", + "▁An other", + "C ustom", + "▁signific ant", + "▁significa nt", + "c r", + "▁mill ion", + "re ek", + "ree k", + "▁d alla", + "▁da lla", + "▁dal la", + "▁dall a", + "▁G erm", + "▁Ge rm", + "▁Ger m", + "ot al", + "ota l", + "o tal", + "at eur", + "ate ur", + "bt n", + "b tn", + "▁th inking", + "▁think ing", + "▁thin king", + "▁inter val", + "▁ interval", + "on ne", + "onn e", + "▁l iv", + "▁li v", + "▁ liv", + "() :", + "( ):", + "▁В е", + "o e", + "▁E v", + "me ta", + "met a", + "m eta", + "▁b road", + "▁bro ad", + "Re m", + "R em", + "ap ply", + "app ly", + "a pply", + "▁cou ple", + "▁coup le", + "▁te chni", + "▁techn i", + "id ades", + "ida des", + "idad es", + "idade s", + "▁go al", + "▁ goal", + "▁C D", + "▁ CD", + "ha b", + "h ab", + "▁ex plan", + "▁exp lan", + "▁expla n", + "▁expl an", + "an ner", + "ann er", + "anne r", + "▁B ecause", + "bl og", + "blo g", + "b log", + "include graphics", + "▁vo ice", + "▁ voice", + "▁M ap", + "▁Ma p", + "▁ Map", + "vent ion", + "ven tion", + "v ention", + "S ession", + "▁L iens", + "▁Li ens", + "▁Lie ns", + "▁s or", + "▁so r", + "c ategory", + "ash ington", + "▁Mär z", + "po p", + "p op", + "il let", + "ill et", + "ille t", + "▁z wei", + "▁zwe i", + "▁zw ei", + "▁L ie", + "▁Li e", + "N ull", + "add ress", + "addr ess", + "▁f actor", + "▁fact or", + "▁fa ctor", + "▁fac tor", + "▁ factor", + "▁l igne", + "▁lig ne", + "▁HT TP", + "▁ HTTP", + "▁s uf", + "▁su f", + "▁person al", + "▁pers onal", + "▁persona l", + "ci p", + "c ip", + "▁D ar", + "▁Da r", + "▁a dm", + "▁ad m", + "ко й", + "▁E xt", + "▁Ex t", + "▁ Ext", + "▁g od", + "▁go d", + "▁ god", + "a a", + "R ight", + "ét é", + "é té", + "▁d ynamic", + "▁dynam ic", + "▁ dynamic", + "▁main tain", + "to r", + "t or", + "#### ####", + "▁F ra", + "▁Fr a", + "▁cho ice", + "▁ choice", + "▁с то", + "▁ст о", + "▁ сто", + "С Р", + "▁F eder", + "▁Fe der", + "▁Fed er", + "st on", + "sto n", + "s ton", + "▁f lag", + "▁fl ag", + "▁fla g", + "▁ flag", + "ki t", + "k it", + "Mod ule", + "▁с по", + "▁сп о", + "▁ спо", + "▁S tra", + "▁St ra", + "▁Str a", + "ic ks", + "ick s", + "i cks", + "▁h aven", + "▁ha ven", + "▁have n", + "▁hav en", + "▁M ass", + "▁Ma ss", + "▁Mas s", + "▁E mp", + "▁Em p", + "▁ Emp", + "▁P i", + "▁ Pi", + "▁P en", + "▁Pe n", + "Re ct", + "Rec t", + "R ect", + "▁K r", + "it at", + "ita t", + "i tat", + "el er", + "ele r", + "e ler", + "я бря", + "it et", + "ite t", + "▁St art", + "▁Sta rt", + "▁Star t", + "▁ Start", + "▁produ ced", + "▁produce d", + "▁по л", + "▁ пол", + "( _", + "▁de let", + "▁del et", + "▁h ot", + "▁ho t", + "▁ hot", + "▁Gesch ichte", + "~ ~", + "▁month s", + "▁mont hs", + "▁t od", + "▁to d", + "▁ tod", + "▁н и", + "▁ ни", + "ú s", + "te mp", + "tem p", + "t emp", + "▁D ez", + "▁De z", + "ype s", + "yp es", + "y pes", + "▁c ui", + "▁cu i", + "om mun", + "omm un", + "act ions", + "action s", + "a ctions", + "▁e igen", + "▁eig en", + "▁immedi ately", + "▁immediate ly", + "P L", + "▁Г о", + "▁B al", + "▁Ba l", + "▁ Bal", + "љ е", + "ul ui", + "ulu i", + "▁on line", + "▁ online", + "▁a ños", + "▁añ os", + "▁año s", + "▁name space", + "▁names pace", + "▁ namespace", + "▁m ond", + "▁mon d", + "▁mo nd", + "▁ mond", + "▁B ase", + "▁Bas e", + "▁Ba se", + "▁ Base", + "▁Can ada", + "▁Canad a", + "et zt", + "etz t", + "} -", + "▁de fin", + "▁def in", + "▁ defin", + "▁dou bt", + "▁doub t", + "▁inv estig", + "▁invest ig", + "view s", + "vie ws", + "▁L ine", + "▁Li ne", + "▁Lin e", + "▁ Line", + "▁st age", + "▁sta ge", + "▁stag e", + "▁ stage", + "ett ings", + "ub re", + "u bre", + "f loat", + "▁P lay", + "▁Pl ay", + "▁Pla y", + "▁ Play", + "▁L as", + "▁La s", + "pt r", + "p tr", + "▁be comes", + "▁become s", + "▁becom es", + "est amp", + "esta mp", + "▁in dependent", + "▁indep endent", + "▁independ ent", + "▁anal ysis", + "▁ analysis", + "▁L ook", + "▁Lo ok", + "▁ Look", + "la in", + "l ain", + "▁ра с", + "Re ference", + "▁s orry", + "▁sor ry", + "▁supp osed", + "▁suppose d", + "▁sup posed", + "û t", + "▁deg ree", + "ut z", + "u tz", + "M M", + "▁des ired", + "▁desire d", + "ł y", + "▁l en", + "▁le n", + "▁ len", + "▁al one", + "▁ alone", + "sign ed", + "sig ned", + "s igned", + "▁S ta", + "▁St a", + "Per son", + "Pers on", + "P erson", + "▁app lied", + "▁B ack", + "▁Ba ck", + "▁Bac k", + "▁ Back", + "▁m ars", + "▁ma rs", + "▁mar s", + "Par t", + "Pa rt", + "P art", + "▁D id", + "▁Di d", + "▁ Did", + "▁extern es", + "▁externe s", + "▁n p", + "▁ np", + "on go", + "ong o", + "▁e sta", + "▁est a", + "▁es ta", + "▁ esta", + "Bl ock", + "B lock", + "▁p ou", + "▁po u", + "ad ores", + "ado res", + "ador es", + "▁St udio", + "▁Stud io", + "▁ Studio", + ". $", + "▁re ached", + "▁reach ed", + "bo t", + "b ot", + "▁J uni", + "▁Ju ni", + "▁Jun i", + "to ns", + "ton s", + "t ons", + "it el", + "ite l", + "i tel", + "▁G ar", + "▁Ga r", + "▁art icles", + "▁article s", + "▁ articles", + "▁D istrict", + "▁Dist rict", + "▁tr ouble", + "▁trou ble", + "li de", + "l ide", + "▁F ound", + "▁Fou nd", + "▁Fo und", + "▁ Found", + "á d", + "▁e quip", + "▁equ ip", + "▁in ternal", + "▁int ernal", + "▁inter nal", + "▁intern al", + "▁ internal", + "'] ,", + "' ],", + "▁a sync", + "▁as ync", + "▁ async", + "U B", + "ge l", + "g el", + "▁a i", + "▁ ai", + "ens ure", + "▁app eared", + "▁appear ed", + "▁appe ared", + "▁$ _", + "▁ $_", + "▁max imum", + "▁maxim um", + "▁С и", + "р ь", + "▁ann oun", + "▁anno un", + "ла сь", + "▁c m", + "▁ cm", + "га н", + "г ан", + "au pt", + "a upt", + "▁l atter", + "▁lat ter", + "▁pl atform", + "▁plat form", + "▁ platform", + "▁d ra", + "▁dr a", + "▁ dra", + "▁cap ital", + "▁capit al", + "▁sol ved", + "▁solve d", + "ri z", + "r iz", + "ed ic", + "edi c", + "e dic", + "▁M ur", + "▁Mu r", + "▁T op", + "▁To p", + "▁ Top", + "т ся", + "Pa nel", + "Pane l", + "Pan el", + "P anel", + "ru le", + "r ule", + "et ic", + "eti c", + "▁R en", + "▁Re n", + "▁Wik imedia", + "▁ Wikimedia", + "▁T O", + "▁ TO", + "se cond", + "sec ond", + "is l", + "i sl", + "▁h y", + "▁ hy", + "▁n iet", + "▁nie t", + "▁ni et", + "▁lo aded", + "▁load ed", + "▁ loaded", + "di g", + "d ig", + "▁ma yo", + "▁may o", + "[ :", + "Ac c", + "A cc", + "▁b ek", + "▁be k", + "▁ bek", + "ни ю", + "lo gin", + "log in", + "t x", + "▁F ur", + "▁Fu r", + "▁S anta", + "▁San ta", + "▁Sant a", + "az z", + "a zz", + "▁con duct", + "▁cond uct", + "▁condu ct", + "▁In dia", + "▁Ind ia", + "Or der", + "Ord er", + "ir th", + "irt h", + "t w", + "} +", + "▁w ieder", + "▁wie der", + "▁E du", + "▁Ed u", + "A V", + "▁` ``", + "▁`` `", + "▁ ```", + "▁man ually", + "▁manual ly", + "▁R ead", + "▁Re ad", + "▁ Read", + "fortun ately", + "▁R un", + "▁Ru n", + "▁ Run", + "▁A ward", + "▁Aw ard", + "▁F oot", + "▁Foo t", + "▁Fo ot", + "▁ Foot", + "* )", + "par ams", + "param s", + "pa rams", + "para ms", + "п і", + "▁n ative", + "▁nat ive", + "▁ native", + "ri ft", + "rif t", + "r ift", + "▁ ä", + "AT H", + "A TH", + "▁your self", + "▁yours elf", + "▁p rior", + "▁pr ior", + "▁pri or", + "▁c it", + "▁ci t", + "▁ cit", + "ä h", + "▁tre at", + "▁me as", + "rib uted", + "ribute d", + "ribu ted", + "▁c lar", + "▁cl ar", + "▁cla r", + "▁ clar", + "ca rd", + "car d", + "c ard", + "RO R", + "R OR", + "il les", + "ill es", + "ille s", + "i lles", + "▁l ayer", + "▁la yer", + "▁lay er", + "▁ layer", + "au er", + "a uer", + "▁r at", + "▁ra t", + "▁ rat", + "bern ate", + "▁st ato", + "▁stat o", + "▁sta to", + "▁Ch ina", + "▁Chi na", + "▁$ ('#", + "▁$(' #", + "▁n aar", + "▁na ar", + "zi p", + "z ip", + "▁$ {\\", + "▁${ \\", + "▁appreci ated", + "▁appreciate d", + "▁и ме", + "▁им е", + "ż y", + "▁prze z", + "▁prz ez", + "▁Ind ian", + "▁India n", + "▁T od", + "▁To d", + "▁S ource", + "▁ Source", + "▁дру ги", + "in ternal", + "int ernal", + "inter nal", + "intern al", + "ion ale", + "ional e", + "iona le", + "Pro duct", + "Produ ct", + "▁M en", + "▁Me n", + "▁ Men", + "▁u pper", + "▁up per", + "▁upp er", + "▁ upper", + "▁E very", + "▁Ev ery", + "▁Ever y", + "▁ Every", + "}, \\", + "} ,\\", + "▁print f", + "▁prin tf", + "▁ printf", + "▁contin ued", + "▁continu ed", + "▁continue d", + "▁n odes", + "▁no des", + "▁node s", + "▁nod es", + "▁ nodes", + "л ки", + "▁n ice", + "▁ni ce", + "▁nic e", + "▁ nice", + "mod ules", + "module s", + "ei gn", + "e ign", + "▁M ex", + "▁Me x", + "▁Acc ording", + "▁un defined", + "▁und efined", + "▁ undefined", + "▁b inary", + "▁bin ary", + "▁ binary", + "cu t", + "c ut", + "Cur rent", + "C urrent", + "ed y", + "e dy", + "}} {", + "} }{", + "ble s", + "bl es", + "b les", + "▁во й", + "▁ вой", + "sc ri", + "scr i", + "s cri", + "eq n", + "Ch anged", + "Change d", + "▁kö z", + "▁rem ote", + "▁ remote", + "в ля", + "▁qu el", + "▁que l", + "▁q uel", + "▁ quel", + "▁al ign", + "▁ali gn", + "▁ align", + "▁п ар", + "▁па р", + "▁ пар", + "S V", + "ye r", + "y er", + "▁Cal iforn", + "▁p laces", + "▁pl aces", + "▁place s", + "▁pla ces", + "▁prim ary", + "▁pri mary", + "▁prima ry", + "▁ primary", + "▁con v", + "▁ conv", + "▁J uli", + "▁Jul i", + "▁Ju li", + "▁vis ual", + "▁ visual", + "▁S elect", + "▁Se lect", + "▁Sel ect", + "▁Sele ct", + "▁ Select", + "at ory", + "ator y", + "ato ry", + "= (", + "is er", + "ise r", + "i ser", + "▁int ent", + "▁inte nt", + "▁inten t", + "▁ intent", + "su r", + "s ur", + "cont ainer", + "ic ed", + "ice d", + "i ced", + "▁bo ard", + "▁ board", + "as tr", + "ast r", + "a str", + "om ial", + "omi al", + "ве т", + "в ет", + "з ва", + "▁c ru", + "▁cr u", + "▁Ok tober", + "sa ve", + "s ave", + "▁gre ater", + "▁great er", + "▁in n", + "▁i nn", + "▁ inn", + "▁p icture", + "▁ picture", + "▁Т о", + "▁obtain ed", + "▁obt ained", + "Wik imedia", + "ú blic", + "▁l ors", + "▁lo rs", + "▁m ont", + "▁mon t", + "▁mo nt", + "▁ mont", + "ob re", + "o bre", + "▁c ivil", + "▁ci vil", + "▁civ il", + "▁const ruction", + "▁construct ion", + "▁constru ction", + "▁W elt", + "▁We lt", + "▁Wel t", + "▁U nder", + "▁Un der", + "▁Und er", + "▁ Under", + "und ert", + "under t", + "unde rt", + "▁ed ge", + "▁ edge", + "▁L iste", + "▁List e", + "▁Li ste", + "▁Lis te", + "cs v", + "c sv", + "▁ex periment", + "▁exper iment", + "local host", + "▁E dit", + "▁Ed it", + "▁ Edit", + "gr eg", + "gre g", + "g reg", + "ov á", + "o vá", + "љ а", + "ms g", + "m sg", + "▁G reen", + "▁Gr een", + "▁Gre en", + "▁Gree n", + "▁ Green", + "Di alog", + "D ialog", + "Id ent", + "I dent", + "▁J S", + "▁ JS", + "^{ (", + "^ {(", + "▁slä ktet", + "__ __", + "___ _", + "_ ___", + "Pro ject", + "▁bes kre", + "▁b er", + "▁be r", + "▁ ber", + "▁would n", + "▁re act", + "▁ react", + "He l", + "H el", + "z w", + "▁W ashington", + "or ie", + "ori e", + "o rie", + "ta sk", + "t ask", + "▁c ategory", + "▁categ ory", + "▁categor y", + "▁ category", + "▁art ist", + "an no", + "ann o", + "▁o ok", + "▁ ook", + "am men", + "amm en", + "▁Min ister", + "▁de clar", + "▁dec lar", + "▁decl ar", + "▁decla r", + "▁K ey", + "▁Ke y", + "▁ Key", + ", .", + "▁m ach", + "▁ma ch", + "▁mac h", + "▁w w", + "▁ ww", + "is en", + "ise n", + "i sen", + "Fr an", + "F ran", + "▁Ро сси", + "▁Рос си", + "бо р", + "б ор", + "т ри", + "▁r ock", + "▁ro ck", + "▁ rock", + "qu is", + "qui s", + "q uis", + "mo s", + "m os", + "пе ра", + "пер а", + "п ера", + "▁est erni", + "▁g old", + "▁go ld", + "▁gol d", + "Window s", + "W indows", + "% %", + "▁part ial", + "▁parti al", + "▁ partial", + "▁we ight", + "▁ weight", + "▁s pr", + "▁sp r", + "▁ spr", + "}) .", + "} ).", + "▁fran çais", + "fu n", + "f un", + "▁th ous", + "▁thou s", + "ho lder", + "hol der", + "hold er", + "h older", + "▁g one", + "▁go ne", + "▁ Č", + "▁re nd", + "▁r end", + "▁ren d", + "▁ rend", + "D A", + "▁answer ed", + "▁F alse", + "▁Fal se", + "▁ False", + "B uffer", + "▁d augh", + "▁da ugh", + ".- -", + ". --", + "▁S how", + "▁Sh ow", + "▁Sho w", + "▁ Show", + "▁re ct", + "▁r ect", + "▁rec t", + "▁ rect", + "▁K re", + "▁Kr e", + "d r", + "os oph", + "oso ph", + "▁y ield", + "ur ity", + "uri ty", + "to String", + "av al", + "ava l", + "a val", + "Po l", + "P ol", + "▁l ock", + "▁lo ck", + "▁loc k", + "▁ lock", + "im ation", + "ima tion", + "imat ion", + "ant ic", + "anti c", + "Lo cal", + "Loc al", + "L ocal", + "▁beskre vs", + "it és", + "ité s", + "gr id", + "g rid", + "у т", + "▁_ {", + "▁ _{", + "с і", + "FI LE", + "▁к м", + "▁spe ak", + "sum mary", + "pr op", + "pro p", + "p rop", + "java script", + "j avascript", + "z k", + "izont al", + "izon tal", + "▁tr ois", + "▁tro is", + "▁R od", + "▁Ro d", + "pr ise", + "ро во", + "ров о", + "р ово", + "▁o dd", + "▁od d", + "▁ odd", + "▁g est", + "▁ge st", + "▁ges t", + "▁ gest", + "▁produ ce", + "▁prod uce", + "▁w aar", + "▁wa ar", + "▁A v", + "▁ Av", + "ri bu", + "rib u", + "ва ння", + "ван ня", + "▁fin ished", + "▁finish ed", + "▁ad apt", + "▁S ar", + "▁Sa r", + "text it", + "tex tit", + "▁C e", + "▁F a", + "▁ Fa", + "os en", + "ose n", + "o sen", + "▁de riv", + "▁der iv", + "▁s hip", + "▁sh ip", + "▁ ship", + "▁o pin", + "▁op in", + "▁E ven", + "▁Ev en", + "ge sch", + "ges ch", + "g esch", + "▁supp ose", + "▁sup pose", + "▁F er", + "▁Fe r", + "ско е", + "▁w orden", + "▁word en", + "▁wor den", + "se y", + "s ey", + "hl ine", + "h line", + "▁Un ion", + "▁ Union", + "▁/ **", + "▁/* *", + "▁ /**", + "▁v ez", + "▁ve z", + "▁ vez", + "▁Colleg amenti", + "▁Soci ety", + "▁Soc iety", + "▁e conom", + "▁econ om", + "▁ec onom", + "š í", + "o i", + "▁or ient", + "▁ orient", + "▁T eil", + "▁Te il", + "re nt", + "ren t", + "r ent", + "ле кс", + "лек с", + "▁s olid", + "▁sol id", + "▁c art", + "▁car t", + "▁ca rt", + "▁ cart", + "******** ********", + "▁c ab", + "▁ca b", + "▁M essage", + "▁Mess age", + "▁ Message", + "do ts", + "dot s", + "d ots", + "▁é g", + "▁ ég", + "▁t we", + "▁tw e", + "ag a", + "a ga", + "▁n az", + "▁na z", + "▁M icrosoft", + "▁Micro soft", + "▁ Microsoft", + "▁under arter", + "pp en", + "ppe n", + "p pen", + "▁re cent", + "▁rec ent", + "▁rece nt", + "▁n et", + "▁ne t", + "▁ net", + "▁res ources", + "▁resource s", + "▁ resources", + "St e", + "S te", + ". \\", + "▁S O", + "▁ SO", + "ло м", + "л ом", + "▁c ele", + "▁ce le", + "▁cel e", + "▁l ic", + "▁li c", + "▁ lic", + "▁ben ef", + "▁bene f", + "ld ots", + "l dots", + "▁se rial", + "▁ser ial", + "▁seria l", + "▁ serial", + "In teger", + "cl es", + "cle s", + "c les", + "▁m iles", + "▁mil es", + "▁mi les", + "▁mile s", + "▁A le", + "▁Al e", + "▁en tered", + "▁ent ered", + "▁enter ed", + "▁T wo", + "▁Tw o", + "▁ Two", + "wi e", + "w ie", + "▁in cludes", + "▁incl udes", + "▁includ es", + "▁include s", + "▁inclu des", + "▁ includes", + "▁E ach", + "▁ Each", + "el ling", + "ell ing", + "elli ng", + "qu er", + "que r", + "q uer", + "▁D om", + "▁Do m", + "▁ Dom", + "p f", + "W S", + "▁stra ight", + "▁S tan", + "▁St an", + "▁Sta n", + "▁n os", + "▁no s", + "▁ nos", + "í cul", + "at ro", + "atr o", + "▁C enter", + "▁Cent er", + "▁ Center", + "F T", + "▁In ga", + "▁Ing a", + "il o", + "i lo", + "▁w ww", + "▁ww w", + "▁ www", + "js fiddle", + "ni c", + "n ic", + "▁Europe an", + "▁com mer", + "▁comm er", + "▁comme r", + "▁g irl", + "▁gi rl", + "▁gir l", + "to tal", + "tot al", + "t otal", + "▁S tar", + "▁St ar", + "▁Sta r", + "▁ Star", + "▁sugg ested", + "▁suggest ed", + "pa l", + "p al", + "▁zw ischen", + "пи са", + "пис а", + "I M", + "▁hand ler", + "▁handle r", + "▁ handler", + "▁Pro gram", + "▁Pr ogram", + "▁ Program", + "xs l", + "x sl", + "ál y", + "á ly", + "B U", + ",- -", + ", --", + "▁v id", + "▁vi d", + "▁ vid", + "▁estab lished", + "▁establish ed", + "▁S piel", + "▁Sp iel", + "om etry", + "ome try", + "omet ry", + "un es", + "une s", + "u nes", + "▁s it", + "▁si t", + "▁in her", + "▁p uis", + "▁pu is", + "▁ puis", + "▁ être", + "▁M ost", + "▁Mo st", + "▁Mos t", + "He ader", + "Head er", + "in sert", + "ins ert", + "▁s ist", + "▁si st", + "▁f avor", + "▁fa vor", + "▁fav or", + "de st", + "des t", + "d est", + "▁ent ity", + "▁ entity", + "Ca l", + "C al", + "▁There fore", + "D D", + "; ;", + "▁Dez ember", + "▁R h", + "im ents", + "iment s", + "imen ts", + "i ments", + "▁return ing", + "st o", + "s to", + "▁Val ue", + "▁ Value", + "▁l iber", + "▁li ber", + "▁lib er", + "▁Res ult", + "▁ Result", + "▁b ind", + "▁bi nd", + "▁bin d", + "▁ bind", + "vo ir", + "v oir", + "▁T im", + "▁Ti m", + "▁ Tim", + "▁M ovie", + "▁Mo vie", + "▁Mov ie", + "▁ Movie", + "we g", + "w eg", + "ke t", + "k et", + "▁и сто", + "▁ис то", + "▁fri ends", + "▁friend s", + "▁f n", + "▁ fn", + "▁é l", + "▁ él", + "▁& =", + "▁ &=", + "ar den", + "ard en", + "arde n", + "ff icial", + "ffic ial", + "▁comm unity", + "▁commun ity", + "▁ community", + "▁a pi", + "▁ap i", + "▁ api", + "Ar gs", + "Arg s", + "ie ren", + "ier en", + "iere n", + "i eren", + "▁d ann", + "▁da nn", + "▁dan n", + "om orph", + "ad r", + "a dr", + "lo op", + "l oop", + "um an", + "uma n", + "u man", + "▁v ous", + "▁vo us", + "▁vou s", + "▁ vous", + "bs t", + "b st", + "sub mit", + "\\ |", + "ти н", + "т ин", + "Cont ainer", + "as ket", + "ask et", + "? )", + "Se c", + "S ec", + "▁d rive", + "▁dr ive", + "▁dri ve", + "▁driv e", + "▁ drive", + "As s", + "A ss", + "▁s we", + "▁sw e", + "▁a mer", + "▁am er", + "▁ amer", + "▁m ine", + "▁min e", + "▁mi ne", + "▁ mine", + "▁H am", + "▁Ha m", + "▁av ait", + "▁ avait", + "▁H on", + "▁Ho n", + "▁a près", + "▁ap rès", + "▁apr ès", + "▁ après", + "▁M ann", + "▁Man n", + "▁Ma nn", + "сь ка", + "ськ а", + "▁incre ase", + "▁t y", + "▁ ty", + "sk y", + "s ky", + "▁acc ur", + "▁ac cur", + "art icle", + "we ight", + "weig ht", + "▁s ex", + "▁se x", + "▁ sex", + "▁list ade", + "▁lista de", + "/* *", + "/ **", + "▁est á", + "}} $", + "} }$", + "ar go", + "arg o", + "def ine", + "defin e", + "▁со став", + "▁соста в", + "s ession", + "ad s", + "a ds", + "ст ви", + "ств и", + "▁L aw", + "▁La w", + "▁d ialog", + "▁di alog", + "▁dia log", + "▁ dialog", + "▁dup licate", + "▁é p", + "▁ ép", + "▁v oc", + "▁vo c", + "fr i", + "f ri", + "▁g reen", + "▁gr een", + "▁gre en", + "▁ green", + "▁h idden", + "▁hid den", + "▁ hidden", + "▁Is land", + "▁di ag", + "▁dia g", + "ow ej", + "owe j", + "my sql", + "mys ql", + "mysq l", + "te il", + "tei l", + "t eil", + "r ä", + "ik an", + "ika n", + "i kan", + "▁Jos é", + "al ed", + "ale d", + "a led", + "Run time", + "R untime", + "▁t rain", + "▁tr ain", + "▁tra in", + "▁ train", + "▁Di vision", + "▁Div ision", + "ни ц", + "▁S pan", + "▁Sp an", + "▁ Span", + "ни ма", + "ним а", + ")= \\", + ") =\\", + "та н", + "т ан", + "▁st ay", + "▁sta y", + "▁f oo", + "▁fo o", + "▁ foo", + "▁acc om", + "▁ac com", + "▁h ers", + "▁he rs", + "▁her s", + "▁на у", + "▁M ün", + "ide os", + "ideo s", + "st atic", + "stat ic", + "▁re ady", + "▁read y", + "▁ ready", + "] `", + "▁vis ible", + "▁vi sible", + "▁ visible", + "▁H ope", + "▁Ho pe", + "▁Hop e", + "ul ated", + "ula ted", + "ulate d", + "▁C ult", + "▁Cu lt", + "ст ро", + "стр о", + "с тро", + "C o", + "▁sm aller", + "▁small er", + "at ura", + "atur a", + "atu ra", + "▁perfect ly", + "re q", + "r eq", + "▁pro posed", + "▁prop osed", + "▁propos ed", + "▁propose d", + "▁deg li", + "Se arch", + "S earch", + "▁i ch", + "▁ic h", + "▁ ich", + "Ma x", + "M ax", + "▁vol ume", + "▁ volume", + "exec ute", + "gr e", + "g re", + "▁s port", + "▁sp ort", + "▁spo rt", + "ud ad", + "uda d", + "P T", + "▁Rec ords", + "▁Record s", + "▁c ook", + "▁co ok", + "▁ cook", + "▁exp and", + "▁ expand", + "б і", + "▁al tri", + "▁alt ri", + "pp et", + "ppe t", + "p pet", + "ar se", + "ars e", + "▁w et", + "▁we t", + "▁B ob", + "▁Bo b", + "▁ Bob", + "▁F C", + "▁ FC", + "▁Associ ation", + "uj e", + "u je", + "▁f el", + "▁fe l", + "▁ fel", + "▁с лу", + "▁ слу", + "▁B ig", + "▁Bi g", + "▁ Big", + "/ \\", + "G e", + "wh ile", + "{ (", + "▁su fficient", + "Pos ition", + "P osition", + "▁under standing", + "▁understand ing", + "▁n ue", + "▁nu e", + "▁r az", + "▁ra z", + "▁ raz", + "▁y e", + "▁ ye", + "he m", + "h em", + "N um", + "▁Pro ject", + "▁ Project", + "▁I ts", + "▁It s", + "▁h asta", + "▁ha sta", + "▁has ta", + "▁hast a", + "en so", + "ens o", + "▁w ire", + "▁wir e", + "▁ wire", + "Re t", + "R et", + "u j", + "pro of", + "▁re levant", + "▁relev ant", + "▁part ir", + "▁parti r", + "▁a go", + "▁ag o", + "▁ ago", + "if icate", + "ific ate", + "ifica te", + "▁d omin", + "▁do min", + "▁dom in", + "▁ domin", + "▁b oy", + "▁bo y", + "▁ boy", + "▁p lant", + "▁pl ant", + "▁pla nt", + "▁plan t", + "▁ plant", + "▁enc oding", + "▁ encoding", + "▁th rows", + "▁thr ows", + "▁throw s", + "▁thro ws", + "▁R ock", + "▁Ro ck", + "▁Roc k", + "zo ne", + "zon e", + "z one", + "ga ng", + "gan g", + "g ang", + "wid get", + "w idget", + "▁interest ing", + "DE R", + "D ER", + "▁d emon", + "▁de mon", + "▁dem on", + "▁demo n", + "▁off ice", + "▁offic e", + "▁ office", + "am t", + "a mt", + "ät er", + "ä ter", + "▁Wh ite", + "▁Whit e", + "▁ White", + "▁v ersch", + "▁ver sch", + "▁vers ch", + "▁die ser", + "▁dies er", + "▁diese r", + "▁M ount", + "▁Mo unt", + "▁Mou nt", + "▁ Mount", + "▁stud ents", + "▁student s", + "▁P ub", + "▁Pu b", + "▁ Pub", + "▁Д е", + "ij a", + "i ja", + "▁C y", + "▁ Cy", + "▁Californ ia", + "▁ab ril", + "äl l", + "ä ll", + "▁ч ем", + "▁че м", + "T V", + "▁m és", + "▁mé s", + "▁decl ared", + "▁decla red", + "▁declar ed", + "▁declare d", + "▁ ю", + "ő l", + "ap pa", + "app a", + "a ppa", + "▁Б е", + "ec ho", + "ech o", + "e cho", + "num er", + "nu mer", + "n umer", + "▁po sted", + "▁pos ted", + "▁post ed", + "▁poste d", + "▁в ер", + "▁ве р", + "▁ вер", + "▁годи не", + "▁we ak", + "▁ weak", + "▁Re public", + "▁Rep ublic", + "▁Repub lic", + "▁ch ampion", + "▁champ ion", + "ensure math", + "you r", + "yo ur", + "y our", + "▁O ber", + "▁Ob er", + "▁Cent ral", + "is a", + "i sa", + "ан д", + "а нд", + "y y", + "▁full y", + "▁ful ly", + "▁ fully", + "▁S D", + "▁ SD", + "▁Lin ux", + "▁ Linux", + "▁Sc ott", + "▁Scot t", + "part ment", + "ko n", + "k on", + "▁cont ract", + "▁contr act", + "▁contra ct", + "▁O F", + "▁ OF", + "▁a le", + "▁al e", + "▁ ale", + "▁A nn", + "▁An n", + "▁на д", + "▁ над", + "la h", + "l ah", + "▁N ext", + "▁Ne xt", + "▁ Next", + "or en", + "ore n", + "o ren", + "▁d isk", + "▁di sk", + "▁dis k", + "▁ disk", + "▁e g", + "▁ eg", + "at u", + "a tu", + "ло ги", + "лог и", + "▁g ames", + "▁game s", + "▁ga mes", + "▁gam es", + "Le ft", + "L eft", + "▁l u", + "▁ lu", + "▁fin ite", + "▁finit e", + "▁ finite", + "▁к и", + "▁ ки", + "▁cr ash", + "▁cra sh", + "ph er", + "phe r", + "p her", + "ex e", + "e xe", + "AT ION", + "▁br other", + "▁bro ther", + "En g", + "E ng", + "ta t", + "t at", + "▁In teger", + "▁ Integer", + "но му", + "ном у", + "н ому", + "▁col on", + "▁co lon", + "▁ colon", + "i qu", + ")) .", + ") ).", + "iv i", + "i vi", + "▁M ethod", + "▁Met hod", + "▁ Method", + "ar ten", + "art en", + "arte n", + "Un i", + "U ni", + "ve ctor", + "vec tor", + "v ector", + "▁w ood", + "▁wo od", + "▁ wood", + "р т", + "▁Л е", + "▁siè cle", + "▁g ent", + "▁ge nt", + "▁gen t", + "▁ gent", + "} \r", + "▁cont ents", + "▁content s", + "▁conten ts", + "▁ contents", + "▁com pan", + "▁comp an", + "G o", + "▁j ou", + "▁jo u", + "▁ jou", + "ue nt", + "uen t", + "u ent", + "As ync", + "A sync", + "print f", + "▁M odel", + "▁Mod el", + "▁Mo del", + "▁Mode l", + "▁ Model", + "▁ke pt", + "AS E", + "A SE", + "▁prov ides", + "▁provide s", + "▁Ab gerufen", + "▁G all", + "▁Gal l", + "▁Ga ll", + "▁Al f", + "S A", + "▁M em", + "▁Me m", + "▁ Mem", + "▁k ter", + "▁ kter", + "▁B ru", + "▁Br u", + "And roid", + "( :", + "▁У краї", + "▁Укра ї", + "N e", + "M in", + "at r", + "a tr", + "▁H al", + "▁Ha l", + "de lete", + "del ete", + "od o", + "o do", + "▁n ão", + "èn e", + "è ne", + "▁calcul ate", + "▁calc ulate", + "Js on", + "J son", + "ke ys", + "key s", + "не й", + "н ей", + "▁h ence", + "▁hen ce", + "▁o w", + "▁ ow", + "▁L ib", + "▁Li b", + "▁ Lib", + "en o", + "e no", + "▁L ove", + "▁Lo ve", + "▁Lov e", + "os i", + "o si", + "wi de", + "wid e", + "w ide", + "▁s core", + "▁sc ore", + "▁ score", + "ful l", + "fu ll", + "f ull", + "во д", + "в од", + "▁determ ine", + "▁determin e", + "▁s paces", + "▁sp aces", + "▁space s", + "▁spac es", + "▁ spaces", + "ло ва", + "лов а", + "л ова", + "▁pe ut", + "▁peu t", + "ér al", + "éra l", + "é ral", + "ó ł", + "▁app oint", + "▁ap point", + "▁T w", + "▁ Tw", + "< ?", + "▁Or der", + "▁Ord er", + "▁ Order", + "▁h op", + "▁ho p", + "ran dom", + "rand om", + "r andom", + "ca che", + "c ache", + "▁dest roy", + "▁ destroy", + "▁r ace", + "▁ra ce", + "▁rac e", + "▁ race", + "T ag", + "▁r id", + "▁ri d", + "▁ rid", + "▁neg ative", + "▁ negative", + "Ca r", + "C ar", + "ens ional", + "ension al", + "d k", + "▁c ro", + "▁cr o", + "▁ cro", + "▁TH EN", + "▁THE N", + "▁$ .", + "▁ $.", + "en sk", + "ens k", + "N E", + "H O", + "▁k le", + "▁kl e", + "osp ital", + "kt e", + "k te", + "fér ences", + "férence s", + "ud es", + "ude s", + "u des", + "I R", + "ot ion", + "oti on", + "o tion", + "▁Re al", + "▁ Real", + "▁Febru ar", + "и н", + "▁O ld", + "▁Ol d", + "▁ Old", + "ко го", + "к ого", + "le ich", + "lei ch", + "▁ р", + "ía n", + "í an", + "▁г а", + "▁ га", + "ci de", + "cid e", + "c ide", + "la b", + "l ab", + "▁p ull", + "▁pu ll", + "▁pul l", + "▁ pull", + "▁' /", + "Lo ng", + "L ong", + ", $", + "▁appropri ate", + "▁бы ла", + "▁был а", + "f ühr", + "▁M edia", + "▁Me dia", + "▁Med ia", + "▁Medi a", + "▁ Media", + "▁m anner", + "▁man ner", + "▁Г е", + "de scription", + "des cription", + "Be an", + "▁L ar", + "▁La r", + "▁ Lar", + "'] ;", + "' ];", + "▁re lation", + "▁rel ation", + "▁rela tion", + "▁ relation", + "▁S orry", + "▁Sor ry", + "ha r", + "h ar", + "cp p", + "c pp", + "▁K o", + "▁exec ution", + "▁execut ion", + "▁ execution", + "in os", + "ino s", + "i nos", + "▁b ul", + "▁bu l", + "▁ bul", + "gr ade", + "gra de", + "grad e", + "g rade", + "▁M u", + "▁p il", + "▁pi l", + "wr it", + "w rit", + "ific ations", + "ification s", + "in ese", + "ine se", + "ines e", + "▁Ph ili", + "▁Phil i", + "d x", + "▁le ading", + "▁lead ing", + "▁ leading", + "▁J ournal", + "ov ed", + "ove d", + "o ved", + "▁cont ro", + "▁contr o", + "но ва", + "нов а", + "н ова", + "Y es", + "▁ch annel", + "▁ channel", + ")) ,", + ") ),", + "is ten", + "ist en", + "iste n", + "i sten", + "ak a", + "a ka", + "To String", + "ma s", + "m as", + "▁e tt", + "▁et t", + "▁ ett", + "▁for ces", + "▁force s", + "ul ations", + "ulation s", + "▁C all", + "▁Cal l", + "▁Ca ll", + "▁ Call", + "▁explan ation", + "or ing", + "ori ng", + "o ring", + "AT A", + "A TA", + "ch ter", + "cht er", + "chte r", + "wh en", + "w hen", + "V C", + "▁Jah rh", + "▁Jahr h", + "Ca se", + "C ase", + "▁comm ands", + "▁command s", + "▁ commands", + "▁r ich", + "▁ric h", + "▁ri ch", + "▁ rich", + "bu s", + "b us", + "F e", + "mb ox", + "m box", + "▁re con", + "▁rec on", + "ñ o", + "▁s hape", + "▁sh ape", + "▁ shape", + "ow y", + "o wy", + "en try", + "ent ry", + "entr y", + "it able", + "ita ble", + "i table", + "▁e lection", + "▁el ection", + "▁elect ion", + "▁ele ction", + "є ться", + "▁p rep", + "▁pr ep", + "▁pre p", + "▁ prep", + "v á", + "▁in fin", + "▁inf in", + "lo t", + "l ot", + "▁bo oks", + "▁book s", + "▁ books", + "▁U SA", + "▁US A", + "▁ USA", + "ли н", + "л ин", + "▁p om", + "▁po m", + "▁ pom", + "▁n as", + "▁na s", + "▁ nas", + "▁t ags", + "▁tag s", + "▁ta gs", + "▁ tags", + "▁exec uted", + "▁execute d", + "▁execut ed", + "ail le", + "ai lle", + "a ille", + "lu ng", + "l ung", + "▁Java Script", + "▁ JavaScript", + "▁b all", + "▁bal l", + "▁ba ll", + "▁ ball", + "▁ain si", + "▁P ri", + "▁Pr i", + "{ $", + "▁U N", + "▁ UN", + "▁R am", + "▁Ra m", + "▁h ear", + "▁he ar", + "▁U buntu", + ">( );", + ">() ;", + "> ();", + "▁p ure", + "▁pu re", + "▁pur e", + "▁em bed", + "▁emb ed", + "▁ embed", + "a ção", + "cont roller", + "control ler", + "▁mar ried", + "▁F ol", + "▁Fo l", + "fa mil", + "f amil", + "▁p rec", + "▁pr ec", + "▁pre c", + "▁ prec", + "▁rec urs", + "pa d", + "p ad", + "istr ation", + "istra tion", + "▁respect ively", + "▁respective ly", + "[ $", + "au tor", + "aut or", + "auto r", + "a utor", + "▁g rav", + "▁gr av", + "▁gra v", + "ie ra", + "ier a", + "i era", + "az ioni", + "azi oni", + "a zioni", + "▁B ul", + "▁Bu l", + "▁Austral ia", + "mon d", + "mo nd", + "m ond", + "▁T ro", + "▁Tr o", + "▁E le", + "▁El e", + "pack ages", + "package s", + "ms dn", + "▁A ls", + "▁Al s", + "▁pr zy", + "▁prz y", + "AR T", + "A RT", + "▁char ge", + "▁charg e", + "▁ charge", + "▁app lications", + "▁application s", + "▁applic ations", + "Un it", + "Uni t", + "U nit", + "ar en", + "are n", + "a ren", + "▁sud den", + "om eter", + "ome ter", + "omet er", + "o meter", + "▁d ot", + "▁do t", + "▁ dot", + "ac ji", + "a cji", + "кт ор", + "кто р", + "к тор", + "im in", + "imi n", + "i min", + "en ing", + "eni ng", + "e ning", + "▁d onde", + "▁do nde", + "▁don de", + "▁H o", + "tr ee", + "tre e", + "t ree", + "m b", + "▁d rag", + "▁dr ag", + "▁dra g", + "▁ drag", + "aj e", + "a je", + "▁in valid", + "▁ invalid", + "▁fin ish", + "la im", + "▁f eed", + "▁fe ed", + "▁fee d", + "▁ feed", + "▁N ap", + "▁Na p", + "ro om", + "r oom", + "im ages", + "ima ges", + "image s", + "▁са й", + "▁su cc", + "▁suc c", + "if fer", + "iff er", + "iffe r", + "▁a ño", + "▁añ o", + "▁c ual", + "▁cu al", + "ме ри", + "мер и", + "D R", + "▁B ilder", + "▁Bi lder", + "▁Bild er", + "▁Bil der", + "б ра", + "ra it", + "rai t", + "r ait", + "pa n", + "p an", + "ен ь", + "е нь", + "▁dist inct", + "▁K n", + "ön ig", + "ö nig", + "an ced", + "ance d", + "anc ed", + "▁lo ading", + "▁load ing", + "▁ loading", + "▁Te chn", + "▁S el", + "▁Se l", + "mu s", + "m us", + "▁r ail", + "▁ra il", + "▁st udent", + "▁stud ent", + "▁ student", + "▁not ice", + "▁s la", + "▁sl a", + "▁Д а", + "▁gu ard", + "▁ guard", + "▁D ay", + "▁Da y", + "▁ Day", + "ва ли", + "вал и", + "в али", + "Op tion", + "Opt ion", + "O ption", + "ais on", + "ai son", + "a ison", + "ip p", + "i pp", + "▁J un", + "▁Ju n", + "▁f ell", + "▁fe ll", + "▁fel l", + "▁ab solute", + "▁absol ute", + "▁ absolute", + "ов е", + "о ве", + "de bug", + "deb ug", + "▁S ud", + "▁Su d", + "п ы", + "ug ins", + "ugin s", + "▁view s", + "▁vie ws", + "▁ views", + "la y", + "l ay", + "▁s urr", + "▁su rr", + "▁sur r", + "▁st ood", + "▁sto od", + "▁ stood", + "▁в і", + "▁ ві", + "select ed", + "sel ected", + "г і", + "▁att ributes", + "▁attribute s", + "▁ attributes", + "fin al", + "fi nal", + "f inal", + "en da", + "end a", + "▁B on", + "▁Bo n", + "ne rs", + "ner s", + "n ers", + "▁W er", + "▁We r", + "bu r", + "b ur", + "it tel", + "itt el", + "itte l", + "▁m oving", + "▁mov ing", + "▁mo ving", + "▁P lan", + "▁Pl an", + "▁Pla n", + "▁ Plan", + "is ches", + "isch es", + "ische s", + "isc hes", + "J ava", + "▁b asis", + "▁bas is", + "▁B us", + "▁Bu s", + "▁ Bus", + "▁A u", + "▁I ll", + "▁Il l", + "▁ Ill", + "▁вре мя", + "▁ц ент", + "▁ цент", + "hand le", + "сту п", + "▁F ar", + "▁Fa r", + "▁o raz", + "▁or az", + "▁ora z", + "oc r", + "o cr", + "▁se it", + "▁sei t", + "on der", + "ond er", + "onde r", + "o nder", + "до м", + "д ом", + ": /", + "ch or", + "cho r", + "c hor", + "▁T own", + "▁To wn", + "▁Tow n", + "▁def init", + "▁defin it", + "re act", + "rea ct", + "▁pie ce", + "▁Kar l", + "▁Ka rl", + "C I", + "▁App lication", + "▁ Application", + "un ter", + "unt er", + "unte r", + "▁for med", + "▁form ed", + "▁forme d", + "▁ formed", + "▁п у", + "▁ пу", + "B o", + "▁Dan iel", + "▁ Daniel", + "▁п ла", + "▁ пла", + "Bo dy", + "B ody", + "}) $", + "} )$", + "▁бы ли", + "▁был и", + "▁e arth", + "▁ear th", + "г ла", + "Th ere", + "The re", + "T here", + "▁с тра", + "▁ст ра", + "▁ стра", + "▁v ille", + "▁vi lle", + "▁vill e", + "▁vil le", + "▁ ville", + "▁c entre", + "▁cent re", + ") \r", + "▁help ful", + "▁+ +", + "▁ ++", + "▁C G", + "▁ CG", + "iz ione", + "izi one", + "izio ne", + "i zione", + "▁G ame", + "▁Ga me", + "▁Gam e", + "▁ Game", + "▁Wh ich", + "▁p ip", + "▁pi p", + "▁ pip", + "▁Port ug", + "D S", + "▁de scribe", + "▁des cribe", + "▁descri be", + "▁check ing", + "▁man ager", + "▁manage r", + "▁ manager", + "B O", + "▁B undes", + "▁Bund es", + "▁Bun des", + "bu ch", + "b uch", + "▁dec ided", + "▁decide d", + "▁decid ed", + "▁Jahrh undert", + "▁f if", + "▁fi f", + "▁ fif", + "e fficient", + "an ci", + "anc i", + "br aries", + "bra ries", + "▁f ails", + "▁fa ils", + "▁fail s", + "▁k ernel", + "▁ker nel", + "▁ kernel", + "▁G l", + "▁N acional", + "▁pro ceed", + "▁proc eed", + "▁f uer", + "▁fue r", + "▁fu er", + "▁l iving", + "▁li ving", + "▁liv ing", + "▁success fully", + "▁successful ly", + "▁f aster", + "▁fa ster", + "▁fast er", + "▁fas ter", + "▁con tre", + "▁cont re", + "▁contr e", + "▁ contre", + "▁pr ison", + "▁pri son", + "▁pris on", + "OR T", + "O RT", + "he lp", + "hel p", + "▁a utor", + "▁au tor", + "▁aut or", + "▁auto r", + "▁ autor", + "ła w", + "ł aw", + "aj ą", + "a ją", + "▁A rm", + "▁Ar m", + "▁ Arm", + "▁pro vin", + "▁prov in", + "▁na am", + "/ #", + "se d", + "s ed", + "▁g esch", + "▁ge sch", + "▁ges ch", + "▁ gesch", + "▁м ар", + "▁ма р", + "▁ мар", + "es k", + "e sk", + "ter m", + "te rm", + "t erm", + "▁T ex", + "▁Te x", + "▁ Tex", + "ir ing", + "iri ng", + "i ring", + "▁t ools", + "▁to ols", + "▁too ls", + "▁tool s", + "▁ tools", + "PD F", + "P DF", + "▁u lt", + "▁ul t", + "▁ ult", + "iss enschaft", + "issen schaft", + "▁could n", + "di ng", + "din g", + "d ing", + "De p", + "D ep", + "{ -", + "▁pre dict", + "▁pred ict", + "▁ predict", + "ant age", + "anta ge", + "▁L ike", + "▁Li ke", + "▁ Like", + "▁Б и", + "to ols", + "tool s", + "t ools", + "es tra", + "est ra", + "estr a", + "e stra", + "▁k i", + "▁ ki", + "▁J im", + "▁Ji m", + "st ar", + "sta r", + "s tar", + "▁re mark", + "▁r emark", + "▁rem ark", + "▁ remark", + "ó g", + "na bla", + "nab la", + "▁Al though", + "mod e", + "mo de", + "m ode", + "H ost", + "▁st range", + "▁str ange", + "▁stran ge", + "No ne", + "Non e", + "N one", + "bl ack", + "bla ck", + "b lack", + "▁F estival", + "▁Fest ival", + "▁I S", + "▁ IS", + "an za", + "anz a", + "▁( -", + "▁ (-", + "ic ket", + "ick et", + "i cket", + "ко ла", + "кол а", + "▁J es", + "▁Je s", + "▁f lex", + "▁fl ex", + "▁fle x", + "▁ flex", + "▁ À", + "▁N etwork", + "▁Net work", + "▁ Network", + "▁E X", + "▁ EX", + "▁e nero", + "▁en ero", + "▁ener o", + "! ”", + "▁O rt", + "▁Or t", + "▁al ors", + "▁Or iginal", + "▁Origin al", + "▁Orig inal", + "▁ Original", + "▁z o", + "▁ zo", + "ны ми", + "ным и", + "▁s pl", + "▁sp l", + "▁ spl", + "Dra w", + "Dr aw", + "D raw", + "yo nd", + "y ond", + "─ ─", + "▁O t", + "▁d ram", + "▁dr am", + "▁dra m", + "▁di vision", + "▁div ision", + "▁divis ion", + "▁e fficient", + "▁effic ient", + "▁ efficient", + "▁Г а", + "▁v ier", + "▁vi er", + "▁vie r", + "▁ vier", + "na k", + "n ak", + "L S", + "▁sp irit", + "▁spir it", + "zeich net", + "▁d ici", + "▁di ci", + "▁dic i", + "cl ear", + "cle ar", + "c lear", + "co py", + "cop y", + "c opy", + "ya r", + "y ar", + "▁ро ці", + "us qu", + "u squ", + "▁n ous", + "▁no us", + "▁nou s", + "▁b lev", + "▁bl ev", + "▁ble v", + "ж де", + "Ar g", + "A rg", + "▁per formed", + "▁perform ed", + "▁M ake", + "▁Ma ke", + "▁Mak e", + "▁ Make", + "▁Car ol", + "▁Ca rol", + "et to", + "ett o", + "e tto", + "▁S and", + "▁San d", + "▁Sa nd", + "▁D isc", + "▁Dis c", + "▁Di sc", + "En c", + "E nc", + "re ro", + "rer o", + "r ero", + "ha sh", + "has h", + "h ash", + "▁f ocus", + "▁fo cus", + "▁foc us", + "▁ focus", + "▁att ention", + "▁a gre", + "▁ag re", + "▁agr e", + "▁di vis", + "▁div is", + "▁бы ло", + "▁был о", + "▁e j", + "▁ ej", + "▁m arch", + "▁mar ch", + "▁marc h", + "▁ph ase", + "▁ phase", + "ía s", + "í as", + "▁ph il", + "▁P ap", + "▁Pa p", + "▁r iver", + "▁riv er", + "▁ri ver", + "▁ river", + "▁c aused", + "▁caus ed", + "▁cause d", + "▁ca used", + "pl ugin", + "▁Te am", + "▁ Team", + "ul er", + "ule r", + "u ler", + "▁$ (\"#", + "▁$(\" #", + "ie j", + "i ej", + "I SBN", + "na m", + "n am", + "▁f ight", + "▁fig ht", + "vi d", + "v id", + "▁L ud", + "▁Lu d", + "Select ed", + ":@ \"", + ": @\"", + "▁P od", + "▁Po d", + "▁ Pod", + "▁ann ées", + "▁année s", + "ar ios", + "ari os", + "ario s", + "a rios", + "▁deutsch er", + "▁deutsche r", + "▁N A", + "▁ NA", + "▁и ю", + "▁d ictionary", + "▁diction ary", + "▁ dictionary", + "▁Л а", + "▁T ri", + "▁Tr i", + "▁ Tri", + "è n", + "▁polit ical", + "rid ge", + "r idge", + "at ten", + "att en", + "atte n", + "▁circ le", + "▁cir cle", + "▁ circle", + "▁trans port", + "▁ transport", + "em as", + "ema s", + "e mas", + "F C", + "▁replace d", + "▁repla ced", + "▁A ud", + "▁Au d", + "is ka", + "isk a", + "i ska", + "Config uration", + "▁so ort", + "▁Н е", + "▁s equ", + "▁se qu", + "▁seq u", + "▁ sequ", + "PR O", + "P RO", + "▁b ud", + "▁bu d", + "▁ bud", + "▁{ {", + "▁ {{", + "lie ß", + "l ieß", + "▁M as", + "▁Ma s", + "de rs", + "der s", + "d ers", + "us ammen", + "es a", + "e sa", + "▁L y", + "в ро", + "ma c", + "m ac", + "▁и спо", + "▁ис по", + "▁s uc", + "▁su c", + "u y", + "▁ill ustr", + "▁prim era", + "▁prime ra", + "▁primer a", + "il ation", + "ila tion", + "i lation", + "▁st orage", + "▁stor age", + "▁sto rage", + "▁ storage", + "▁par ams", + "▁para ms", + "▁param s", + "▁pa rams", + "▁ params", + "ka z", + "k az", + "▁term inal", + "▁termin al", + "ра ль", + "рал ь", + "р аль", + "▁h olds", + "▁hold s", + "▁hol ds", + "▁ holds", + "ло сь", + "▁n ad", + "▁na d", + "▁ nad", + "” .", + "▁oct ubre", + "bu l", + "b ul", + "▁h us", + "▁hu s", + "▁ hus", + "UL T", + "U LT", + "▁ég alement", + "▁M ill", + "▁Mil l", + "▁Mi ll", + "▁ Mill", + "ła d", + "ł ad", + "▁cont iene", + "\" ?", + "▁> >>", + "▁>> >", + "Qu e", + "Q ue", + "   ", + "▁p lain", + "▁pl ain", + "▁pla in", + "▁ plain", + "at iva", + "ativ a", + "ati va", + "oc ker", + "ock er", + "o cker", + "Name s", + "Na mes", + "N ames", + "▁J ud", + "▁Ju d", + "▁ag ree", + "▁agre e", + "▁agr ee", + "▁G emeinde", + "▁Geme inde", + "la re", + "lar e", + "l are", + "ка за", + "каз а", + "▁st arts", + "▁start s", + "▁star ts", + "▁ starts", + "▁p rice", + "▁pr ice", + "▁pri ce", + "▁ price", + "T arget", + "cu s", + "c us", + "▁Inst ead", + ". ;", + "▁altern ative", + "▁alter native", + "▁в ла", + "I E", + "▁organ iz", + "in u", + "i nu", + "▁comp leted", + "▁comple ted", + "▁complet ed", + "▁complete d", + "▁car ry", + "at om", + "ato m", + "a tom", + "▁dep ending", + "▁depend ing", + "▁O ur", + "▁in sp", + "▁ins p", + "▁& \\", + "▁ &\\", + "ail y", + "ai ly", + "a ily", + "ir ection", + "ire ction", + "irect ion", + "ф а", + "▁d efe", + "▁de fe", + "▁def e", + "TA C", + "T AC", + "▁de signed", + "▁des igned", + "▁design ed", + "▁v oir", + "▁vo ir", + "▁ voir", + "bre ak", + "▁part ie", + "▁parti e", + "▁J ahren", + "▁Jah ren", + "▁Jahr en", + "▁Jahre n", + "▁Ja hren", + "▁st udio", + "▁stud io", + "▁studi o", + "▁ studio", + "▁j our", + "▁jo ur", + "▁jou r", + "▁N otes", + "▁No tes", + "▁Not es", + "▁Note s", + "fi re", + "fir e", + "f ire", + "ho use", + "hou se", + "h ouse", + "su ccess", + "▁J uan", + "▁Ju an", + "J S", + "▁C ustom", + "▁ Custom", + "▁b esch", + "▁be sch", + "▁bes ch", + "▁st ated", + "▁stat ed", + "▁state d", + "▁sta ted", + "boot strap", + "öt t", + "ö tt", + "oz zá", + "▁C ON", + "▁CO N", + "▁ CON", + "ha v", + "h av", + "▁s leep", + "▁sle ep", + "▁ sleep", + "ed a", + "e da", + "ho t", + "h ot", + "án d", + "á nd", + "▁S y", + "▁tem ps", + "▁temp s", + "▁ temps", + "am ar", + "ama r", + "a mar", + "▁s cal", + "▁sc al", + "▁ scal", + "▁a st", + "▁as t", + "▁ ast", + "▁op ening", + "▁open ing", + "cli pse", + "clip se", + "c lipse", + "▁program ming", + "▁ programming", + "▁let ters", + "▁letter s", + "▁lett ers", + "▁pro file", + "▁prof ile", + "▁profil e", + "▁ profile", + "na h", + "n ah", + "▁be yond", + "▁Fur ther", + "face s", + "fa ces", + "fac es", + "f aces", + "▁c hart", + "▁ch art", + "▁char t", + "▁cha rt", + "▁ chart", + "зд а", + "з да", + "ai gn", + "a ign", + "ні й", + "н ій", + "▁R ol", + "▁Ro l", + "ова но", + "ован о", + "ter ior", + "te rior", + "we d", + "w ed", + "▁her self", + "▁hers elf", + "▁n g", + "▁ ng", + "angu ages", + "anguage s", + "}= \\", + "} =\\", + "ynam ic", + "yna mic", + "▁j ug", + "▁ju g", + "▁Ex ample", + "▁ Example", + "▁( †", + "▁play ing", + "▁pla ying", + "▁us age", + "▁ usage", + "▁man aged", + "▁manage d", + "▁ managed", + "▁N atur", + "▁Nat ur", + "те ри", + "тер и", + "▁E t", + "er ia", + "eri a", + "e ria", + "▁daugh ter", + "ни ем", + "ние м", + "F ragment", + "▁h ol", + "▁ho l", + "▁ hol", + "F l", + "огра фи", + "ограф и", + "о графи", + "▁i hn", + "▁ih n", + "ü h", + "inst ance", + "▁com un", + "▁co mun", + "▁tr uth", + "▁са мо", + "▁сам о", + "▁implement ed", + "▁any way", + "▁C ro", + "▁Cr o", + "ф е", + "G C", + "ub untu", + "u buntu", + "ty pes", + "type s", + "typ es", + "t ypes", + "ê s", + ".~ \\", + ". ~\\", + "fo ld", + "fol d", + "f old", + "▁jo ined", + "▁join ed", + "? ?", + "▁m é", + "▁ mé", + "▁w ild", + "▁wil d", + "к лю", + "row ser", + "rows er", + "▁H ome", + "▁Ho me", + "▁Hom e", + "▁ Home", + "sk iej", + "ski ej", + "skie j", + "s kiej", + "▁J OIN", + "▁ju in", + "ho f", + "h of", + "▁data set", + "▁dat aset", + "▁datas et", + "▁ dataset", + "ж ду", + "') )", + "' ))", + "▁mie js", + "AP I", + "A PI", + "▁ed ited", + "▁edit ed", + "ool s", + "oo ls", + "o ols", + "▁se eing", + "▁see ing", + "ij d", + "i jd", + "▁pro cedure", + "▁proced ure", + "▁B ras", + "▁Br as", + "▁Bra s", + "▁s igned", + "▁sign ed", + "▁sig ned", + "▁ signed", + "▁extern os", + "▁dis app", + "▁D irect", + "▁Di rect", + "▁Dire ct", + "▁Dir ect", + "▁ Direct", + "cy c", + "c yc", + "▁cons ult", + "ör d", + "ö rd", + "W idget", + "ci ous", + "cio us", + "c ious", + "se ct", + "sec t", + "s ect", + "▁Д и", + "▁w ind", + "▁win d", + "▁ wind", + "▁Archiv ado", + "am l", + "a ml", + "с с", + "W h", + "kb d", + "k bd", + "▁Ar my", + "▁Arm y", + "▁s uffer", + "▁suf fer", + "▁suff er", + "art ifact", + "▁resol ve", + "▁ resolve", + "▁S port", + "▁Sp ort", + "▁Spo rt", + "▁ц е", + "▁ це", + "id as", + "ida s", + "i das", + "▁t ax", + "▁ta x", + "▁ tax", + "id i", + "i di", + "▁a ctions", + "▁act ions", + "▁action s", + "▁ actions", + "пр а", + "п ра", + "pu és", + "p ués", + "▁n aj", + "▁na j", + "F alse", + "▁ch ance", + "▁та ко", + "▁так о", + "ä d", + "▁d ol", + "▁do l", + "▁en v", + "▁ env", + "▁bas ically", + "▁basic ally", + "▁Coun cil", + "zt e", + "z te", + "▁display ed", + "ni l", + "n il", + "comp lete", + "comple te", + "▁L em", + "▁Le m", + "ian ce", + "i ance", + "▁ос нов", + "▁de pend", + "▁dep end", + "pl om", + "ens us", + "ut s", + "u ts", + "▁H ot", + "▁Ho t", + "▁ Hot", + "bit r", + "bi tr", + "▁valid ation", + "▁ validation", + "ab b", + "a bb", + "▁т ре", + "▁ тре", + "k m", + "z d", + "ö ff", + "W E", + "▁inter ested", + "▁interest ed", + "▁{ \"", + "▁ {\"", + "ar o", + "a ro", + "▁cor rel", + "▁corre l", + "▁corr el", + "▁d edic", + "▁de dic", + "▁ded ic", + "▁l ists", + "▁list s", + "▁ lists", + "▁Bibli ografia", + "▁ear lier", + "pr ogram", + "pro gram", + "prog ram", + "▁prem ière", + "▁premi ère", + "fr ont", + "f ront", + "T ab", + "ст ву", + "ств у", + "dr op", + "dro p", + "d rop", + "▁f ear", + "▁fe ar", + "▁En laces", + "▁C apt", + "▁Cap t", + "▁Ca pt", + "▁ Capt", + "▁real iz", + "▁h al", + "▁ha l", + "▁ hal", + "▁inst ances", + "▁instance s", + "▁su sp", + "▁sus p", + "il ling", + "ill ing", + "illi ng", + "% ;", + "{ }", + "| |", + "▁part ition", + "▁parti tion", + "▁ partition", + "▁Bu ild", + "▁ Build", + "▁w o", + "▁ wo", + "▁П ер", + "▁Пе р", + "▁direct or", + "▁dire ctor", + "▁dir ector", + "▁S in", + "▁Si n", + "ти я", + "rs g", + "r sg", + "ou ver", + "ouv er", + "ouve r", + "▁near ly", + "od a", + "o da", + "кти в", + "к тив", + "▁s ir", + "▁si r", + "IM E", + "I ME", + "▁jan vier", + "▁W in", + "▁Wi n", + "▁ Win", + "Bu ild", + "ie urs", + "ieu rs", + "ieur s", + "i eurs", + "IN E", + "I NE", + "d ouble", + "La st", + "L ast", + "▁pol icy", + "▁polic y", + "▁ policy", + "st ore", + "sto re", + "stor e", + "▁obser ved", + "▁observ ed", + "▁observe d", + "▁obs erved", + "▁famil ie", + "ni ca", + "nic a", + "n ica", + "re y", + "r ey", + "з ь", + "▁Y ear", + "▁Ye ar", + "▁ Year", + "▁develop ed", + "▁deve loped", + "▁Inst itute", + "▁Instit ute", + "▁Institut e", + "▁re ply", + "▁rep ly", + "Com ple", + "Comp le", + "ic ian", + "ici an", + "icia n", + "i cian", + "▁G uer", + "▁Gu er", + "▁d all", + "▁da ll", + "▁dal l", + "▁d esp", + "▁de sp", + "▁des p", + "▁Foot ball", + "Em pty", + "Emp ty", + "ck en", + "cke n", + "c ken", + "un da", + "und a", + "▁U r", + "▁i g", + "▁ ig", + "▁A tl", + "▁At l", + "aut hor", + "auth or", + "▁B ol", + "▁Bo l", + "zi g", + "z ig", + "na t", + "n at", + "š t", + "se curity", + "sec urity", + "on ic", + "oni c", + "o nic", + "▁p es", + "▁pe s", + "▁ pes", + "it an", + "ita n", + "i tan", + "▁Ex tern", + "▁Ext ern", + "ja n", + "j an", + "VA L", + "V AL", + "▁и м", + "▁ им", + "bo ld", + "bol d", + "b old", + "▁в а", + "▁ ва", + "▁М о", + "▁dis put", + "▁disp ut", + "▁t rick", + "▁tr ick", + "▁tri ck", + "▁p ed", + "▁pe d", + "▁ ped", + ")^ {", + ") ^{", + "in to", + "int o", + "Si m", + "S im", + "▁par allel", + "▁ parallel", + "fo x", + "f ox", + "norm al", + "nor mal", + "n ormal", + "in ent", + "ine nt", + "inen t", + "пе ди", + "п еди", + "ho ld", + "hol d", + "h old", + "O K", + "▁c hem", + "▁ch em", + "▁che m", + "▁ chem", + "▁tw ice", + "▁us ername", + "▁user name", + "▁ username", + "i č", + "▁re presentation", + "▁represent ation", + "▁repres entation", + "▁j ournal", + "▁jour nal", + "▁journ al", + "▁: -", + "▁ :-", + "▁b att", + "▁ba tt", + "▁bat t", + "\\ %", + "▁certain ly", + "▁Ex ception", + "▁ Exception", + "ep s", + "e ps", + "sh ot", + "s hot", + "at egy", + "ate gy", + "ateg y", + "Sh ow", + "S how", + "▁Car l", + "▁Ca rl", + "ri g", + "r ig", + "▁rep orted", + "▁report ed", + "bot tom", + "b ottom", + "T F", + "▁Francis co", + "na p", + "n ap", + "▁Champion ship", + "▁Champions hip", + "▁c ourt", + "▁co urt", + "▁cour t", + "▁cou rt", + "▁ court", + "▁s ources", + "▁source s", + "io ur", + "i our", + "▁con serv", + "▁cons erv", + "▁conse rv", + "▁conser v", + "di ct", + "dic t", + "d ict", + "▁Р у", + "I B", + "▁V e", + "▁ №", + "▁E R", + "▁ ER", + "\") );", + "\")) ;", + "\" ));", + "▁P oint", + "▁Po int", + "▁ Point", + "az ine", + "azi ne", + "▁inter net", + "▁intern et", + "д на", + "▁car ried", + "▁carri ed", + "▁F ield", + "▁ Field", + "ax is", + "axi s", + "a xis", + "▁S un", + "▁Su n", + "▁a ve", + "▁av e", + "▁ ave", + "пи с", + "п ис", + "я н", + "as y", + "▁ju lio", + "▁jul io", + "▁juli o", + "▁de puis", + "▁dep uis", + "▁sugg estion", + "▁suggest ion", + "[ [", + "▁Arch ive", + "▁Archiv e", + "ę p", + "▁P ra", + "▁Pr a", + "re h", + "r eh", + "▁demon str", + "ф і", + "cm d", + "c md", + "▁was n", + "▁wa sn", + "▁ph one", + "▁ phone", + "up load", + "ay a", + "a ya", + "то ра", + "тор а", + "li nes", + "line s", + "lin es", + "l ines", + "▁in du", + "▁ind u", + "▁ indu", + "▁v ot", + "▁vo t", + "▁es pa", + "▁esp a", + "▁b in", + "▁bi n", + "▁ bin", + "▁по сле", + "▁пос ле", + "pl an", + "pla n", + "p lan", + "▁ju nio", + "▁jun io", + "▁juni o", + "or ial", + "oria l", + "ori al", + "o rial", + "fr ee", + "fre e", + "f ree", + "ster reich", + "▁д у", + "▁ ду", + "▁link ed", + "▁lin ked", + "▁en able", + "▁ enable", + "P C", + "▁dens ity", + "▁E gy", + "▁Eg y", + "y o", + "end re", + "▁с ъ", + "▁ital iano", + "▁A R", + "▁ AR", + "▁P ers", + "▁Per s", + "▁Pe rs", + "▁ Pers", + "fér és", + "▁с кла", + "V ar", + "▁On ce", + "▁ Once", + "Re d", + "R ed", + "buf fer", + "buff er", + "b uffer", + "▁En ter", + "▁Ent er", + "▁ Enter", + "▁ Š", + "im iento", + "imi ento", + "St ore", + "Sto re", + "▁he alth", + "va t", + "v at", + "IS T", + "I ST", + "O h", + "▁k w", + "▁ kw", + "▁r iv", + "▁ri v", + "▁ riv", + "▁some where", + "ograf ie", + "ografi e", + "priv ate", + "p rivate", + "кт и", + "к ти", + "▁de lay", + "▁del ay", + "▁ delay", + "▁H ttp", + "▁ Http", + "jo b", + "j ob", + "ra el", + "r ael", + "em por", + "emp or", + "▁dici embre", + "▁dic iembre", + "êt e", + "ê te", + "ц у", + "▁com mit", + "▁comm it", + "▁ commit", + "os o", + "o so", + "Val ues", + "Value s", + "▁he aders", + "▁head ers", + "▁header s", + "▁ headers", + "trans form", + "▁process ing", + "▁proces sing", + "▁ processing", + "r å", + "▁A h", + "▁ Ah", + "▁N ode", + "▁No de", + "▁ Node", + "-- ----------", + "---- --------", + "-------- ----", + "------ ------", + "----- -------", + "------- -----", + "---------- --", + "▁f aire", + "▁fa ire", + "▁fair e", + "▁h un", + "▁hu n", + "Pl ayer", + "Play er", + "P layer", + "▁re view", + "▁rev iew", + "▁ review", + "г да", + "▁lim ited", + "▁limit ed", + "▁ limited", + "▁Pro perty", + "▁ Property", + "▁s erve", + "▁ser ve", + "▁serv e", + "▁ serve", + "ri age", + "ria ge", + "▁M aster", + "▁Ma ster", + "▁Mas ter", + "▁ Master", + "▁k ann", + "▁kan n", + "▁ka nn", + "cre te", + "cret e", + "cr ete", + "ph ere", + "pher e", + "phe re", + "p here", + "ё р", + "▁ch ief", + "▁chi ef", + "▁sc ene", + "▁scen e", + "▁ scene", + "ki n", + "k in", + "▁un iform", + "▁ uniform", + "▁feb rero", + "\" }", + "il lo", + "ill o", + "IT E", + "I TE", + "ou vel", + "ouv el", + "ouve l", + "use package", + "en th", + "ent h", + "e nth", + "▁quick ly", + "L ambda", + "xe s", + "x es", + "▁c ells", + "▁cell s", + "▁cel ls", + "ro g", + "r og", + "am in", + "ami n", + "a min", + "▁М ар", + "▁Ма р", + "▁may or", + "▁mayo r", + "pl ayer", + "play er", + "pla yer", + "p layer", + "++ ;", + "▁На се", + "▁sa fe", + "▁saf e", + "▁ safe", + "▁ve loc", + "▁vel oc", + "▁о бра", + "▁об ра", + "▁ обра", + "Data base", + "Dat abase", + "D atabase", + "ne h", + "n eh", + "Ver t", + "V ert", + "▁f le", + "▁fl e", + "▁ф ор", + "▁фо р", + "▁ фор", + "▁f oreign", + "▁for eign", + "▁fore ign", + "Ab stract", + "▁m agn", + "▁ma gn", + "▁mag n", + "▁mod ified", + "▁milit ary", + "▁militar y", + "▁m onde", + "▁mon de", + "▁mo nde", + "▁mond e", + "▁A ction", + "▁Act ion", + "▁Ac tion", + "▁ Action", + "▁b ank", + "▁ban k", + "▁ bank", + "Ser ial", + "Se rial", + "▁contin uous", + "▁continu ous", + "▁g el", + "▁ge l", + "▁ gel", + "▁phys ical", + "▁introdu ced", + "▁introduce d", + "ut ure", + "ri ck", + "ric k", + "r ick", + "▁present ed", + "▁pres ented", + "▁presente d", + "▁P rov", + "▁Pro v", + "▁Pr ov", + "▁B oth", + "▁Bo th", + "▁Bot h", + "Po s", + "P os", + "su per", + "sup er", + "s uper", + "& #", + "▁f inding", + "▁find ing", + "▁fin ding", + "ne l", + "n el", + "un de", + "und e", + "u nde", + "▁fr ån", + "sk im", + "ski m", + "s kim", + "▁H ill", + "▁Hi ll", + "▁Hil l", + "f n", + "▁Can ad", + "▁Ca nad", + "▁int ended", + "▁inten ded", + "▁intend ed", + "ozzá férés", + "▁ju illet", + "▁W ars", + "▁War s", + "▁Wa rs", + "▁success ful", + "▁ch arg", + "▁char g", + "▁cha rg", + "▁ charg", + "ie le", + "iel e", + "i ele", + "om ething", + "ome thing", + "omet hing", + "ok u", + "o ku", + "f etch", + "▁} }", + "▁ }}", + "ban k", + "b ank", + "operator name", + "▁Col or", + "▁Co lor", + "▁ Color", + "▁C ard", + "▁Car d", + "▁Ca rd", + "▁ Card", + "t u", + "▁\" ,", + "▁ \",", + "wi d", + "w id", + "▁g ep", + "▁ge p", + "X ML", + "======== ========", + "▁Vir gin", + "ähr end", + "äh rend", + "lic ated", + "licate d", + "lica ted", + "Di r", + "D ir", + "ze ro", + "zer o", + "z ero", + "▁K al", + "▁Ka l", + "▁Par ty", + "▁Part y", + "▁ å", + "pr ice", + "p rice", + "do n", + "d on", + "▁w arning", + "▁war ning", + "▁warn ing", + "▁ warning", + "▁B ad", + "▁Ba d", + "▁ Bad", + "▁S upp", + "▁Su pp", + "▁Sup p", + "▁ Supp", + "▁L iga", + "▁Li ga", + "▁Lig a", + "▁P ierre", + "▁Pier re", + "▁ Pierre", + "Re cord", + "Rec ord", + "ul ator", + "ula tor", + "▁R ome", + "▁Ro me", + "▁Rom e", + "▁the orem", + "▁ theorem", + "▁entire ly", + "ски м", + "ск им", + "с ким", + "he t", + "h et", + "▁d opo", + "▁do po", + "▁dop o", + "Ne xt", + "N ext", + "ml ung", + "m lung", + "wi g", + "w ig", + "▁A th", + "▁At h", + "▁S ou", + "▁So u", + "li cher", + "lic her", + "lich er", + "liche r", + "l icher", + "▁s udo", + "▁su do", + "▁sud o", + "▁ sudo", + "es ts", + "est s", + "хі в", + "х ів", + "▁sept iembre", + "▁m icro", + "▁mi cro", + "▁mic ro", + "▁t rop", + "▁tr op", + "▁tro p", + "fi t", + "f it", + "Co re", + "Cor e", + "C ore", + "▁Rad io", + "▁ Radio", + "▁Or gan", + "▁ Organ", + "▁P ower", + "▁Po wer", + "▁Pow er", + "▁ Power", + "C F", + "▁L ast", + "▁La st", + "▁Las t", + "▁ Last", + "▁op pos", + "▁opp os", + "▁off set", + "▁ offset", + "▁re gia", + "▁reg ia", + "▁min imum", + "▁minim um", + "▁hel ped", + "▁help ed", + "an don", + "and on", + "ando n", + "if ying", + "ify ing", + "ru it", + "r uit", + "ensch app", + "▁b ere", + "▁be re", + "▁ber e", + "▁ bere", + "V M", + "▁A wards", + "▁Award s", + "▁Aw ards", + "▁a gr", + "▁ag r", + "▁ agr", + "yn omial", + "en ced", + "ence d", + "enc ed", + "▁dev ices", + "▁device s", + "▁devi ces", + "▁b ot", + "▁bo t", + "▁ bot", + "▁f irm", + "▁fi rm", + "▁fir m", + "▁w riter", + "▁writ er", + "▁wr iter", + "▁write r", + "▁ writer", + "▁r ing", + "▁ri ng", + "▁rin g", + "▁ ring", + ". -", + "is tes", + "ist es", + "iste s", + "l ä", + "▁m el", + "▁me l", + "▁ mel", + "ent ation", + "enta tion", + "▁Sch w", + "▁Sc hw", + "▁n ome", + "▁no me", + "▁nom e", + "▁ nome", + "▁po bla", + "▁pob la", + "▁w oj", + "▁wo j", + "▁u l", + "▁ ul", + "en to", + "ent o", + "ы х", + "▁res ist", + "▁rem ains", + "▁remain s", + "▁C a", + "▁ Ca", + "añ a", + "a ña", + "▁C ourt", + "▁Co urt", + "▁Cour t", + "▁Cou rt", + "ut able", + "uta ble", + "u table", + "ential ly", + "enti ally", + "▁t rat", + "▁tr at", + "▁tra t", + "▁ trat", + "▁Vis ual", + "▁ Visual", + "▁rest rict", + "▁pre viously", + "▁previous ly", + "▁prev iously", + "ca tion", + "cat ion", + "c ation", + "▁о со", + "▁ос о", + "▁My SQL", + "f ör", + "cal a", + "ca la", + "c ala", + "▁c ulture", + "▁cult ure", + "li ve", + "liv e", + "l ive", + "▁accept ed", + "Di d", + "D id", + "▁h ous", + "▁ho us", + "▁se lection", + "▁select ion", + "▁sel ection", + "▁sele ction", + "▁ selection", + "▁de cre", + "▁dec re", + "mar gin", + "m argin", + "ur b", + "u rb", + "▁I nc", + "▁In c", + "▁M any", + "▁Man y", + "▁Ma ny", + "▁ Many", + "ib t", + "i bt", + "▁succ eed", + "▁suc ceed", + "Bind ing", + "B inding", + "c í", + "▁R og", + "▁Ro g", + "▁should n", + "cl oud", + "clo ud", + "clou d", + "▁d z", + "▁ dz", + "ва в", + "▁p ix", + "▁pi x", + "sm all", + "▁project s", + "▁ projects", + "▁O K", + "▁ OK", + "▁la test", + "▁lat est", + "▁late st", + "▁ latest", + "▁re ferences", + "▁refer ences", + "▁reference s", + "Pro gram", + "Pr ogram", + "▁er st", + "▁ers t", + "▁ erst", + "▁я к", + "▁k am", + "▁ka m", + "▁C amb", + "▁Cam b", + "▁Ca mb", + "el lt", + "ell t", + "ö d", + "no ne", + "non e", + "n one", + "▁j usqu", + "▁ju squ", + "ki ng", + "kin g", + "k ing", + "▁P ed", + "▁Pe d", + "as sert", + "ass ert", + "asse rt", + "asser t", + "C S", + "ri to", + "rit o", + "r ito", + "es sa", + "ess a", + "ль ко", + "▁V on", + "▁Vo n", + "▁Ed ward", + "▁im possible", + "▁impos sible", + "n p", + "word s", + "wor ds", + "w ords", + "ie lt", + "iel t", + "i elt", + "▁P age", + "▁Pa ge", + "▁ Page", + "le rs", + "ler s", + "l ers", + "▁p ier", + "▁pi er", + "▁pie r", + "▁обла сти", + "itt ee", + "itte e", + "▁( [", + "▁ ([", + "▁t rust", + "▁tr ust", + "N G", + "re du", + "red u", + "r edu", + "< <", + "ri al", + "ria l", + "r ial", + "▁product s", + "▁ products", + "▁E rn", + "▁Er n", + "ri ère", + "r ière", + "го в", + "г ов", + "▁Re ich", + "▁Ro ad", + "▁n ested", + "▁ne sted", + "▁nest ed", + "▁ nested", + "Dis play", + "▁str ength", + "ograf ía", + "▁ann ounced", + "▁announ ced", + "▁S cience", + "▁Sc ience", + "▁Sci ence", + "▁рай о", + "Param eter", + "▁T ask", + "▁Ta sk", + "▁Tas k", + "▁ Task", + "um ents", + "ument s", + "umen ts", + "u ments", + "▁ad opt", + "▁On ly", + "▁ Only", + "ют ь", + "ю ть", + "▁c li", + "▁cl i", + "▁ cli", + "▁l em", + "▁le m", + "▁ lem", + "st ood", + "sto od", + "▁F I", + "▁ FI", + "ên cias", + "ência s", + "pon ents", + "ponent s", + "] $", + "com ment", + "comm ent", + "▁y a", + "▁ ya", + "sh ould", + "ik e", + "i ke", + "ti m", + "t im", + "el lig", + "ell ig", + "elli g", + "▁s ending", + "▁send ing", + "▁sen ding", + "▁a jax", + "▁aj ax", + "▁ ajax", + "▁nov iembre", + "um es", + "ume s", + "u mes", + "▁we iter", + "▁weit er", + "▁D ans", + "▁Dan s", + "▁Da ns", + "op p", + "o pp", + "▁sept embre", + "▁sep tembre", + "ot imes", + "oti mes", + "o times", + "z ő", + "▁e p", + "▁ ep", + "ve re", + "ver e", + "v ere", + "▁o h", + "▁ oh", + ": =", + "▁S ong", + "▁So ng", + "▁Son g", + "” ,", + "▁v iv", + "▁vi v", + "▁ viv", + "▁qu eries", + "▁que ries", + "▁quer ies", + "▁v á", + "▁ vá", + "▁déc embre", + "▁un able", + "▁una ble", + "▁e rh", + "▁er h", + "▁` -", + "▁ `-", + "▁L ee", + "▁Le e", + "▁er sten", + "▁erst en", + "▁erste n", + "▁ers ten", + "ô t", + "ст ве", + "ств е", + "T S", + "▁f ragment", + "▁fra gment", + "▁frag ment", + "▁ fragment", + "▁w ide", + "▁wid e", + "▁ wide", + "▁s uff", + "▁su ff", + "▁suf f", + "▁d ut", + "▁du t", + "▁V ere", + "▁Ver e", + "▁Ve re", + "і с", + "ad ing", + "adi ng", + "adin g", + "a ding", + "ie go", + "ieg o", + "i ego", + "ic ago", + "ica go", + "▁Ar gent", + "▁Arg ent", + "or er", + "ore r", + "o rer", + "en nes", + "enn es", + "enne s", + "▁L eb", + "▁Le b", + "lin ux", + "ac ing", + "aci ng", + "a cing", + "▁br oken", + "▁bro ken", + "▁broke n", + "t p", + "í o", + "ab eth", + "abe th", + "abet h", + "ist as", + "ista s", + "ge w", + "g ew", + "i ème", + "ca s", + "c as", + "▁pre ced", + "▁prec ed", + "▁D al", + "▁Da l", + "▁comp ared", + "▁compar ed", + "▁compare d", + "equ iv", + "il ly", + "ill y", + "te en", + "t een", + "▁Con sole", + "▁Cons ole", + "▁ Console", + "▁st rict", + "▁str ict", + "▁stri ct", + "it aire", + "ita ire", + "i taire", + "▁E D", + "▁ ED", + "ential s", + "enti als", + "▁p erman", + "▁per man", + "▁perm an", + "▁t ous", + "▁to us", + "▁tou s", + "▁g eme", + "▁ge me", + "▁gem e", + "▁ geme", + "▁ext rem", + "▁extr em", + "▁ок ру", + "k g", + "▁he avy", + "▁heav y", + "▁av ril", + "▁an ti", + "▁ant i", + "▁ anti", + "▁oct obre", + "ut f", + "u tf", + "he lm", + "hel m", + "h elm", + "am ples", + "ample s", + "amp les", + "▁( _", + "▁ (_", + "ak en", + "ake n", + "a ken", + "▁d ear", + "▁de ar", + "▁opin ion", + "▁f ish", + "▁fi sh", + "▁fis h", + "▁ fish", + "▁Alex ander", + "▁Alexand er", + "i w", + "и м", + "ca dem", + "cade m", + "c adem", + "▁ref lect", + "▁ reflect", + "▁д р", + "▁t rib", + "▁tr ib", + "▁tri b", + "com mon", + "comm on", + "▁clear ly", + "▁s af", + "▁sa f", + "=\"@ +", + "▁М ос", + "▁Мо с", + "си те", + "eqn array", + "nu ng", + "n ung", + "▁relations hip", + "▁relation ship", + "▁S em", + "▁Se m", + "▁ Sem", + "▁k illed", + "▁kil led", + "▁kill ed", + "te d", + "t ed", + "un o", + "u no", + "▁ лі", + "▁w id", + "▁ wid", + "an ning", + "ann ing", + "anni ng", + "▁p anel", + "▁pa nel", + "▁pan el", + "▁ panel", + "▁L eben", + "▁Le ben", + "▁Leb en", + "▁r uby", + "▁ru by", + "▁rub y", + "▁ ruby", + "ans ion", + "▁a ren", + "▁are n", + "▁ar en", + "▁ aren", + "tab ular", + "al et", + "ale t", + "a let", + "}$ $", + "} $$", + "▁L ake", + "▁La ke", + "▁Lak e", + "▁su ite", + "▁suit e", + "▁ suite", + "▁min or", + "▁mi nor", + "H ozzáférés", + "▁xml ns", + "▁ xmlns", + "DI R", + "D IR", + "dr iver", + "drive r", + "dri ver", + "d river", + "in ts", + "int s", + "▁v ic", + "▁vi c", + "▁ vic", + "AN D", + "A ND", + "pr im", + "p rim", + "сы лки", + "▁O x", + "T C", + "riv ial", + "at ie", + "ati e", + "▁e ight", + "▁eig ht", + "▁eigh t", + "▁conf lic", + "▁confl ic", + "an gel", + "ang el", + "ange l", + "▁B egr", + "▁Be gr", + "▁Beg r", + "▁explicit ly", + "ют ся", + "ю тся", + "▁D ev", + "▁De v", + "▁ Dev", + "re nder", + "ren der", + "rend er", + "r ender", + "▁re produ", + "▁rep rodu", + "▁repr odu", + "▁repro du", + "▁c ré", + "▁cr é", + "G u", + "M B", + "▁k ön", + "▁kö n", + "▁rem ained", + "▁remain ed", + "▁k l", + "▁ kl", + "хо в", + "х ов", + "▁b yl", + "▁by l", + "Ph i", + "P hi", + "▁de tail", + "▁det ail", + "▁ detail", + "ja v", + "j av", + "▁m ouse", + "▁mo use", + "▁mou se", + "▁ mouse", + "B as", + "i ę", + "as ser", + "ass er", + "asse r", + "h s", + "▁sh ift", + "▁ shift", + "▁ú lt", + "▁ últ", + "ra nd", + "ran d", + "r and", + "▁b tn", + "▁ btn", + "ra z", + "r az", + "▁p ul", + "▁pu l", + "▁stat ements", + "▁state ments", + "▁statement s", + "file name", + "fil ename", + "▁prom pt", + "él é", + "é lé", + "ik z", + "▁S us", + "▁Su s", + "▁de but", + "▁deb ut", + "St at", + "S tat", + "form s", + "for ms", + "▁H ein", + "▁He in", + "st adt", + "sta dt", + "stad t", + "en nis", + "enn is", + "по л", + "ar ante", + "aran te", + "ці й", + "ц ій", + "▁que ue", + "▁ queue", + "▁re ci", + "▁rec i", + "▁ reci", + "▁s ta", + "▁st a", + "▁ sta", + "yn chron", + "cent ering", + "center ing", + "cente ring", + "So me", + "S ome", + "Gr aph", + "G raph", + "▁t ested", + "▁te sted", + "▁test ed", + "▁K unst", + "▁Kun st", + "о м", + "▁N othing", + "▁No thing", + "▁Not hing", + "▁ Nothing", + "ie u", + "i eu", + "“ .", + "B undle", + "▁of icial", + "▁ofic ial", + "al low", + "all ow", + "allo w", + "▁Re act", + "▁L ibrary", + "▁Li brary", + "▁ Library", + "bl ue", + "▁ver w", + "▁ve rw", + "▁p are", + "▁par e", + "▁pa re", + "▁Fried rich", + "▁a ware", + "▁aw are", + "▁ aware", + "Ex p", + "E xp", + "▁effect s", + "▁го ро", + "▁гор о", + "lop edia", + "loped ia", + "▁V en", + "▁Ve n", + "ra le", + "ral e", + "r ale", + "▁F inal", + "▁Fin al", + "▁ Final", + "▁pro pos", + "▁prop os", + "la cement", + "lace ment", + "lac ement", + "kt en", + "kte n", + "k ten", + "▁no vel", + "▁nov el", + "or ter", + "ort er", + "orte r", + "▁German y", + "▁Ger many", + "▁Germ any", + "▁d jango", + "▁ django", + "▁trans ition", + "▁ transition", + "▁happ ened", + "▁happen ed", + "▁beaut iful", + "▁ne ither", + "▁nei ther", + "▁li braries", + "▁h ide", + "▁hi de", + "▁hid e", + "▁ hide", + "al g", + "a lg", + "▁a spect", + "▁as pect", + "▁asp ect", + "▁for get", + "▁forg et", + "cade my", + "cadem y", + "on te", + "ont e", + "re fix", + "ref ix", + "▁cl oud", + "▁clo ud", + "▁ cloud", + "ne d", + "n ed", + "cd ots", + "cdot s", + "c dots", + "reg ister", + "ny m", + "n ym", + ".) :", + ". ):", + "▁J ew", + "▁Je w", + "▁t rès", + "▁tr ès", + "ни че", + "▁D or", + "▁Do r", + "▁p roc", + "▁pro c", + "▁pr oc", + "▁ proc", + "▁g an", + "▁ga n", + "▁ gan", + "▁ є", + "▁S av", + "▁Sa v", + "v í", + "Setting s", + "S ettings", + "▁V ari", + "▁Var i", + "▁Va ri", + "▁ Vari", + "▁c ours", + "▁co urs", + "▁cour s", + "▁cou rs", + "R o", + "▁con j", + "▁re asons", + "▁reason s", + "▁re ader", + "▁read er", + "▁ reader", + "лекс анд", + "ic ate", + "ica te", + "}) ,", + "} ),", + "▁task s", + "▁ tasks", + "▁R ay", + "▁Ra y", + "▁r ic", + "▁ri c", + "▁ ric", + "K e", + "on ie", + "oni e", + "o nie", + "r f", + ") [", + "▁sub sequ", + "▁subs equ", + "▁T urn", + "▁Tur n", + "▁Tu rn", + "▁ Turn", + "▁VI AF", + "math sf", + "H E", + "▁dec lare", + "▁decl are", + "▁decla re", + "▁declar e", + "▁pro tocol", + "▁proto col", + "▁ protocol", + "▁P C", + "▁ PC", + "ци он", + "View ById", + "▁an imation", + "▁anim ation", + "▁ animation", + "▁conf used", + "ви ч", + "▁en abled", + "▁enable d", + "▁ enabled", + "ow o", + "o wo", + "ás t", + "á st", + "ö t", + "▁m and", + "▁ma nd", + "▁man d", + "▁R ail", + "▁Ra il", + "field s", + "▁K ap", + "▁Ka p", + "▁al gebra", + "▁ algebra", + "▁С у", + "fér ence", + "▁C urrent", + "▁Cur rent", + "▁ Current", + "с но", + "▁L im", + "▁Li m", + "Par ams", + "Param s", + "Pa rams", + "▁Ant onio", + "▁Anton io", + "▁Anto nio", + "▁t v", + "▁ tv", + "la te", + "lat e", + "l ate", + "if er", + "ife r", + "i fer", + "En try", + "Ent ry", + "▁S erv", + "▁Se rv", + "▁Ser v", + "▁ Serv", + "▁mus ical", + "▁music al", + "▁musica l", + "▁t race", + "▁tr ace", + "▁tra ce", + "▁trac e", + "▁ trace", + "▁s cient", + "▁sc ient", + "▁sci ent", + "fi c", + "f ic", + "▁for got", + "▁forg ot", + "v ideo", + "▁o lder", + "▁old er", + "▁ol der", + "▁ older", + "Tr ee", + "T ree", + "▁u ns", + "▁un s", + "▁ uns", + "ни ки", + "ник и", + "▁E uropa", + "▁Europ a", + "▁Euro pa", + "▁Z we", + "▁Zw e", + "▁б е", + "▁ бе", + "▁v ec", + "▁ve c", + "▁ vec", + "ж у", + "Mat ch", + "M atch", + "sp an", + "s pan", + "▁bl ank", + "▁blan k", + "▁ blank", + "▁sp äter", + "▁T y", + "▁ Ty", + "▁d ict", + "▁di ct", + "▁dic t", + "▁ dict", + "ñ a", + "▁conf irm", + "▁confir m", + "▁ confirm", + "▁v ý", + "за н", + "з ан", + "Re l", + "R el", + "fil m", + "fi lm", + "▁R ot", + "▁Ro t", + "▁ Rot", + "▁H y", + "▁ Hy", + "ка х", + "▁dem and", + "▁min ist", + "▁mini st", + "▁Mad rid", + "▁us ual", + "sp iel", + "s piel", + "er os", + "ero s", + "e ros", + "▁t utorial", + "▁tut orial", + "▁ tutorial", + "▁С сылки", + "s ys", + "ци аль", + "▁sp read", + "▁spr ead", + "▁spre ad", + "▁con vers", + "▁conver s", + "▁conv ers", + "▁r oll", + "▁ro ll", + "▁rol l", + "▁ roll", + "artifact Id", + "▁N umber", + "▁Num ber", + "▁ Number", + "▁sym met", + "▁M ult", + "▁Mu lt", + "▁Mul t", + "▁ Mult", + "ex pected", + "exp ected", + "expect ed", + "▁a xis", + "▁ax is", + "▁ axis", + "▁match ing", + "▁f ood", + "▁fo od", + "▁foo d", + "group Id", + "Map p", + "Ma pp", + "M app", + "▁с вя", + "▁v end", + "▁ve nd", + "▁ven d", + "F ound", + "ot to", + "ott o", + "o tto", + "Ca t", + "C at", + "cri t", + "cr it", + "c rit", + "ist ent", + "iste nt", + "isten t", + "▁d rei", + "▁dr ei", + "▁dre i", + "▁en ded", + "▁end ed", + "▁ende d", + "▁ ended", + "▁T ele", + "▁Te le", + "▁Tel e", + "com ponent", + "▁invol ved", + "▁involve d", + "▁Est ados", + "▁Estado s", + "▁Estad os", + "▁d anger", + "▁dan ger", + "▁ch ain", + "▁cha in", + "▁ chain", + "▁P rom", + "▁Pro m", + "▁Pr om", + "▁ Prom", + "ho m", + "h om", + "▁pol ít", + "co p", + "c op", + "▁n ap", + "▁na p", + "▁ nap", + "ri f", + "r if", + "ple ments", + "pl ements", + "plement s", + "▁v ent", + "▁ve nt", + "▁ven t", + "▁ vent", + "an na", + "ann a", + "an ted", + "ant ed", + "ante d", + "date d", + "da ted", + "dat ed", + "d ated", + "an th", + "ant h", + "a nth", + "▁thread s", + "▁thre ads", + "▁ threads", + "зо ва", + "зов а", + "з ова", + "▁ста нов", + "▁стан ов", + "▁ станов", + "▁e erst", + "▁eer st", + "bu f", + "b uf", + "he id", + "▁R u", + "▁P rim", + "▁Pr im", + "▁Pri m", + "▁ Prim", + "▁m igr", + "▁mi gr", + "▁mig r", + "▁ migr", + "▁Un idos", + "▁ar bitr", + "▁r oman", + "▁ro man", + "▁rom an", + "ount ry", + "oun try", + "ult ur", + "▁K önig", + "▁Kö nig", + "▁an not", + "▁ann ot", + "▁anno t", + "▁ annot", + "ach ing", + "ac hing", + "achi ng", + "▁H aupt", + "▁Ha upt", + "um in", + "umi n", + "u min", + "▁h em", + "▁he m", + "▁ hem", + "ck ets", + "cket s", + "cke ts", + "ba u", + "b au", + "ect ion", + "ec tion", + "e ction", + "ef t", + "e ft", + "▁package s", + "▁pack ages", + "▁ packages", + "▁K ur", + "▁Ku r", + "th ur", + "▁p ays", + "▁pa ys", + "▁pay s", + "li ament", + "lia ment", + "▁Б у", + "▁c ada", + "▁ca da", + "▁cad a", + "po ints", + "point s", + "oc ket", + "ock et", + "o cket", + "▁v erb", + "▁ver b", + "▁ve rb", + "▁ verb", + "ле е", + "▁sub mit", + "▁subm it", + "▁ submit", + "▁s an", + "▁sa n", + "▁ san", + "ru by", + "r uby", + "▁e ast", + "▁eas t", + "▁ east", + "ko v", + "k ov", + "▁Ver lag", + "▁Verl ag", + "▁ Verlag", + "▁s pot", + "▁sp ot", + "▁spo t", + "▁ spot", + "pp o", + "p po", + "E ach", + "je kt", + "▁Bi ographie", + "▁ne ws", + "▁new s", + "▁ news", + "▁pa ís", + "uf act", + "u fact", + "▁d ia", + "▁di a", + "▁ dia", + "ко ва", + "ков а", + "к ова", + "▁accom pl", + "▁accomp l", + "▁É t", + "▁ Ét", + "il ities", + "ili ties", + "▁i hm", + "▁ih m", + "in voke", + "inv oke", + "▁app end", + "▁ap pend", + "▁appe nd", + "▁ append", + ".) ,", + ". ),", + "▁l ab", + "▁la b", + "▁ lab", + "an ging", + "ang ing", + "is tan", + "ist an", + "ista n", + "i stan", + "re sol", + "res ol", + "reso l", + "▁S ection", + "▁Se ction", + "▁Sec tion", + "▁ Section", + "Par ent", + "Pa rent", + "mo z", + "m oz", + "Ma t", + "M at", + "st yles", + "style s", + "sty les", + "un den", + "und en", + "unde n", + "“ ,", + "irt schaft", + "ки м", + "к им", + "▁Fin ally", + "▁Final ly", + "ph en", + "phe n", + "p hen", + "▁P ac", + "▁Pa c", + "▁Array List", + "▁ ArrayList", + "▁re cover", + "▁rec over", + "▁e ducation", + "▁educ ation", + "mod els", + "model s", + "mode ls", + "pe d", + "p ed", + "▁h appy", + "▁ha ppy", + "▁happ y", + "ч у", + "▁guer ra", + "me dia", + "med ia", + "medi a", + "m edia", + "O F", + "▁ens ure", + "▁ ensure", + "Mar k", + "M ark", + "data base", + "dat abase", + "datab ase", + "d atabase", + "og gle", + "▁pub lish", + "▁publi sh", + "▁ publish", + "O W", + "▁B au", + "▁Ba u", + "? .", + "▁ча сти", + "▁час ти", + "▁част и", + "▁re pository", + "▁repos itory", + "▁ repository", + "▁M att", + "▁Ma tt", + "▁Mat t", + "hi gh", + "h igh", + "ov en", + "ove n", + "o ven", + "▁g er", + "▁ge r", + "▁ ger", + "▁un known", + "▁ unknown", + "Am er", + "A mer", + "▁B rown", + "▁Br own", + "▁Bro wn", + "▁Brow n", + "AL L", + "A LL", + "▁result ing", + "▁b or", + "▁bo r", + "▁ bor", + "▁po et", + "ни ми", + "ним и", + "Em ail", + "E mail", + "F ont", + "▁h ist", + "▁his t", + "▁hi st", + "▁to day", + "▁tod ay", + "▁toda y", + "▁ today", + "▁B erg", + "▁Be rg", + "▁Ber g", + "▁but tons", + "▁button s", + "та л", + "т ал", + "▁s ni", + "▁sn i", + "▁че лов", + "Cr e", + "C re", + "▁un ion", + "▁ union", + "▁z ich", + "ish op", + "i shop", + "▁qu ando", + "▁quand o", + "▁quan do", + "P o", + "CT ION", + "▁C ost", + "▁Co st", + "▁Cos t", + "▁ Cost", + "су дар", + "er ved", + "erv ed", + "erve d", + "Not e", + "No te", + "N ote", + "Equ al", + "Eq ual", + "E qual", + "ли я", + "бу р", + "б ур", + "▁ab stract", + "▁abstra ct", + "▁ abstract", + "st op", + "sto p", + "s top", + "▁ad vice", + "▁adv ice", + "▁i con", + "▁ic on", + "▁ icon", + "▁tr avel", + "▁tra vel", + "▁trav el", + "B S", + "ve ns", + "ven s", + "v ens", + "▁b atch", + "▁bat ch", + "▁ batch", + "li que", + "liqu e", + "l ique", + "she et", + "s heet", + "▁i hre", + "▁ih re", + "▁ihr e", + "em on", + "emo n", + "e mon", + "ber to", + "bert o", + "▁as signed", + "▁ass igned", + "▁assign ed", + "ь ю", + "Ph one", + "▁a ward", + "▁aw ard", + "▁function ality", + "▁functional ity", + "al la", + "all a", + "a lla", + "▁D am", + "▁Da m", + "▁ci udad", + "▁cl uster", + "▁clust er", + "▁ cluster", + "De scription", + "Des cription", + "▁s heet", + "▁she et", + "▁ sheet", + "▁Austral ian", + "▁Australia n", + "▁» .", + "▁ ».", + "▁\" <", + "▁wonder ing", + "ain e", + "ai ne", + "a ine", + "▁represent ed", + "▁repres ented", + "ka ppa", + "kap pa", + "k appa", + "n b", + "▁s y", + "▁K ö", + "=\" #", + "▁s even", + "▁se ven", + "Direct ory", + "D irectory", + "▁s ister", + "▁si ster", + "▁sist er", + "pl ates", + "plate s", + "pla tes", + "▁l uck", + "▁lu ck", + "▁luc k", + "▁rem aining", + "▁remain ing", + "▁V ill", + "▁Vi ll", + "▁Vil l", + "wer k", + "w erk", + "an ni", + "ann i", + "et ti", + "ett i", + "fun c", + "fu nc", + "f unc", + "▁b an", + "▁ba n", + "▁ ban", + "im s", + "i ms", + "mi ss", + "mis s", + "m iss", + "ag raph", + "agr aph", + "a graph", + "ек си", + "е кси", + "▁R ef", + "▁Re f", + "▁ Ref", + "ni tt", + "nit t", + "n itt", + "▁G ab", + "▁Ga b", + "▁and ere", + "▁jed och", + "result s", + "! \\", + "▁l isted", + "▁li sted", + "▁list ed", + "▁liste d", + "▁l oro", + "▁lo ro", + "▁kn ows", + "▁know s", + "ж но", + "R ad", + "▁s ocket", + "▁so cket", + "▁soc ket", + "▁ socket", + "mult i", + "mul ti", + "▁р і", + "▁ рі", + "ra ils", + "rai ls", + "r ails", + "▁t ar", + "▁ta r", + "▁ tar", + "▁gent le", + "se tt", + "set t", + "s ett", + "serv ices", + "service s", + "bo und", + "b ound", + "ig keit", + "aj a", + "a ja", + "▁c md", + "▁cm d", + "▁ cmd", + "ag ger", + "agg er", + "▁b a", + "▁ ba", + "▁Be lg", + "▁Bel g", + "▁K le", + "▁Kl e", + "▁word t", + "▁wor dt", + "▁f ost", + "▁fo st", + "▁fos t", + "▁dim ension", + "An g", + "A ng", + "um ing", + "umin g", + "umi ng", + "u ming", + "Ob j", + "не н", + "н ен", + "▁M arie", + "▁Mar ie", + "▁Ma rie", + "▁Mari e", + "▁ Marie", + "ex ists", + "exist s", + "т ро", + "▁бо ль", + "▁ боль", + "em ente", + "ement e", + "emen te", + "e mente", + "▁J on", + "▁Jo n", + "SE RT", + "SER T", + "S ERT", + "▁high est", + "ak i", + "a ki", + "▁t res", + "▁tr es", + "▁tre s", + "▁ tres", + "▁circ um", + "▁D own", + "▁Do wn", + "▁Dow n", + "▁ Down", + "om men", + "omm en", + "ur er", + "ure r", + "u rer", + "▁caus es", + "▁cause s", + "▁ca uses", + "ven ue", + "iss ance", + "▁influ ence", + "▁influen ce", + "▁f at", + "▁fa t", + "ре ди", + "ред и", + "р еди", + "}\\ \\", + "} \\\\", + "▁en tr", + "▁ent r", + "▁ entr", + "▁S ign", + "▁Si gn", + "▁Sig n", + "▁ Sign", + "▁к ла", + "▁ кла", + "▁b inding", + "▁bind ing", + "▁bin ding", + "▁ binding", + "es sen", + "ess en", + "esse n", + "▁Ф ран", + "▁L ocal", + "▁Lo cal", + "▁Loc al", + "▁ Local", + "▁я вля", + "ap pro", + "app ro", + "▁dep endencies", + "▁depend encies", + "▁ dependencies", + "▁talk ing", + "▁tal king", + "▁zur ück", + "con nection", + "connect ion", + "conne ction", + "conn ection", + "Act ive", + "Activ e", + "bb e", + "b be", + "ir ls", + "irl s", + "▁In f", + "▁ Inf", + "w d", + "▁и с", + "▁ ис", + "ro ad", + "▁con ven", + "▁conv en", + "ě t", + "ве з", + "в ез", + "▁ent ries", + "▁entr ies", + "▁ entries", + "es c", + "e sc", + "▁b its", + "▁bit s", + "▁bi ts", + "▁ bits", + "as so", + "ass o", + "W R", + "sh ips", + "ship s", + "s hips", + "▁d és", + "▁dé s", + "es p", + "e sp", + "Ma ke", + "M ake", + "▁famil iar", + "▁familia r", + "Ar t", + "A rt", + "▁ar my", + "▁arm y", + "ct r", + "c tr", + "ér ic", + "éri c", + "é ric", + "que ue", + "▁\\ {", + "▁ \\{", + "ue la", + "uel a", + "u ela", + "am iento", + "ami ento", + "ши х", + "ш их", + "▁\" \"\"", + "▁\"\" \"", + "con tr", + "cont r", + "лл е", + "л ле", + "F S", + "▁mar ket", + "▁mark et", + "▁ market", + "ån g", + "å ng", + "cite p", + "cit ep", + "Il l", + "I ll", + "ran k", + "r ank", + "▁s ender", + "▁se nder", + "▁send er", + "▁sen der", + "▁ sender", + "▁be im", + "▁bei m", + "ра к", + "▁com pat", + "▁comp at", + "▁ compat", + "▁occ urs", + "▁occur s", + "▁d iese", + "▁di ese", + "▁die se", + "▁dies e", + "сти ту", + "aw a", + "a wa", + "▁i OS", + "▁Ch inese", + "▁Chine se", + "▁T R", + "▁ TR", + "▁K en", + "▁Ke n", + "▁U ne", + "▁Un e", + "▁cre ates", + "▁create s", + "▁sh owed", + "▁show ed", + "▁sho wed", + "▁é v", + "▁ év", + "olog ia", + "olo gia", + "▁pro test", + "▁prote st", + "▁prot est", + "▁P f", + "▁s quad", + "▁squ ad", + "++ ,", + "á v", + "▁ess ere", + "з я", + "ko l", + "k ol", + "▁slight ly", + "ad dr", + "add r", + "â n", + "▁red uce", + "▁redu ce", + "▁ reduce", + "▁\\ (\\", + "▁\\( \\", + "▁D ep", + "▁De p", + "▁ Dep", + "▁gener ic", + "▁gene ric", + "▁ generic", + "Lo ader", + "Load er", + "ț i", + "▁п ос", + "▁по с", + "▁occ asion", + "▁occas ion", + "▁L ady", + "▁La dy", + "▁Lad y", + "ent ity", + "enti ty", + "▁av ant", + "▁ avant", + "▁P as", + "▁Pa s", + "ag gio", + "aggi o", + "agg io", + "\\ {", + "па д", + "athol ic", + "Pass word", + "▁res pond", + "▁resp ond", + "▁ respond", + "▁N on", + "▁No n", + "▁ Non", + "A G", + "ne g", + "n eg", + "▁у с", + "▁ ус", + "bl ob", + "blo b", + "b lob", + "ck e", + "c ke", + "▁Cons ider", + "▁C are", + "▁Car e", + "▁Ca re", + "ik i", + "i ki", + "▁Ch icago", + "in den", + "ind en", + "inde n", + "▁C op", + "▁Co p", + "] +", + "ö m", + "év rier", + "к ло", + "al en", + "ale n", + "a len", + "▁m aj", + "▁ma j", + "ra cy", + "rac y", + "r acy", + "or te", + "ort e", + "ien ts", + "ient s", + "i ents", + "el ls", + "ell s", + "act ivity", + "activ ity", + "▁r untime", + "▁run time", + "▁runt ime", + "▁ runtime", + "NU LL", + "N ULL", + "▁poss ibly", + "▁possib ly", + "▁s tri", + "▁st ri", + "▁str i", + "iz i", + "i zi", + "▁m ir", + "▁mi r", + "▁ mir", + "▁V ersion", + "▁Vers ion", + "▁ Version", + "pr ime", + "prim e", + "▁tw enty", + "▁M ah", + "▁Ma h", + "▁s ounds", + "▁sound s", + "ше н", + "ш ен", + "cl usion", + "clus ion", + "ac z", + "a cz", + "▁determ ined", + "▁determine d", + "▁determin ed", + "▁R ep", + "▁Re p", + "▁ Rep", + "▁Land es", + "▁Lan des", + "▁w all", + "▁wa ll", + "▁wal l", + "▁ wall", + "ig i", + "i gi", + "▁re set", + "▁res et", + "▁ reset", + "ш о", + "ya n", + "y an", + "Me t", + "M et", + "e i", + "▁app earance", + "▁appear ance", + "▁f ois", + "▁fo is", + "▁foi s", + "▁ fois", + "▁n ell", + "▁ne ll", + "▁nel l", + "▁ nell", + "es i", + "e si", + "ё т", + "lo or", + "l oor", + "▁U l", + "▁resol ution", + "▁f ot", + "▁fo t", + "▁through out", + "▁r i", + "▁ ri", + "Le vel", + "po ol", + "p ool", + "▁id entity", + "▁ident ity", + "▁ identity", + "▁j anu", + "▁jan u", + "▁ja nu", + "▁im per", + "▁imp er", + "▁ imper", + "▁ö ver", + "} `", + "▁in fer", + "▁inf er", + "▁d ates", + "▁da tes", + "▁dat es", + "▁date s", + "▁ dates", + "▁Stand ard", + "▁ Standard", + "for ce", + "oc key", + "ock ey", + "ter a", + "te ra", + "t era", + "▁dist ingu", + "▁pres ence", + "li ca", + "lic a", + "l ica", + "▁le aving", + "it ung", + "itu ng", + "é b", + "▁estab lish", + "▁m aar", + "▁ma ar", + "ad i", + "a di", + "▁New s", + "▁Ne ws", + "▁ News", + "az on", + "a zon", + "fo lg", + "fol g", + "f olg", + "▁H ence", + "▁Hen ce", + "▁Y e", + "▁f ab", + "▁fa b", + "▁ fab", + "▁f ühr", + "▁ führ", + "it map", + "▁V ers", + "▁Ver s", + "▁Ve rs", + "ro v", + "r ov", + "Si gn", + "S ign", + "de vice", + "dev ice", + "S igma", + "▁wet enschapp", + "▁P s", + "PA TH", + "P ATH", + "▁t orn", + "▁to rn", + "▁tor n", + "ve st", + "ves t", + "v est", + "ст ов", + "сто в", + "с тов", + "ac count", + "acc ount", + "acco unt", + "▁lar gest", + "▁large st", + "▁larg est", + "▁per cent", + "▁perce nt", + "▁ percent", + "▁W omen", + "▁Wo men", + "▁im g", + "▁ img", + "to ol", + "t ool", + "▁r oce", + "▁ro ce", + "▁a y", + "▁ ay", + "in et", + "ine t", + "i net", + "▁ao ût", + "▁pol ynomial", + "▁integr al", + "▁integra l", + "▁a reas", + "▁are as", + "▁area s", + "} '", + "▁h yp", + "▁hy p", + "loy ee", + "та ль", + "тал ь", + "т аль", + "▁pro xy", + "▁ proxy", + "▁W y", + "▁М екси", + "▁Ме кси", + "▁es cape", + "▁esc ape", + "▁ escape", + "ol ar", + "ola r", + "o lar", + "▁mis take", + "▁mist ake", + ")} {", + ") }{", + "▁P ot", + "▁Po t", + "▁process es", + "▁proc esses", + "\"> \r", + "\" >\r", + "hal ten", + "halt en", + "zz a", + "z za", + "am o", + "a mo", + "к ре", + "▁W ood", + "▁Wo od", + "ø r", + "▁с ер", + "▁се р", + "▁ сер", + "oc ia", + "oci a", + "o cia", + "tw o", + "t wo", + "pro file", + "prof ile", + "▁A st", + "▁As t", + "em bro", + "emb ro", + "▁ar ms", + "▁arm s", + "in as", + "ina s", + "i nas", + "in nen", + "inn en", + "▁m sg", + "▁ms g", + "▁ msg", + "IN T", + "I NT", + "▁b atter", + "▁batt er", + "▁bat ter", + "ign ment", + "▁v y", + "▁ vy", + "H rsg", + "▁G rund", + "▁Gr und", + "▁Gru nd", + "ro c", + "r oc", + "se g", + "s eg", + "▁de cor", + "▁dec or", + "▁ decor", + "▁event ually", + "> ,", + "▁p ag", + "▁pa g", + "▁ pag", + "an ten", + "ant en", + "ante n", + "a nten", + "▁str ugg", + "▁stru gg", + "}^ \\", + "} ^\\", + "date n", + "da ten", + "dat en", + "d aten", + "▁re la", + "▁r ela", + "▁rel a", + "по в", + "п ов", + "▁ко ро", + "▁кор о", + "▁B os", + "▁Bo s", + "▁l abor", + "▁la bor", + "▁lab or", + "▁Se cret", + "▁Sec ret", + "▁ Secret", + "ug en", + "uge n", + "u gen", + "▁j ap", + "▁ja p", + "▁hus band", + "▁Al bum", + "▁Alb um", + "▁et wa", + "▁про из", + "ri cht", + "ric ht", + "rich t", + "r icht", + "ra ch", + "rac h", + "r ach", + "ba t", + "b at", + "▁pre par", + "▁prep ar", + "▁St ock", + "▁Sto ck", + "▁l ack", + "▁la ck", + "▁lac k", + "▁ lack", + "хі д", + "х ід", + "▁h ogy", + "▁ho gy", + "▁Ch rome", + "▁Chr ome", + "▁Ad min", + "▁ Admin", + "▁com parison", + "▁compar ison", + "▁incre asing", + "н г", + "im i", + "i mi", + "D b", + "▁g ef", + "▁ge f", + "▁ gef", + "uch t", + "uc ht", + "u cht", + "és e", + "é se", + "gen ce", + "g ence", + "▁C ore", + "▁Cor e", + "▁Co re", + "▁ Core", + "▁in correct", + "▁incor rect", + "▁ass uming", + "▁assum ing", + "our se", + "ours e", + "ie ron", + "ier on", + "iero n", + "▁The orem", + "▁ Theorem", + "▁c asa", + "▁cas a", + "▁ca sa", + "je s", + "j es", + "▁д ере", + "▁де ре", + "▁` \"", + "L D", + "ä ß", + "De b", + "D eb", + "▁su iv", + "▁B ank", + "▁Ban k", + "li bs", + "lib s", + "▁Le on", + "▁Leo n", + "▁qu art", + "▁quar t", + "▁prof essional", + "▁profession al", + "▁profess ional", + "▁t iene", + "▁ti ene", + "▁tie ne", + "▁acc omp", + "▁ac comp", + "▁accom p", + "ст ер", + "сте р", + "с тер", + "▁U K", + "▁ UK", + "N N", + "▁l í", + "ц я", + "ke l", + "k el", + "▁ •", + "▁d ise", + "▁di se", + "▁dis e", + "on to", + "ont o", + "▁m á", + "if s", + "i fs", + "bi ld", + "bil d", + "b ild", + "▁comp ute", + "▁comput e", + "▁ compute", + "▁é d", + "▁ éd", + "j ę", + "▁M é", + "▁l anguages", + "▁language s", + "▁T imes", + "▁Time s", + "▁Tim es", + "▁Ti mes", + "▁ Times", + "ce n", + "c en", + "▁ав то", + "ý m", + "en ez", + "ene z", + "e nez", + "▁u pp", + "▁up p", + "▁ upp", + "▁m éd", + "▁mé d", + "▁cu ando", + "о д", + "Int ent", + "ee rd", + "e erd", + "▁T al", + "▁Ta l", + "off set", + "offs et", + "▁h aben", + "▁ha ben", + "▁hab en", + "▁habe n", + "re me", + "rem e", + "r eme", + "▁St ack", + "▁Sta ck", + "▁ Stack", + "▁d ri", + "▁dr i", + "▁ dri", + "▁sein em", + "▁seine m", + "▁sei nem", + "▁f évrier", + "▁comb ination", + "▁combin ation", + "▁s oll", + "▁so ll", + "▁sol l", + "▁mov ement", + "▁mo vement", + "▁move ment", + "Sp ec", + "Spe c", + "S pec", + "к ры", + "ret ch", + "r etch", + "Off set", + "Ro ot", + "R oot", + "А р", + "wa rt", + "war t", + "w art", + "▁F ollow", + "▁Fol low", + "▁So cial", + "▁Soci al", + "▁Soc ial", + "ни ков", + "ник ов", + "▁ →", + "Do n", + "D on", + "▁h arm", + "▁ha rm", + "▁har m", + "▁ harm", + "ag r", + "a gr", + "ne go", + "neg o", + "n ego", + "re source", + "res ource", + "▁L uc", + "▁Lu c", + "▁se inen", + "▁sein en", + "▁seine n", + "▁sei nen", + "▁De partment", + "▁Depart ment", + "▁Up date", + "▁ Update", + "▁Tex as", + "▁re ve", + "▁rev e", + "▁P os", + "▁Po s", + "▁ Pos", + "▁s hot", + "▁sh ot", + "▁sho t", + "▁ shot", + "ot he", + "oth e", + "o the", + "▁repe ated", + "▁repeat ed", + "▁rec ently", + "▁recent ly", + "áb an", + "á ban", + "ak s", + "a ks", + "па н", + "п ан", + "▁c ha", + "▁ch a", + "▁ cha", + "oh l", + "o hl", + "▁t end", + "▁te nd", + "▁ten d", + "▁д во", + "ch ts", + "cht s", + "ça ise", + "çais e", + "pl ing", + "p ling", + "al bum", + "e j", + "▁` [", + "ma ps", + "map s", + "m aps", + "▁un its", + "▁unit s", + "▁< !--", + "▁", + "St and", + "▁techn ique", + "▁techni que", + "▁E ss", + "▁Es s", + "▁Ox ford", + "▁ ла", + "t ikz", + "ли й", + "Log in", + "Lo gin", + "▁min ister", + "▁minist er", + "▁mini ster", + "▁ minister", + "▁c url", + "▁cu rl", + "▁cur l", + "▁ curl", + "ka n", + "k an", + "▁m aps", + "▁ma ps", + "▁map s", + "▁ maps", + "in da", + "ind a", + "ri eb", + "rie b", + "r ieb", + "▁E ND", + "▁EN D", + "▁ END", + "if ies", + "ifi es", + "ifie s", + "con sole", + "cons ole", + "bu ry", + "bur y", + "b ury", + "▁L E", + "▁ LE", + "▁indep end", + "▁inde pend", + "▁t a", + "▁ ta", + "▁ Ś", + "on el", + "one l", + "o nel", + "és z", + "é sz", + "▁I st", + "▁Is t", + "ut ive", + "uti ve", + "ё л", + "▁Reg ion", + "▁ Region", + "▁( =", + "▁comp act", + "ço is", + "ç ois", + "▁label s", + "▁lab els", + "▁ labels", + "autor ité", + "▁s tan", + "▁st an", + "▁sta n", + "▁ stan", + "▁fran çaise", + "▁français e", + "▁rem oving", + "▁remov ing", + "y c", + "} |", + "▁Ex ec", + "▁ Exec", + "($ _", + "( $_", + "ma g", + "m ag", + "be fore", + "▁stop ped", + "▁sto pped", + "ми и", + "▁ref resh", + "▁ refresh", + "un kt", + "unk t", + "ic io", + "ici o", + "i cio", + "X ml", + "▁T ab", + "▁Ta b", + "▁ Tab", + "▁f ounded", + "▁found ed", + "▁f al", + "▁fa l", + "▁ fal", + "f x", + "▁Histor ia", + "▁Hist oria", + "▁Ear ly", + "▁Earl y", + "Do m", + "D om", + "▁de cide", + "▁dec ide", + "▁decid e", + "▁under stood", + "▁j ur", + "▁ju r", + "▁N r", + "▁cap ac", + "wa s", + "w as", + "▁en emy", + "▁enem y", + "▁program s", + "▁m ask", + "▁ma sk", + "▁mas k", + "▁ mask", + "ск е", + "с ке", + "▁gr oupe", + "▁group e", + "ca m", + "c am", + "▁w idget", + "▁wid get", + "▁ widget", + "RE ATE", + "▁se va", + "▁Bar cel", + "▁p erd", + "▁per d", + "▁pe rd", + "▁М у", + "ran ce", + "r ance", + "TY PE", + "T YPE", + "▁{ '", + "▁ {'", + "▁b ill", + "▁bi ll", + "▁bil l", + "▁\" _", + "' `", + "ba hn", + "bah n", + "b ahn", + "▁cont ained", + "▁contain ed", + "Cl ose", + "C lose", + "ru g", + "r ug", + "eg y", + "e gy", + "▁s ight", + "▁sig ht", + "▁Pro vin", + "▁Prov in", + "н ю", + "ar z", + "a rz", + "ще н", + "щ ен", + "▁J oe", + "▁Jo e", + "▁de leted", + "▁delete d", + "▁delet ed", + "▁A uto", + "▁Aut o", + "▁Au to", + "▁ Auto", + "▁m eter", + "▁me ter", + "▁met er", + "▁ meter", + "C G", + "ъ л", + "▁p ent", + "▁pe nt", + "▁pen t", + "▁ pent", + "▁be zeichnet", + "Su m", + "S um", + "db c", + "d bc", + "▁Pl atz", + "▁Pla tz", + "▁Plat z", + "ect ors", + "ector s", + "e ctors", + "▁L ittle", + "QU E", + "Q UE", + "ці я", + "ц ія", + "те ля", + "тел я", + "nig ht", + "n ight", + "▁l l", + "▁ ll", + "▁most ly", + "UI D", + "U ID", + "▁b ez", + "▁be z", + "▁ bez", + "do b", + "d ob", + "кс и", + "к си", + "ter ne", + "tern e", + "t erne", + "▁cor ner", + "▁corn er", + "at y", + "a ty", + "▁impro ve", + "▁improv e", + "▁impr ove", + "▁in tr", + "▁int r", + "▁` @", + "ar od", + "aro d", + "a rod", + "▁install ation", + "▁instal lation", + "▁Refer ências", + "ig an", + "iga n", + "i gan", + "▁crit ic", + "ad el", + "ade l", + "a del", + "▁се ло", + ", \r", + "at ori", + "ator i", + "ato ri", + "▁F ri", + "▁Fr i", + "▁ Fri", + "▁ré férences", + "▁Int ent", + "▁ Intent", + "▁t ant", + "▁tan t", + "▁ta nt", + "un ci", + "unc i", + "▁level s", + "▁lev els", + "er es", + "ere s", + "e res", + "▁e mer", + "▁em er", + "▁ emer", + "sa fe", + "t k", + "▁c ham", + "▁ch am", + "▁cha m", + "▁great ly", + "▁we it", + "▁ weit", + "▁co ach", + "▁to ward", + "Hom e", + "H ome", + "▁Bo olean", + "▁ Boolean", + "те л", + "т ел", + "▁m ock", + "▁mo ck", + "▁ mock", + "▁appreci ate", + "▁C ross", + "▁Cr oss", + "▁Cro ss", + "▁T ake", + "▁Ta ke", + "▁Tak e", + "▁ Take", + "D P", + "▁s ides", + "▁si des", + "▁side s", + "▁sid es", + "▁Norm daten", + "де й", + "д ей", + "st al", + "sta l", + "s tal", + "▁c out", + "▁co ut", + "▁cou t", + "▁ cout", + "b n", + "▁V ert", + "▁Ver t", + "▁Ve rt", + "▁ Vert", + "▁b ird", + "▁bi rd", + "▁bir d", + "▁ bird", + "▁dynam ically", + "▁dynamic ally", + "▁D ol", + "▁Do l", + "▁B urg", + "▁Bu rg", + "▁Bur g", + "▁d og", + "▁do g", + "▁ dog", + "ät t", + "ä tt", + "▁n uc", + "▁nu c", + "E C", + "By tes", + "Byte s", + "▁a k", + "▁ ak", + "re land", + "rel and", + "r eland", + "▁gu itar", + "▁reg arding", + "▁regard ing", + "▁F uß", + "▁Fu ß", + "▁до л", + "▁ дол", + "au ss", + "aus s", + "a uss", + "▁j ej", + "▁je j", + "ac o", + "a co", + "▁up dates", + "▁update s", + "▁upd ates", + "ру к", + "р ук", + "(' /", + "▁c old", + "▁col d", + "▁co ld", + "▁G iven", + "▁Gi ven", + "▁Give n", + "hi n", + "h in", + "▁fe eling", + "▁feel ing", + "▁fee ling", + "ig li", + "fa h", + "f ah", + "ст ре", + "стр е", + "с тре", + "bo ol", + "b ool", + "init ial", + "▁станов ника", + "▁An na", + "▁Ann a", + "▁h ors", + "▁hor s", + "▁ho rs", + "▁d oll", + "▁do ll", + "▁dol l", + "▁con sum", + "▁cons um", + "▁ consum", + "ub er", + "ube r", + "u ber", + "stand ing", + "stan ding", + "act iv", + "з і", + "check ed", + "▁perm issions", + "▁permission s", + "▁M onte", + "▁Mon te", + "▁Mont e", + "Write Line", + "pl us", + "p lus", + "▁E qu", + "▁Eq u", + "▁ Equ", + "▁и х", + "▁ их", + "ч ки", + "un que", + "▁L O", + "▁ LO", + "e a", + "sam ple", + "s ample", + "ie sz", + "ies z", + "i esz", + "or al", + "ora l", + "o ral", + "▁И н", + "os ton", + "ost on", + "osto n", + "o ston", + "▁S imon", + "▁Sim on", + "▁Si mon", + "fa st", + "fas t", + "f ast", + "m k", + "as sen", + "ass en", + "asse n", + "▁arch itecture", + "▁architect ure", + "▁ architecture", + "ens es", + "ense s", + "▁ Å", + "▁to pic", + "▁top ic", + "▁ topic", + "▁dis able", + "▁ disable", + "▁C ru", + "▁Cr u", + "▁Cont rol", + "▁ Control", + "▁cre ation", + "▁hy per", + "▁hyp er", + "▁ hyper", + "it ud", + "itu d", + "же ния", + "ar am", + "ara m", + "a ram", + "▁г де", + "ien st", + "iens t", + "i enst", + "ed ule", + "edu le", + "▁B ot", + "▁Bo t", + "▁О с", + "▁The ir", + "an ne", + "ann e", + "M icrosoft", + "▁P M", + "▁ PM", + "yd ro", + "y dro", + "ent lich", + "▁E ine", + "▁Ein e", + "CH AR", + ": '", + "We ll", + "Wel l", + "W ell", + "le ton", + "let on", + "l eton", + "▁support s", + "▁sup ports", + "'] )", + "' ])", + "man ual", + "▁v ice", + "▁vi ce", + "▁vic e", + "▁ vice", + "as a", + "a sa", + "cl os", + "clo s", + "c los", + "vi sed", + "vis ed", + "v ised", + "▁p ok", + "▁po k", + "tr ack", + "tra ck", + "t rack", + "но ст", + "нос т", + "... .....", + ".... ....", + "..... ...", + "▁' \\", + "▁ '\\", + "² .", + "▁or ders", + "▁order s", + "▁ord ers", + "▁ orders", + "et ta", + "ett a", + "e tta", + "▁con version", + "▁conv ersion", + "▁convers ion", + "▁t rade", + "▁tr ade", + "▁tra de", + "▁trad e", + "cl i", + "c li", + "▁И сто", + "▁Ис то", + "▁a kt", + "▁ak t", + "▁ akt", + "▁sub set", + "▁subs et", + "▁ subset", + "▁a ug", + "▁au g", + "▁ aug", + "▁le aves", + "▁leave s", + "Mat h", + "Ma th", + "M ath", + "an ned", + "ann ed", + "anne d", + "ka l", + "k al", + "▁Ве ли", + "▁n og", + "▁no g", + "▁ nog", + "▁e th", + "▁et h", + "▁ eth", + "▁h air", + "▁ha ir", + "ar ound", + "aro und", + "a round", + "▁java x", + "▁jav ax", + "▁ javax", + "во й", + "▁C entre", + "▁Cent re", + "ö ß", + "ut i", + "u ti", + "▁n avigation", + "▁navig ation", + "▁ navigation", + "▁P S", + "▁ PS", + "▁w a", + "▁ wa", + "▁Ро ссии", + "▁Рос сии", + "▁Росси и", + "us a", + "u sa", + "ze ta", + "zet a", + "z eta", + "▁P DF", + "▁ PDF", + "▁m ismo", + "▁mis mo", + "▁mism o", + "pro perties", + "me ister", + "ль та", + "for ward", + "▁O st", + "▁Os t", + "ki ns", + "kin s", + "k ins", + "▁s ido", + "▁si do", + "▁sid o", + "зо в", + "з ов", + "ta gs", + "tag s", + "t ags", + "▁a ctor", + "▁act or", + "▁ac tor", + "▁ actor", + "▁f ly", + "▁fl y", + "▁ fly", + "C R", + "ag ini", + "agi ni", + "agin i", + "▁l ett", + "▁le tt", + "▁let t", + "▁ lett", + "en i", + "e ni", + "te ch", + "t ech", + "▁E nc", + "▁En c", + "▁ Enc", + "or acle", + "ora cle", + "o racle", + "amil ton", + "ze j", + "z ej", + "fe n", + "f en", + "ume rate", + "umer ate", + "▁qu esto", + "▁que sto", + "▁q uesto", + "▁quest o", + "da rt", + "dar t", + "d art", + "▁K ore", + "▁Ko re", + "▁Kor e", + "ap is", + "api s", + "a pis", + "ep er", + "e per", + "Sc reen", + "S creen", + "wa ll", + "wal l", + "w all", + "▁is land", + "sh e", + "s he", + "▁l igger", + "▁lig ger", + "в ся", + "fa ng", + "fan g", + "f ang", + "▁t ard", + "▁tar d", + "▁ta rd", + "▁pla ats", + "▁п ло", + "▁ пло", + "▁Off ice", + "▁Offic e", + "▁ Office", + "▁S ET", + "▁SE T", + "▁ SET", + "▁circ uit", + "je d", + "j ed", + "Sa ve", + "S ave", + "ль но", + "So cket", + "S ocket", + "▁In dex", + "▁Ind ex", + "▁ Index", + "AC K", + "A CK", + "id ers", + "ide rs", + "ider s", + "i ders", + "er er", + "ere r", + "e rer", + "▁С ША", + "▁l ady", + "▁la dy", + "▁lad y", + "▁sch eme", + "▁sche me", + "ie lle", + "iel le", + "i elle", + "▁ex erc", + "▁exer c", + ")} \\", + ") }\\", + "Date Time", + "at han", + "ath an", + "a than", + "▁Prof essor", + "▁mo ins", + "▁moi ns", + "▁Ex cel", + "▁ Excel", + "▁H ay", + "▁Ha y", + "▁Mus ik", + "▁ ї", + "ę d", + "▁\" .", + "▁ \".", + "▁бу в", + "▁inst rument", + "▁instru ment", + "па р", + "п ар", + "▁б ере", + "▁бе ре", + "▁ бере", + "▁polit ique", + "▁trad ition", + "▁V M", + "▁ VM", + "▁Ar ts", + "▁Art s", + "▁C i", + "Us e", + "U se", + "▁a ggreg", + "▁ag greg", + "▁ aggreg", + "▁we eks", + "▁week s", + "▁o pport", + "▁op port", + "▁opp ort", + "it ing", + "iti ng", + "i ting", + "▁vert ical", + "▁ vertical", + "▁N az", + "▁Na z", + ".. .)", + "... )", + "iz o", + "i zo", + "▁c ycle", + "▁cy cle", + "▁cycl e", + "▁ cycle", + "▁tem po", + "▁temp o", + "т ре", + "▁hand ling", + "ist ence", + "isten ce", + "▁p aste", + "▁pas te", + "▁pa ste", + "▁past e", + "▁ paste", + "▁en jo", + "RO UP", + "▁o uter", + "▁out er", + "▁ou ter", + "▁ outer", + "▁su pply", + "▁supp ly", + "▁sup ply", + "em an", + "ema n", + "e man", + "▁acc ident", + "▁\\ ]", + "▁ \\]", + "▁те х", + "▁ тех", + "Po ol", + "P ool", + "ot ing", + "oti ng", + "o ting", + "onym ous", + "▁Gi ov", + "▁u d", + "▁ ud", + "▁. /", + "▁ ./", + "ER ROR", + "ERR OR", + "con struct", + "const ruct", + "text width", + "qu ipe", + "qui pe", + "quip e", + "case s", + "cas es", + "c ases", + "▁а д", + "▁R ow", + "▁Ro w", + "▁ Row", + "Hol der", + "Hold er", + "H older", + "wa n", + "w an", + "ar na", + "arn a", + "Me m", + "M em", + "▁Canad ian", + "▁Com mission", + "▁Comm ission", + "su n", + "s un", + "▁app s", + "▁ap ps", + "▁ apps", + "▁B lo", + "▁Bl o", + "▁i hrer", + "▁ih rer", + "▁ihr er", + "▁ihre r", + "▁famil le", + "▁fam ille", + "▁m ě", + "▁p y", + "▁ py", + "и с", + "▁т ого", + "▁то го", + "▁ того", + "▁Ag ain", + "▁ign ore", + "▁ignor e", + "▁ ignore", + "▁tele vision", + "▁televis ion", + "Pa t", + "P at", + "hi de", + "h ide", + "▁R ev", + "▁Re v", + "▁b ear", + "▁be ar", + "ph y", + "p hy", + "▁no ise", + "▁w ra", + "▁wr a", + "at ionale", + "ation ale", + "ational e", + "▁coll abor", + "bor der", + "b order", + "▁el ected", + "▁elect ed", + "▁ele cted", + "▁sur pr", + "▁a voir", + "▁av oir", + "▁avo ir", + "▁ avoir", + "▁ass embly", + "▁assemb ly", + "▁ assembly", + "▁об ще", + "▁arbitr ary", + "▁br ief", + "▁- --", + "▁-- -", + "▁ ---", + "▁M aur", + "▁Ma ur", + "▁Mau r", + "gr ession", + "gress ion", + "g ression", + "ic ia", + "ici a", + "i cia", + "▁lie gt", + "▁Fig ure", + "▁on to", + "▁ont o", + "▁ onto", + "Re pository", + "Repos itory", + "▁dé f", + "▁f orth", + "▁for th", + "▁fort h", + "▁cl icked", + "▁click ed", + "se ite", + "▁n otes", + "▁not es", + "▁no tes", + "▁note s", + "▁ notes", + "nat ive", + "n ative", + "▁ED IT", + "▁ EDIT", + "ы е", + "M T", + "am ental", + "ament al", + "amen tal", + "▁r ose", + "▁ro se", + "▁ros e", + "▁ rose", + "▁pu ede", + "▁pue de", + "De legate", + "Deleg ate", + "ub a", + "u ba", + "ne o", + "xi s", + "x is", + "▁Ar thur", + "UR E", + "U RE", + "am ing", + "ami ng", + "amin g", + "a ming", + "De vice", + "Dev ice", + "▁d iam", + "▁di am", + "▁dia m", + "st änd", + "▁p ron", + "▁pro n", + "▁pr on", + "oi s", + "o is", + "com ing", + "co ming", + "c oming", + "Param eters", + "Parameter s", + "uv ud", + "▁ab ility", + "▁ ability", + "▁m ét", + "▁mé t", + "▁Un fortunately", + "f d", + "D ictionary", + "so cket", + "sock et", + "s ocket", + "▁con oc", + "▁co noc", + "cont ains", + "es sed", + "ess ed", + "esse d", + "▁gel dig", + "▁geld ig", + "ни ца", + "ниц а", + "▁point ed", + "es ti", + "est i", + "no m", + "n om", + "ографи я", + "▁represent s", + "▁repres ents", + "▁man ip", + "wor ld", + "w orld", + "▁resol ved", + "▁resolve d", + "te gr", + "t egr", + "▁d ort", + "▁do rt", + "▁dor t", + "as tern", + "ast ern", + "aster n", + "aste rn", + "▁camp aign", + "▁pr imo", + "▁prim o", + "▁pri mo", + "▁; ;", + "▁ ;;", + "▁sni ppet", + "▁N ik", + "▁Ni k", + "To tal", + "T otal", + "iss ement", + "isse ment", + "AC E", + "A CE", + "▁ver ify", + "▁ verify", + "if fe", + "iff e", + "i ffe", + "la gen", + "lag en", + "lage n", + "l agen", + "ie ur", + "ieu r", + "i eur", + "▁convert ed", + "▁conver ted", + "▁Mil it", + "▁Mi lit", + "▁A lg", + "▁Al g", + "▁ Alg", + "▁R on", + "▁Ro n", + "▁k onn", + "▁kon n", + "▁ko nn", + "ap ple", + "app le", + "▁dis pos", + "▁disp os", + "stell ung", + "▁re tain", + "▁ret ain", + "▁m entre", + "▁men tre", + "▁ment re", + "▁ne ut", + "▁neu t", + "▁ neut", + "▁N ight", + "ch é", + "c hé", + "at ti", + "att i", + "▁o bra", + "▁ob ra", + "▁super ior", + "▁Con gress", + "▁Cong ress", + "ё м", + "▁c odes", + "▁code s", + "▁co des", + "▁cod es", + "▁ codes", + "▁A ma", + "▁Am a", + "▁E arth", + "▁Ear th", + "▁oppos ite", + "▁p ool", + "▁po ol", + "▁ pool", + "▁D un", + "▁Du n", + "же ние", + "▁\" ${", + "▁\"$ {", + "in v", + "▁у ни", + "▁And rew", + "▁Andre w", + "те лей", + "тел ей", + "▁by ł", + "Un ivers", + "Uni vers", + "▁Ang ular", + "an im", + "ani m", + "a nim", + "до ва", + "дов а", + "д ова", + "BU G", + "B UG", + "ut ely", + "ute ly", + "▁draw ing", + "▁dra wing", + "▁g ain", + "▁ga in", + "▁four th", + "▁Pro blem", + "▁ Problem", + "▁sudden ly", + "▁ Ä", + "on na", + "onn a", + "▁K ont", + "▁Kon t", + "▁Ko nt", + "▁Bilder n", + "▁Bild ern", + "▁Bil dern", + "▁konn te", + "ž e", + "Tr ace", + "Tra ce", + "T race", + "▁sec ure", + "▁ secure", + "▁któ ry", + "▁e q", + "▁ eq", + "▁f ormal", + "▁for mal", + "▁form al", + "▁forma l", + "amer ikan", + "▁A nal", + "▁An al", + "▁Ana l", + "▁ Anal", + "▁R ewrite", + "▁Re write", + "▁D ouble", + "▁Dou ble", + "▁ Double", + "cre ated", + "create d", + "N U", + "MD b", + "M Db", + "ap es", + "ape s", + "a pes", + "Un is", + "Uni s", + "U nis", + "▁e special", + "▁espe cial", + "▁espec ial", + "}) \\", + "} )\\", + "ed om", + "edo m", + "e dom", + "▁c ategor", + "▁categ or", + "Re turn", + "Ret urn", + "▁H amb", + "▁Ha mb", + "▁Ham b", + "▁R io", + "▁Ri o", + "▁M ir", + "▁Mi r", + "▁G eme", + "▁Ge me", + "▁Gem e", + "ab ilities", + "abil ities", + "tr z", + "t rz", + "us et", + "use t", + "u set", + "ier ra", + "net work", + "n etwork", + "▁do ctor", + "▁doc tor", + "eur s", + "eu rs", + "e urs", + "▁l isten", + "▁li sten", + "▁list en", + "▁liste n", + "▁ listen", + "д ж", + "▁H ö", + "▁cons ists", + "▁consist s", + "as m", + "a sm", + "Ch r", + "C hr", + "al and", + "ala nd", + "a land", + "▁испо ль", + "▁ис поль", + "▁испол ь", + "▁lug ar", + "▁lu gar", + "▁def initely", + "▁definit ely", + "▁definite ly", + "mo ve", + "mov e", + "m ove", + "úblic a", + "ú blica", + "▁l än", + "▁lä n", + "is mus", + "ism us", + "▁др жа", + "▁d t", + "▁ dt", + "▁Per haps", + "▁Bra sil", + "▁Bras il", + "Jo hn", + "J ohn", + "▁prom ise", + "ł u", + "re ens", + "ree ns", + "reen s", + "▁ps ych", + "▁W ho", + "▁Wh o", + "▁ Who", + "ря д", + "▁IN TO", + "▁INT O", + "▁Pe ople", + "▁Will iams", + "▁William s", + "▁M arg", + "▁Mar g", + "▁Ma rg", + "▁д ан", + "▁да н", + "▁ дан", + "re cord", + "rec ord", + "▁E uro", + "▁Eu ro", + "▁Eur o", + "▁Virgin ia", + "▁R est", + "▁Re st", + "▁Res t", + "▁ Rest", + "▁C orn", + "▁Cor n", + "▁Co rn", + "}} ,", + "} },", + "▁G rid", + "▁Gr id", + "▁ Grid", + "▁in ject", + "▁inj ect", + "▁ inject", + "на н", + "н ан", + "▁c row", + "▁cr ow", + "▁cro w", + "▁Ph ys", + "▁ Phys", + "▁D O", + "▁ DO", + "▁\" -", + "▁incre ased", + "▁increase d", + "ach er", + "ac her", + "ache r", + "a cher", + "pe at", + "Li n", + "L in", + "▁D ub", + "▁Du b", + "ri ces", + "ric es", + "rice s", + "r ices", + "ag nost", + "agn ost", + "d l", + "▁cur ve", + "▁curv e", + "ü g", + "ri ce", + "ric e", + "r ice", + "l anguage", + "Click Listener", + "▁municip al", + "▁O ri", + "▁Or i", + "▁ Ori", + "▁B ild", + "▁Bi ld", + "▁Bil d", + "▁C ab", + "▁Ca b", + "▁V ar", + "▁Va r", + "▁ Var", + "▁n oted", + "▁not ed", + "▁no ted", + "▁note d", + "▁ Î", + "▁s ubs", + "▁su bs", + "▁sub s", + "ia tion", + "iat ion", + "i ation", + "W OR", + "in gly", + "ing ly", + "▁R us", + "▁Ru s", + "ie ns", + "ien s", + "i ens", + "IN FO", + "INF O", + "к ва", + "at ivo", + "ativ o", + "ati vo", + "ge nde", + "gen de", + "g ende", + "▁Fran z", + "▁Fr anz", + "▁is ol", + "▁i sol", + "ed es", + "ede s", + "e des", + "ni er", + "nie r", + "n ier", + "▁N O", + "▁ NO", + "▁H as", + "▁Ha s", + "▁ Has", + "be ans", + "bean s", + "▁p andas", + "▁pan das", + "▁ pandas", + "(\" %", + "ві т", + "ут бо", + "▁g ather", + "▁ga ther", + "▁gat her", + "▁le gal", + "▁leg al", + "▁ legal", + "in clud", + "▁circum st", + "cript or", + "ri ble", + "rib le", + "r ible", + "▁S üd", + "▁Sü d", + "▁a pro", + "▁ap ro", + "▁apr o", + "Ap i", + "A pi", + "▁на й", + "▁Afr ican", + "▁Africa n", + "ow ski", + "ows ki", + "▁John son", + "ie k", + "i ek", + "▁v ote", + "▁vo te", + "▁vot e", + "▁ vote", + "▁K an", + "▁Ka n", + "▁b ibli", + "▁bib li", + "▁ bibli", + "▁h aar", + "▁ha ar", + "▁v r", + "▁ vr", + "]) ,", + "] ),", + "subset eq", + "Par ser", + "Parse r", + "ia ni", + "ian i", + "i ani", + "is é", + "id ea", + "ide a", + "On ly", + "▁á l", + "▁ ál", + "▁C atal", + "▁Ca tal", + "▁Cat al", + "▁C ase", + "▁Cas e", + "▁Ca se", + "▁ Case", + "se h", + "s eh", + "▁en counter", + "▁enc ounter", + "▁re form", + "▁ref orm", + "ми ни", + "мин и", + "▁S tre", + "▁St re", + "▁Str e", + "ex ception", + "except ion", + "▁T ar", + "▁Ta r", + "та р", + "т ар", + "tr l", + "t rl", + "▁А лександ", + "ле кт", + "лек т", + "equ al", + "eq ual", + "e qual", + "O p", + "▁l if", + "▁li f", + "▁й ого", + "▁volt age", + "▁volta ge", + "sh ire", + "s hire", + "▁Gro ß", + "в ня", + "ning s", + "n ings", + "н ци", + "▁l ag", + "▁la g", + "▁ lag", + "▁and eren", + "▁andere n", + "▁v ac", + "▁va c", + "▁ma cro", + "▁mac ro", + "▁ macro", + "= [", + "Th en", + "The n", + "T hen", + "▁control s", + "▁contr ols", + "▁contro ls", + "▁ controls", + "se q", + "s eq", + "olog ies", + "ologie s", + "▁select or", + "▁sel ector", + "▁sele ctor", + "▁ selector", + "▁Украї ни", + "хів овано", + "ы й", + "allen ge", + "alleng e", + "▁I MDb", + "▁IM Db", + "um my", + "umm y", + "ye n", + "y en", + "▁b este", + "▁be ste", + "▁best e", + "▁bes te", + "▁B ox", + "▁Bo x", + "▁ Box", + "▁ch air", + "▁cha ir", + "▁S ab", + "▁Sa b", + "er de", + "erd e", + "▁n ast", + "▁na st", + "▁nas t", + "iv amente", + "iva mente", + "▁об ъ", + "▁require ments", + "▁requirement s", + "▁me eting", + "▁meet ing", + "▁fin an", + "▁fi nan", + "▁A dam", + "▁Ad am", + "▁Ada m", + "▁tele vis", + "▁b right", + "▁br ight", + "▁brig ht", + "▁G it", + "▁Gi t", + "▁ Git", + "E G", + "▁G il", + "▁Gi l", + "r ès", + "▁C ond", + "▁Con d", + "▁Co nd", + "▁ Cond", + "▁f t", + "▁ ft", + "▁бу ло", + "- +", + "EN D", + "E ND", + "er ne", + "ern e", + "▁Com put", + "▁Comp ut", + "▁ Comput", + "▁i ls", + "▁il s", + "▁ ils", + "▁g all", + "▁gal l", + "▁ga ll", + "▁c sv", + "▁cs v", + "▁ csv", + "łu g", + "ł ug", + "▁sum mer", + "▁summ er", + "ga me", + "g ame", + "▁pos ts", + "▁post s", + "▁ posts", + "Ар хівовано", + "▁z ij", + "▁de termin", + "▁determ in", + "▁ab andon", + "co unter", + "count er", + "c ounter", + "▁require ment", + "▁requ irement", + "▁T it", + "▁Ti t", + "irt ual", + "▁V ideos", + "▁Video s", + "▁qu iet", + "▁qui et", + "▁T erm", + "▁Te rm", + "▁Ter m", + "▁ Term", + "▁time out", + "▁ timeout", + "Pr int", + "▁in vent", + "▁inv ent", + "▁inve nt", + "la is", + "l ais", + "▁mon itor", + "ha lb", + "hal b", + "▁W ild", + "▁Wil d", + "▁Wi ld", + "▁le ader", + "▁lead er", + "▁с ель", + "▁се ль", + "▁util iz", + "▁par ents", + "▁parent s", + "▁for ced", + "▁force d", + "▁pro ved", + "▁pr oved", + "▁prov ed", + "▁prove d", + "▁effect ive", + "▁l lam", + "▁ll am", + "▁С по", + "or b", + "o rb", + "gg i", + "g gi", + "▁ass umption", + "▁assum ption", + "▁su bm", + "▁sub m", + "▁в ій", + "▁ві й", + "il ia", + "ili a", + "i lia", + "▁re verse", + "▁revers e", + "▁rever se", + "▁ reverse", + "' \"", + "▁qu otes", + "▁quot es", + "▁quote s", + "▁s ites", + "▁si tes", + "▁site s", + "▁sit es", + "▁ sites", + "ig ung", + "igu ng", + "▁A rg", + "▁Ar g", + "▁ Arg", + "D ouble", + "▁s creens", + "▁sc reens", + "▁screen s", + "▁cl ause", + "▁cla use", + "▁b undle", + "▁bund le", + "▁ bundle", + "▁phil osoph", + "▁N um", + "▁Nu m", + "▁ Num", + "▁g leich", + "▁gle ich", + "▁ gleich", + "ul y", + "u ly", + "dir ect", + "di rect", + "dire ct", + "d irect", + "asket ball", + "ow any", + "owa ny", + "owan y", + "\\} $", + "\\ }$", + "▁rad ius", + "▁radi us", + "▁ radius", + "▁S earch", + "▁Se arch", + "▁ Search", + "Pro perties", + "▁e lev", + "▁el ev", + "▁ele v", + "▁p rod", + "▁pro d", + "▁pr od", + "▁ prod", + "▁\" %", + "is ión", + "isi ón", + "De bug", + "Deb ug", + "Se cond", + "Sec ond", + "( !", + "▁C atholic", + "ро ван", + "ров ан", + "рова н", + "р ован", + "le z", + "l ez", + "P a", + "ps on", + "p son", + "▁er ste", + "▁erst e", + "▁ers te", + "▁F u", + "▁l it", + "▁li t", + "▁ lit", + "▁S aison", + "▁Sa ison", + "▁H ash", + "▁Ha sh", + "▁Has h", + "▁ Hash", + "▁ex em", + "▁пред став", + ") *", + "▁e u", + "▁ eu", + "▁ │", + "▁g ab", + "▁ga b", + "eta iled", + "Co py", + "C opy", + "▁д ва", + "ev en", + "e ven", + "K ind", + "▁Jack son", + "а л", + "▁con sec", + "▁cons ec", + "▁conse c", + "US ER", + "USE R", + "U SER", + "▁T ok", + "▁To k", + "( .", + "▁$ |", + "▁T amb", + "▁Ta mb", + "▁Tam b", + "▁Lem ma", + "ha ng", + "han g", + "h ang", + "▁cont ribution", + "▁contrib ution", + "▁contribu tion", + "roll ers", + "rol lers", + "roller s", + "rolle rs", + "▁stud ies", + "▁studi es", + "▁p oi", + "▁po i", + "ge ms", + "gem s", + "g ems", + "▁U P", + "▁ UP", + "▁W ol", + "▁Wo l", + "> \"", + "▁f loor", + "▁fl oor", + "▁flo or", + "▁ floor", + "▁init ialize", + "▁initial ize", + "▁ initialize", + "▁L ew", + "▁Le w", + "ze k", + "z ek", + "ar te", + "art e", + "▁pos itions", + "▁position s", + "▁posit ions", + "▁por tion", + "▁port ion", + "co ver", + "cov er", + "c over", + "w p", + "ов ого", + "ово го", + "о вого", + "▁p iano", + "▁pi ano", + "▁pian o", + "▁pia no", + "▁m etal", + "▁me tal", + "▁met al", + "▁meta l", + "▁s amples", + "▁sam ples", + "▁sample s", + "▁ samples", + "▁С ан", + "▁Са н", + "vari able", + "▁ста ть", + "▁inte gers", + "▁integer s", + "Wh ere", + "W here", + "famil y", + "▁n un", + "▁nu n", + "▁in crement", + "▁incre ment", + "▁ increment", + "ix ed", + "▁he eft", + "ft e", + "f te", + "▁v il", + "▁vi l", + "▁ vil", + "▁ot ros", + "▁otro s", + "Mult imedia", + "Multi media", + "▁Hen ri", + "ad ed", + "ade d", + "a ded", + "ге н", + "г ен", + "▁cap it", + "▁ca pit", + "▁други х", + "is p", + "i sp", + "IT Y", + "I TY", + "▁constraint s", + "▁K irche", + "▁Kir che", + "▁Kirch e", + "fo und", + "f ound", + "ши й", + "▁p ic", + "▁pi c", + "▁ pic", + "▁t ou", + "▁to u", + "cre d", + "cr ed", + "c red", + "ро б", + "р об", + "▁M ess", + "▁Me ss", + "▁Mes s", + "▁ Mess", + "Jo b", + "J ob", + "▁M ais", + "▁Ma is", + "▁Mai s", + "▁st yles", + "▁style s", + "▁sty les", + "▁ styles", + "fa ll", + "fal l", + "f all", + "▁U k", + "▁st reet", + "▁stre et", + "▁ street", + "oc cer", + "occ er", + "es en", + "ese n", + "e sen", + "▁col ors", + "▁color s", + "▁ colors", + "ce an", + "ю ще", + "con ne", + "conn e", + "c onne", + "▁r atio", + "▁rat io", + "an ton", + "ant on", + "anto n", + "▁F el", + "▁Fe l", + "▁custom er", + "▁cust omer", + "▁ customer", + "▁P rix", + "▁Pr ix", + "▁Pri x", + "rá s", + "r ás", + "pr ed", + "pre d", + "p red", + "▁elect ron", + "▁electro n", + "s ym", + "▁ве ли", + "▁ вели", + "▁over flow", + "▁ overflow", + "▁$ [", + "▁P OST", + "▁PO ST", + "▁ POST", + "▁C in", + "▁Ci n", + "sc heid", + "sche id", + "(\" /", + "( \"/", + "▁search ing", + "▁pur poses", + "▁purpose s", + "▁arr ived", + "▁arriv ed", + "▁arrive d", + "▁p unt", + "▁pu nt", + "▁pun t", + "▁l ad", + "▁la d", + "▁ lad", + "P ython", + "▁le ads", + "▁lead s", + "▁s and", + "▁sa nd", + "▁san d", + "па да", + "пад а", + "▁comm unes", + "▁commun es", + "▁commune s", + "▁CH AP", + "▁c aso", + "▁cas o", + "▁ca so", + "r z", + "▁d w", + "▁ dw", + "ac a", + "a ca", + "▁Col umb", + "child ren", + "ê t", + "sch emas", + "sche mas", + "schema s", + "▁instru ctions", + "▁instruction s", + "▁instruct ions", + "▁- \\", + "▁ -\\", + "▁Is rael", + "▁Isra el", + "no ści", + "▁об раз", + "▁обра з", + "▁ образ", + "▁со вет", + "▁сов ет", + "▁imm agini", + "▁F red", + "▁Fre d", + "▁Fr ed", + "▁G lobal", + "▁Glo bal", + "▁ Global", + "▁th ick", + "▁ thick", + "▁fue ron", + "▁fuer on", + "▁th rown", + "▁thr own", + "▁throw n", + "▁thro wn", + "▁c lock", + "▁cl ock", + "▁clo ck", + "▁ clock", + "en able", + "ena ble", + "'' '", + "' ''", + "▁S und", + "▁Su nd", + "▁Sun d", + "▁cont empor", + "an swer", + "ans wer", + "▁man ufact", + "▁i o", + "▁ io", + "q quad", + "OU T", + "O UT", + "▁L ab", + "▁La b", + "▁ Lab", + "▁Z w", + "le gal", + "leg al", + "▁V el", + "▁Ve l", + "▁ra ise", + "▁ raise", + "▁de liver", + "▁del iver", + "▁deli ver", + "▁V oir", + "▁Vo ir", + "▁ass umed", + "▁assum ed", + "▁assume d", + "Le t", + "L et", + "ier ten", + "iert en", + "ierte n", + "i erten", + "▁K ong", + "▁Kon g", + "▁Ko ng", + "▁E xp", + "▁Ex p", + "▁ Exp", + "▁J ug", + "▁Ju g", + "▁dec laration", + "▁declar ation", + "▁F ish", + "m é", + "▁spe ech", + "▁t ent", + "▁te nt", + "▁ten t", + "▁R oute", + "▁Ro ute", + "▁Rou te", + "▁Rout e", + "▁ Route", + "__ (", + "_ _(", + "▁ré alis", + "▁réal is", + "▁De sign", + "▁Des ign", + "set Text", + "▁St ation", + "▁Stat ion", + "▁Sta tion", + "▁Stati on", + "▁ Station", + "ar chy", + "arch y", + "arc hy", + "▁ка то", + "▁d ent", + "▁de nt", + "▁den t", + "▁ dent", + "▁K l", + "i ß", + "▁r isk", + "▁ris k", + "▁ri sk", + "▁B road", + "▁Bro ad", + "▁v ectors", + "▁ve ctors", + "▁vector s", + "▁S pec", + "▁Sp ec", + "▁Spe c", + "▁ Spec", + "▁ro utes", + "▁route s", + "▁rout es", + "▁rou tes", + "▁ routes", + "ym n", + "y mn", + "▁G reg", + "▁Gr eg", + "▁Gre g", + "▁полу чи", + "gi e", + "g ie", + "OR M", + "ве де", + "вед е", + "в еде", + "wa lt", + "wal t", + "w alt", + "▁e fter", + "P tr", + "▁su bt", + "▁sub t", + "▁b irth", + "▁bir th", + "▁dr awn", + "▁draw n", + "▁dra wn", + "me ss", + "mes s", + "m ess", + "мери кан", + "V E", + "▁P ut", + "▁Pu t", + "▁ Put", + "▁a sc", + "▁as c", + "▁ asc", + "▁f eder", + "▁fe der", + "▁fed er", + "с ли", + "▁P rin", + "▁Pr in", + "▁Pri n", + "▁s tick", + "▁st ick", + "re set", + "res et", + "y k", + "st udio", + "stud io", + "▁St ill", + "Con st", + "Cons t", + "ac ió", + "aci ó", + "a ció", + "▁Portug al", + "▁script s", + "▁scri pts", + "▁ scripts", + "und ial", + "▁l ives", + "▁li ves", + "▁live s", + "▁liv es", + "▁s zer", + "▁sz er", + "▁sze r", + "▁est ado", + "▁esta do", + "▁estad o", + "fo lder", + "fol der", + "fold er", + "f older", + "▁communic ation", + "Ro ute", + "Rout e", + "R oute", + "▁sw ift", + "▁ swift", + "те н", + "т ен", + "▁k ill", + "▁kil l", + "▁ki ll", + "▁ kill", + "▁P R", + "▁ PR", + "jo int", + "join t", + "j oint", + "▁ob jective", + "▁object ive", + "▁comp licated", + "▁Ü ber", + "es h", + "e sh", + "p icture", + "ra ine", + "rain e", + "rai ne", + "r aine", + "com put", + "comp ut", + "▁pro port", + "▁pr oport", + "▁prop ort", + "▁propor t", + "og s", + "o gs", + "ül t", + "ü lt", + "▁quant um", + "к ри", + "▁s op", + "▁so p", + "▁lo ops", + "▁loop s", + "▁Re ference", + "▁Refer ence", + "▁ Reference", + "▁n ei", + "▁ne i", + "IC E", + "I CE", + "▁v erm", + "▁ver m", + "▁ve rm", + "▁a dj", + "▁ad j", + "▁ adj", + "▁per ò", + "▁t rou", + "▁tr ou", + "▁tro u", + "is ions", + "ision s", + "isi ons", + "▁App le", + "▁Ap ple", + "serv able", + "▁B oston", + "▁Bo ston", + "▁Bos ton", + "or et", + "ore t", + "o ret", + "ok s", + "o ks", + "▁k g", + "▁ kg", + "def ined", + "define d", + "defin ed", + "d efined", + "pl atform", + "cl er", + "cle r", + "c ler", + "ograph ic", + "ri tt", + "rit t", + "r itt", + "▁d ic", + "▁di c", + "▁ dic", + "▁M ond", + "▁Mon d", + "▁Mo nd", + "▁I reland", + "▁Ir eland", + "▁U na", + "▁Un a", + "▁commer cial", + "▁P u", + "D i", + "▁е ё", + "▁pre cis", + "▁prec is", + "на род", + "нар од", + "▁qu atre", + "ust ral", + "ustr al", + "▁d ag", + "▁da g", + "▁ dag", + "ig ue", + "igu e", + "i gue", + "▁b urn", + "▁bu rn", + "▁bur n", + "▁ burn", + "▁offic er", + "▁office r", + "▁А в", + "▁high light", + "▁ highlight", + "▁Supp ose", + "▁Sup pose", + "od i", + "o di", + "serv let", + "▁En cyc", + "▁Enc yc", + "▁R ange", + "▁Ran ge", + "▁Rang e", + "▁ Range", + "ти й", + "P lease", + "▁ро ків", + "qu ant", + "qua nt", + "▁f lat", + "▁fl at", + "▁fla t", + "▁ flat", + "▁Ré férence", + "сле дова", + "след ова", + "ro le", + "rol e", + "r ole", + "▁d iesen", + "▁di esen", + "▁die sen", + "▁dies en", + "▁diese n", + "}} (", + "} }(", + "▁Ind ust", + "▁nú mer", + "▁\" ;", + "▁ \";", + "lu s", + "l us", + "ô le", + "▁z m", + "▁ zm", + "de g", + "d eg", + "▁r ough", + "▁ro ugh", + "▁rou gh", + "▁ rough", + "In v", + "▁h ur", + "▁hu r", + "▁R ess", + "▁Re ss", + "▁Res s", + "ch s", + "c hs", + "▁turn s", + "▁tur ns", + "ne ro", + "ner o", + "n ero", + "function s", + "fun ctions", + "ал и", + "а ли", + "▁hab itants", + "▁habit ants", + "а т", + "iss ues", + "issue s", + "▁h uge", + "▁hu ge", + "Util s", + "▁S at", + "▁Sa t", + "▁го судар", + "▁co ast", + "sh ape", + "sha pe", + "s hape", + "L C", + "▁log ging", + "▁ logging", + "en dor", + "end or", + "endo r", + "▁l ies", + "▁li es", + "▁lie s", + "▁ lies", + "▁d ifer", + "▁di fer", + "▁dif er", + "▁crit ical", + "▁critic al", + "X T", + "ми на", + "мин а", + "an sk", + "ans k", + "Result s", + "k c", + "ivers e", + "iver se", + "i verse", + "EX T", + "E XT", + "AL SE", + "▁v ál", + "▁vá l", + "P i", + "comp ile", + "hel lo", + "hell o", + "h ello", + "▁чем пи", + "▁It alia", + "▁Ital ia", + "▁ Italia", + "ко ло", + "кол о", + "к оло", + "▁ed ition", + "▁edit ion", + "gr und", + "gru nd", + "g rund", + "▁data frame", + "▁Follow ing", + "re ib", + "rei b", + "▁J eff", + "▁Je ff", + "▁citt à", + "IT able", + "I Table", + "▁$ (\\", + "▁$( \\", + "▁redu ced", + "▁reduce d", + "ob il", + "obi l", + "o bil", + "▁any where", + "' (", + "▁p hr", + "▁ph r", + "▁ phr", + "▁K h", + "▁F rame", + "▁Fr ame", + "▁Fra me", + "▁ Frame", + "▁man ual", + "▁ manual", + "▁c ra", + "▁cr a", + "▁ cra", + "▁V S", + "▁ VS", + "% =", + "Instance State", + "▁б ра", + "▁ бра", + "▁D rag", + "▁Dr ag", + "▁Dra g", + "▁ Drag", + "▁H err", + "▁He rr", + "▁Her r", + "▁г у", + "▁ гу", + "▁m ús", + "To ol", + "T ool", + "▁P rivate", + "▁Priv ate", + "▁ Private", + "▁s ynchron", + "▁syn chron", + "ir ation", + "ira tion", + "irat ion", + "▁о бо", + "▁об о", + "▁typ ically", + "▁typical ly", + "▁imp licit", + "or ient", + "ori ent", + "orie nt", + "▁t imer", + "▁time r", + "▁tim er", + "▁ti mer", + "▁ timer", + "▁kön nen", + "ie st", + "ies t", + "i est", + "ra id", + "rai d", + "▁expression s", + "▁express ions", + "▁expr essions", + "▁a im", + "▁ai m", + "▁s tre", + "▁st re", + "▁str e", + "▁ stre", + "▁w rap", + "▁wr ap", + "▁wra p", + "▁ wrap", + "▁B art", + "▁Bar t", + "▁Ba rt", + "▁b ron", + "▁br on", + "▁bro n", + "▁key board", + "po w", + "p ow", + "▁gru po", + "▁grup o", + "▁ре зу", + "▁prof essor", + "▁profess or", + "▁H ead", + "▁He ad", + "▁ Head", + "но ю", + "min us", + "m inus", + "▁Mich el", + "▁Mic hel", + "NO T", + "N OT", + "mo r", + "m or", + "] }", + "wide hat", + "ar is", + "ari s", + "a ris", + "тера тура", + "de fn", + "def n", + "is trz", + "ist rz", + "istr z", + "▁t anto", + "▁tan to", + "▁tant o", + "▁P ow", + "▁Po w", + "▁ind icate", + "▁indic ate", + "▁W inter", + "▁Win ter", + "res hold", + "resh old", + "рі в", + "р ів", + "▁` (", + "▁o wner", + "▁own er", + "▁ow ner", + "▁ owner", + "▁d isp", + "▁di sp", + "▁dis p", + "▁к ри", + "▁ кри", + "ме т", + "м ет", + "мен т", + "м ент", + "re port", + "rep ort", + "repo rt", + "re quire", + "▁v oy", + "▁vo y", + "▁ voy", + "▁A P", + "▁ AP", + "▁Esp aña", + "▁Españ a", + "▁S ão", + "j är", + "No n", + "N on", + "Li brary", + "L ibrary", + "ich ten", + "icht en", + "ichte n", + "i chten", + "▁struct ures", + "▁structure s", + "▁m uy", + "▁mu y", + "ár io", + "á rio", + "▁cert ificate", + "▁certific ate", + "чно го", + "ч ного", + "▁prov ince", + "▁provin ce", + "pa ges", + "page s", + "pag es", + "p ages", + "da l", + "d al", + "▁Fre der", + "▁Fr eder", + "▁Fred er", + "ь е", + "Exec ute", + "▁an cient", + "▁anci ent", + "▁anc ient", + "▁ancien t", + "▁fil ms", + "▁film s", + "▁Al fred", + "▁Alf red", + "Aut o", + "A uto", + "▁a tom", + "▁at om", + "▁ atom", + "▁e ll", + "▁el l", + "▁ ell", + "▁H arr", + "▁Har r", + "▁Ha rr", + "й н", + "▁\" #", + "▁n acional", + "▁nac ional", + "▁neigh bor", + "▁neighb or", + "сту па", + "ступ а", + "▁w it", + "Po p", + "P op", + "▁G reek", + "▁Gre ek", + "▁Gree k", + "▁re peat", + "▁repe at", + "▁ repeat", + "ba d", + "b ad", + "▁S C", + "▁ SC", + "▁Date Time", + "▁ DateTime", + "ш ти", + "▁W H", + "▁ WH", + "▁пра ви", + "▁прав и", + "▁ прави", + "▁Т и", + "▁s aison", + "▁sa ison", + "▁H art", + "▁Har t", + "▁Ha rt", + "direct ory", + "d irectory", + "ua n", + "u an", + "no rm", + "nor m", + "n orm", + "▁Phil ipp", + "▁Phili pp", + "▁Philip p", + "▁su spect", + "▁sus pect", + "▁susp ect", + "▁an no", + "▁ann o", + "▁ anno", + "b c", + "с ла", + "$ (", + "▁be find", + "▁bef ind", + "oc s", + "o cs", + "la test", + "lat est", + "late st", + ";\" >", + "; \">", + "▁after wards", + "PU T", + "P UT", + "▁j a", + "▁ ja", + "▁H il", + "▁Hi l", + "y z", + "▁B our", + "▁Bo ur", + "▁Bou r", + "▁la id", + "▁Д же", + "▁Дж е", + "pi e", + "p ie", + "w atch", + "▁E q", + "▁ Eq", + "cont act", + "ib er", + "ibe r", + "i ber", + "check box", + "▁esp añ", + "▁espa ñ", + "an se", + "ans e", + "▁ш ко", + "▁ шко", + "ef f", + "e ff", + "xx x", + "x xx", + "▁G ET", + "▁ GET", + "▁l ov", + "▁lo v", + "▁ lov", + "it ute", + "itu te", + "itut e", + "ze ch", + "zec h", + "z ech", + "ter e", + "te re", + "t ere", + "▁p urs", + "▁pu rs", + "▁pur s", + "ke ns", + "ken s", + "k ens", + "ian te", + "i ante", + "▁F ree", + "▁Fre e", + "▁Fr ee", + "▁ Free", + "▁ор гани", + "▁орган и", + "kre is", + "▁{ :", + "▁ {:", + "sh ared", + "share d", + "sha red", + "▁G raph", + "▁Gr aph", + "▁Gra ph", + "▁ Graph", + "▁conne ctions", + "▁connection s", + "▁connect ions", + "▁D OM", + "▁DO M", + "▁ DOM", + "▁C art", + "▁Car t", + "▁Ca rt", + "▁ Cart", + "ss on", + "s son", + "▁H amilton", + "те ли", + "тел и", + "▁r estaur", + "▁rest aur", + "▁resta ur", + "Re sol", + "Res ol", + "Dr iver", + "D river", + "▁en f", + "▁ enf", + "ED IT", + "▁p rev", + "▁pr ev", + "▁pre v", + "▁ prev", + "▁i k", + "▁ ik", + "▁s ă", + "j ö", + "▁С ССР", + "▁col our", + "ch ten", + "cht en", + "chte n", + "▁e stad", + "▁est ad", + "▁esta d", + "in ois", + "ino is", + "▁con fir", + "▁conf ir", + "▁v é", + "▁ vé", + "▁C es", + "▁Ce s", + "▁N ever", + "▁Ne ver", + "▁Nev er", + "om er", + "ome r", + "o mer", + "ж да", + "с лу", + "че ния", + "dl l", + "d ll", + "▁y outh", + "▁you th", + "▁yo uth", + "em en", + "eme n", + "e men", + "▁stud ied", + "▁studi ed", + "▁K il", + "▁Ki l", + "ci on", + "cio n", + "c ion", + "▁n avig", + "▁nav ig", + "re quired", + "require d", + "orith ms", + "orithm s", + "il or", + "ilo r", + "i lor", + "▁Deutsch en", + "▁Deutsche n", + "▁person s", + "▁pers ons", + "▁Barcel ona", + "▁form ation", + "▁format ion", + "▁forma tion", + "▁ formation", + "ab ei", + "abe i", + "a bei", + "▁про тив", + "▁проти в", + "Eng ine", + "ON E", + "O NE", + "og rá", + "Ca p", + "C ap", + "ri r", + "r ir", + "▁g ate", + "▁ga te", + "▁gat e", + "▁ gate", + "or ation", + "ora tion", + "ma ven", + "m aven", + "▁comb ined", + "▁combin ed", + "▁combine d", + "▁at tr", + "▁att r", + "▁ attr", + "▁h ook", + "▁ho ok", + "▁ hook", + "▁которы й", + "▁ser vers", + "▁server s", + "▁serv ers", + "▁serve rs", + "uct ure", + "же ння", + "жен ня", + "t v", + "▁re q", + "▁r eq", + "▁ req", + "ja l", + "j al", + "▁loc ally", + "▁local ly", + "}} {\\", + "}}{ \\", + "} }{\\", + "B r", + "▁H ier", + "▁Hi er", + "мо р", + "м ор", + "▁a part", + "▁ap art", + "▁apar t", + "\"] ,", + "\" ],", + "▁%> %", + "▁z usammen", + "▁zus ammen", + "▁ident ify", + "▁Al tern", + "▁Alt ern", + "▁Alter n", + "▁б ро", + "▁ бро", + "▁ц и", + "▁ ци", + "g h", + "▁T en", + "▁Te n", + "R S", + "фор ма", + "▁n elle", + "▁ne lle", + "▁nel le", + "▁nell e", + "▁ nelle", + "▁H in", + "▁Hi n", + "ound ing", + "oun ding", + "▁re prés", + "▁rep rés", + "▁repr és", + "ap h", + "a ph", + "▁[ \\", + "▁ [\\", + "▁S ports", + "▁Sport s", + "ра л", + "р ал", + "▁t hre", + "▁th re", + "▁thr e", + "▁p rin", + "▁pr in", + "▁pri n", + "▁El iz", + "▁Eli z", + "▁F our", + "▁Fou r", + "▁Fo ur", + "▁soci ety", + "▁soc iety", + "Trans action", + "▁v eg", + "▁ve g", + "▁ veg", + "▁sch ools", + "▁school s", + "▁over all", + "▁t ail", + "▁ta il", + "▁ tail", + "üb er", + "ü ber", + "▁S ov", + "▁So v", + "▁С ер", + "▁Се р", + "▁r app", + "▁ra pp", + "▁rap p", + "▁tra ffic", + "qu estion", + "quest ion", + "ques tion", + "▁en viron", + "▁envi ron", + "▁ environ", + "ate ien", + "ic us", + "i cus", + "▁n arrow", + "▁narr ow", + "▁nar row", + "▁p ray", + "▁pr ay", + "▁pra y", + "▁B ou", + "▁Bo u", + "▁C lient", + "▁Cl ient", + "▁ Client", + "ab l", + "a bl", + "▁Aud iod", + "▁Audio d", + "▁n pm", + "▁np m", + "▁ npm", + "▁Col umn", + "▁ Column", + "▁G ames", + "▁Game s", + "▁Ga mes", + "▁Gam es", + "av er", + "ave r", + "a ver", + "ony mes", + "onym es", + "onyme s", + "▁По сле", + "n ą", + "▁N u", + "▁D ick", + "▁Di ck", + "▁Dic k", + "▁t ensor", + "▁tens or", + "▁ tensor", + "▁@ \"", + "▁ @\"", + "v é", + "I con", + "▁по да", + "▁под а", + "▁ пода", + "▁G on", + "▁Go n", + "/) .", + "/ ).", + "is tra", + "ist ra", + "istr a", + "i stra", + "▁Audiod ateien", + "De lete", + "Del ete", + "}} }", + "} }}", + "▁j ump", + "▁ju mp", + "▁О б", + "▁princi ple", + "▁princip le", + "▁Ét ats", + "ok ed", + "oke d", + "o ked", + "▁В ла", + "Inter val", + "▁s au", + "▁sa u", + "en code", + "enc ode", + "▁p on", + "▁po n", + "▁ pon", + "cat ch", + "c atch", + "▁t iem", + "▁ti em", + "▁tie m", + "▁G ust", + "▁Gu st", + "M C", + "lim its", + "limit s", + "▁ke eping", + "▁keep ing", + "▁s ongs", + "▁son gs", + "▁song s", + "▁ав гу", + "▁рай он", + "▁райо н", + "▁not ification", + "▁ notification", + "▁off ered", + "▁offer ed", + "Co r", + "C or", + "▁sh ut", + "error s", + "err ors", + "▁E N", + "▁ EN", + "▁lat ach", + "▁sel bst", + "▁check box", + "▁ checkbox", + "▁c ool", + "▁co ol", + "▁f actory", + "▁fact ory", + "▁factor y", + "▁ factory", + "▁pa id", + "dim ensional", + "ni ej", + "nie j", + "n iej", + "pt on", + "pto n", + "p ton", + "▁p in", + "▁pi n", + "▁ pin", + "ak ed", + "ake d", + "a ked", + "▁re li", + "▁r eli", + "▁rel i", + "▁T aylor", + "▁S omething", + "▁Some thing", + "▁Som ething", + "▁ Something", + "im um", + "▁V in", + "▁Vi n", + "▁iter ation", + "Fin d", + "Fi nd", + "F ind", + "ко ви", + "ков и", + "к ови", + "▁bo ys", + "▁boy s", + "▁Sim ple", + "▁ Simple", + "▁C rist", + "▁Cr ist", + "▁Cris t", + "▁W as", + "▁Wa s", + "ân d", + "â nd", + "▁V a", + "▁т ра", + "▁ тра", + "▁dest ination", + "▁destin ation", + "▁ destination", + "li mp", + "lim p", + "l imp", + "▁K at", + "▁Ka t", + "wor th", + "wort h", + "w orth", + "▁K or", + "▁Ko r", + "i ção", + "= `", + "▁fair ly", + "fall s", + "fal ls", + "f alls", + "▁re ject", + "▁d ream", + "▁dre am", + "be ll", + "bel l", + "b ell", + "▁t oute", + "▁to ute", + "▁tout e", + "▁tou te", + "▁$ \\{", + "▁$\\ {", + "▁st one", + "▁sto ne", + "▁ stone", + "▁prote ct", + "▁prot ect", + "▁ex cell", + "▁exc ell", + "▁excel l", + "▁Me xico", + "▁Mex ico", + "▁d ash", + "▁da sh", + "▁das h", + "▁ dash", + "▁f ault", + "▁fa ult", + "▁ fault", + "p matrix", + "al ler", + "all er", + "alle r", + "▁guer re", + "or igin", + "ori gin", + "orig in", + "hi bernate", + "í lia", + "▁Reg ister", + "▁ Register", + "un to", + "unt o", + "▁B at", + "▁Ba t", + "▁b ow", + "▁bo w", + "▁ bow", + "сь ких", + "ськ их", + "et à", + "▁L uis", + "▁Lu is", + "▁f ou", + "▁fo u", + "▁Cam bridge", + "▁Camb ridge", + "▁o tt", + "▁ot t", + "▁ ott", + "su p", + "s up", + "re as", + "rea s", + "▁point ers", + "▁pointer s", + "▁Bo ard", + "▁ Board", + "▁р и", + "▁ ри", + "▁d riv", + "▁dr iv", + "▁dri v", + "ни н", + "н ин", + "▁C irc", + "▁Ci rc", + "▁Cir c", + "▁ Circ", + "▁t hou", + "▁th ou", + "Di v", + "D iv", + "sp ark", + "s park", + "la ment", + "lam ent", + "l ament", + "▁V AL", + "▁ VAL", + "Se nd", + "S end", + "▁Ir ish", + "o y", + "▁T u", + "▁ Tu", + "▁t rivial", + "Form s", + "For ms", + "▁as í", + "▁Im per", + "▁Imp er", + "▁sign ature", + "un os", + "uno s", + "u nos", + "▁N eg", + "▁Ne g", + "▁can cel", + "▁ cancel", + "▁Hein rich", + "ee d", + "e ed", + "Ill ustration", + "▁s ulla", + "▁su lla", + "▁sul la", + "▁sull a", + "▁qu arter", + "▁quart er", + "▁quar ter", + "as z", + "a sz", + "▁b log", + "▁bl og", + "▁blo g", + "▁ blog", + "fi ca", + "fic a", + "f ica", + "wo n", + "w on", + "qu et", + "que t", + "q uet", + "]) )", + "] ))", + "▁gener ation", + "▁c aught", + "▁ caught", + "▁l ands", + "▁land s", + "▁lan ds", + "▁ lands", + "▁King dom", + "schaft en", + "ro ns", + "ron s", + "r ons", + "ann els", + "annel s", + "anne ls", + "▁Spe cial", + "▁Spec ial", + "▁ Special", + "t utorial", + "ti p", + "t ip", + "▁\" \",", + "▁\"\" ,", + "▁Az ure", + "▁ Azure", + "▁b ounded", + "▁bound ed", + "▁ bounded", + "S m", + "ta r", + "t ar", + "ве н", + "в ен", + "▁з ем", + "▁зе м", + "▁ зем", + "▁not ation", + "▁ notation", + "▁ap ache", + "▁ apache", + "▁g az", + "▁ga z", + "ier no", + "i erno", + "an gen", + "ang en", + "ange n", + "pect ive", + "▁elect ric", + "▁s emi", + "▁se mi", + "▁sem i", + "MA X", + "M AX", + "ed erb", + "eder b", + "ede rb", + "object s", + "▁dif ferences", + "▁differ ences", + "▁difference s", + "is ted", + "ist ed", + "iste d", + "i sted", + "hr ef", + "hre f", + "h ref", + "ic ip", + "ici p", + "i cip", + "▁num py", + "▁ numpy", + "▁ф утбо", + "lo ader", + "load er", + "▁d ich", + "▁di ch", + "▁dic h", + "љ у", + "▁D é", + "H z", + "▁P aram", + "▁Par am", + "▁Pa ram", + "▁Para m", + "▁ Param", + "document ation", + "ir craft", + "irc raft", + "E M", + "▁inst itution", + "▁instit ution", + "com pat", + "comp at", + "▁а ль", + "▁ал ь", + "▁ аль", + "сла в", + "с лав", + "▁N et", + "▁Ne t", + "▁ Net", + "ци ональ", + "цион аль", + "циона ль", + "▁broad cast", + "date time", + "dat etime", + "as ync", + "asy nc", + "a sync", + "vr e", + "v re", + "me an", + "▁C hem", + "▁Ch em", + "▁Che m", + "▁est imate", + "▁estim ate", + "ic ana", + "ica na", + "ican a", + "▁g rep", + "▁gr ep", + "▁gre p", + "▁ grep", + "te k", + "t ek", + "ä m", + "or ig", + "ori g", + "o rig", + "▁Vict or", + "▁Vi ctor", + "▁Vic tor", + "ut enant", + "ute nant", + "uten ant", + "an ga", + "ang a", + "pi n", + "p in", + "▁ver tex", + "▁vert ex", + "▁verte x", + "▁CHAP TER", + "ci ty", + "cit y", + "c ity", + "ug by", + "gr een", + "gre en", + "g reen", + "▁K er", + "▁Ke r", + "▁dif fér", + "▁diff ér", + "▁necess arily", + "D C", + "Line ar", + "Lin ear", + "Li near", + "al em", + "ale m", + "a lem", + "▁L ater", + "▁La ter", + "▁Lat er", + "▁Late r", + "▁m eta", + "▁me ta", + "▁met a", + "▁ meta", + "je m", + "j em", + "ra gen", + "rag en", + "rage n", + "r agen", + "Ma y", + "M ay", + "▁Mitg lied", + "▁s orted", + "▁sort ed", + "▁sor ted", + "▁sorte d", + "▁ sorted", + "us sen", + "uss en", + "▁sp oke", + "▁spo ke", + "▁dis abled", + "▁disable d", + "▁ disabled", + "▁accompl ish", + "▁accomp lish", + "▁Russ ia", + "th ere", + "ther e", + "the re", + "t here", + "ee s", + "e es", + "▁h all", + "▁ha ll", + "▁hal l", + "▁ hall", + "▁met ric", + "▁ metric", + "att ribute", + "то го", + "т ого", + "ab out", + "▁L am", + "▁La m", + "ch annel", + "chan nel", + "▁e pisode", + "▁epis ode", + "▁$ ('.", + "▁$( '.", + "▁$(' .", + "▁ ought", + "▁E ste", + "▁Est e", + "▁Es te", + "Object s", + "▁valid ate", + "▁ validate", + "▁r im", + "▁ri m", + "▁ rim", + "▁numer ous", + "▁numero us", + "▁J avascript", + "▁Java script", + "▁G L", + "▁ GL", + "▁It aly", + "▁Ital y", + "ederb örd", + "on ato", + "ona to", + "bo oks", + "book s", + "st one", + "ston e", + "sto ne", + "х у", + "▁j el", + "▁je l", + "▁ jel", + "ir i", + "i ri", + "▁A SP", + "▁AS P", + "G A", + "▁st ata", + "▁stat a", + "▁sta ta", + "▁b az", + "▁ba z", + "▁ baz", + "Da y", + "D ay", + "th m", + "t hm", + "d h", + "▁F iles", + "▁Fil es", + "▁File s", + "▁ Files", + "Android Runtime", + "▁che cks", + "▁check s", + "k r", + "▁v enne", + "▁ven ne", + "S L", + "av ia", + "avi a", + "a via", + "ka zy", + "kaz y", + "k azy", + "▁Th ree", + "▁ Three", + "Ad min", + "▁col lege", + "▁coll ege", + "▁colleg e", + "▁colle ge", + "G lobal", + "ti on", + "t ion", + "▁cur ious", + "sh ort", + "▁b ass", + "▁bas s", + "▁ba ss", + "де ла", + "▁де я", + "Sch ema", + "' \\", + "di ff", + "d iff", + "▁C A", + "▁ CA", + "▁Cor por", + "▁oper ators", + "▁operator s", + "om rå", + "▁ed ges", + "▁edge s", + "); `", + ") ;`", + "in ds", + "ind s", + "▁g ing", + "▁gi ng", + "▁ ging", + "& &", + "}- \\", + "} -\\", + "ra no", + "ran o", + "r ano", + "▁s ão", + "▁ad ds", + "▁add s", + "el or", + "elo r", + "e lor", + "▁un signed", + "▁uns igned", + "▁ unsigned", + "▁п р", + "▁ пр", + "▁Con fig", + "▁Conf ig", + "▁ Config", + "▁E sc", + "▁Es c", + "▁ch ose", + "▁cho se", + "▁pie ces", + "▁piece s", + "▁reg ions", + "▁region s", + "Es t", + "E st", + "▁B attle", + "▁Batt le", + "▁f oc", + "▁fo c", + "▁L ight", + "▁Lig ht", + "▁ Light", + "pad ding", + "p adding", + "ab en", + "abe n", + "a ben", + "▁e urop", + "▁eu rop", + "▁euro p", + "il lon", + "ill on", + "illo n", + "▁е сть", + "▁b ord", + "▁bo rd", + "▁bor d", + "▁о тно", + "▁от но", + "▁H ong", + "▁Hon g", + "▁Ho ng", + "▁v ul", + "▁vu l", + "pl ugins", + "plugin s", + "▁' <", + "▁k ur", + "▁ kur", + "reg ion", + "▁Re pub", + "▁Rep ub", + "ic her", + "ich er", + "iche r", + "i cher", + "}_ \\", + "} _\\", + "▁me dal", + "▁med al", + "▁More over", + "B I", + "A v", + "ut er", + "ute r", + "u ter", + "▁s can", + "▁sc an", + "▁ scan", + "▁M unicip", + "▁Mun icip", + "▁contr ast", + "▁contra st", + "▁I g", + "▁ Ig", + "▁го род", + "▁горо д", + "▁гор од", + "▁ город", + "rel ated", + "al ing", + "ali ng", + "alin g", + "a ling", + "▁м ат", + "▁ма т", + "▁ мат", + "ün st", + "▁Ch ris", + "▁Chr is", + "w y", + "▁Act ually", + "▁Univers idad", + "Event Listener", + "▁tempor ada", + "▁ass ignment", + "▁assign ment", + "▁M ike", + "▁Mi ke", + "▁Mik e", + "▁w ährend", + "▁ś wi", + "▁św i", + "▁с ред", + "▁сре д", + "ка де", + "▁calcul ated", + "▁calculate d", + "▁calc ulated", + "▁el ler", + "▁elle r", + "▁ell er", + "▁ eller", + "▁A sh", + "▁As h", + "ri el", + "rie l", + "r iel", + "▁hard ware", + "▁int ens", + "▁inte ns", + "▁inten s", + "(' .", + "( '.", + "il li", + "ill i", + "ag on", + "ago n", + "a gon", + "▁G y", + "▁he ute", + "▁heut e", + "▁s le", + "▁sl e", + "▁liter ature", + "se m", + "s em", + "man ager", + "mana ger", + "▁Gr ande", + "▁Gra nde", + "▁Grand e", + "▁Gran de", + "▁m ixed", + "▁mix ed", + "▁В ер", + "▁Ве р", + "í cí", + "▁s oit", + "▁so it", + "▁wel come", + "че ние", + "▁Univers ität", + "▁bu ilder", + "▁build er", + "▁ builder", + "sim ple", + "simp le", + "ic ode", + "ico de", + "i code", + "ř e", + "in dent", + "ind ent", + "inden t", + "inde nt", + "op o", + "o po", + "▁ad vanced", + "▁adv anced", + "▁advance d", + "tem per", + "temp er", + "ed ge", + "▁dat etime", + "▁date time", + "▁ datetime", + "▁d onc", + "▁do nc", + "▁don c", + "ла ння", + "лан ня", + "▁v erd", + "▁ver d", + "▁ve rd", + "д но", + "it os", + "ito s", + "▁he at", + "vi sible", + "vis ible", + "me l", + "m el", + "▁Giov anni", + "▁var iety", + "▁vari ety", + "▁r outer", + "▁ro uter", + "▁route r", + "▁rout er", + "▁rou ter", + "▁ router", + "Vec tor", + "V ector", + "▁W alk", + "▁Wal k", + "▁ob viously", + "▁obvious ly", + "he in", + "h ein", + "Fi n", + "F in", + "ITable View", + "Y ear", + "▁E conom", + "▁vel ocity", + "▁veloc ity", + "▁C ivil", + "▁Ci vil", + "▁ ј", + "al ert", + "ale rt", + "aler t", + "Ident ifier", + "èn cia", + "▁normal ly", + "▁norm ally", + "▁E gypt", + "▁Egy pt", + "▁c tx", + "▁ ctx", + "▁Ver ein", + "▁Vere in", + "▁H u", + "ult ure", + "ultur e", + "ни те", + "l é", + "▁W ien", + "▁Wi en", + "▁Wie n", + "▁P rz", + "▁Pr z", + "By te", + "▁n ah", + "▁na h", + "▁ nah", + "is ms", + "ism s", + "▁Pub lish", + "▁He rz", + "▁Her z", + "ic ul", + "i cul", + "pis ode", + "ч і", + "▁die sem", + "▁dies em", + "▁diese m", + "k ö", + "Vis ible", + "▁r ig", + "▁ri g", + "▁ rig", + "`) .", + "` ).", + "Par se", + "P arse", + "▁Jac ques", + "N I", + "▁g lass", + "▁gl ass", + "▁gla ss", + "▁ glass", + "-- -+", + "--- +", + "- --+", + "▁initial ly", + "▁initi ally", + "▁k r", + "▁ kr", + "CC N", + "C CN", + "pl ays", + "play s", + "pla ys", + "▁s igu", + "▁si gu", + "▁sig u", + "F older", + "st orage", + "sto rage", + "stor age", + "▁\\ |", + "▁ \\|", + "iv os", + "ivo s", + "i vos", + "ск ую", + "ску ю", + "▁M oh", + "▁Mo h", + "▁Comm ittee", + "▁K im", + "▁Ki m", + "e u", + "те м", + "т ем", + "▁orig inale", + "▁original e", + "▁origin ale", + "ir s", + "i rs", + "▁R eb", + "▁Re b", + "it ut", + "itu t", + "n l", + "▁P ier", + "▁Pi er", + "▁Pie r", + "▁] ;", + "▁ ];", + "▁F al", + "▁Fa l", + "▁\" \";", + "▁\"\" ;", + "mv c", + "m vc", + "▁fe male", + "▁fem ale", + "▁b ridge", + "▁br idge", + "▁brid ge", + "▁ bridge", + "▁t ít", + "kt r", + "k tr", + "> )", + "▁se at", + "▁sea t", + "▁v ess", + "▁ve ss", + "▁ves s", + "▁U SB", + "▁US B", + "▁Art icles", + "▁Article s", + "▁De scription", + "▁Des cription", + "▁Descri ption", + "▁ Description", + "▁o c", + "▁ oc", + "▁h ouses", + "▁house s", + "▁ho uses", + "▁hous es", + "▁П ет", + "▁Пе т", + "lo n", + "l on", + "Not ification", + "▁press ure", + "▁ку ль", + "▁ куль", + "ig ned", + "ign ed", + "igne d", + "▁relig ious", + "fa n", + "f an", + "ig lia", + "igli a", + "▁class ification", + "▁classific ation", + "og ether", + "oge ther", + "▁S DK", + "▁SD K", + "▁ SDK", + "▁H uman", + "▁Hu man", + "▁Hum an", + "▁com mission", + "▁comm ission", + "▁О р", + "▁an tes", + "▁ant es", + "▁ante s", + "▁ antes", + "D T", + "èt e", + "è te", + "pr és", + "p rés", + "/ \"", + "▁( «", + "▁h ö", + "▁ hö", + "▁ча с", + "▁ час", + "▁j ak", + "▁ja k", + "▁ jak", + "ie nen", + "ien en", + "iene n", + "i enen", + "ug g", + "u gg", + "W A", + "▁place holder", + "▁ placeholder", + "Wil l", + "W ill", + ", ,", + "▁K am", + "▁Ka m", + "▁w en", + "▁we n", + "▁ wen", + "▁Sch ul", + "ți e", + "ț ie", + "▁a ud", + "▁au d", + "▁ aud", + "▁s ue", + "▁su e", + "▁re ferred", + "▁refer red", + "ва т", + "в ат", + "▁P ara", + "▁Par a", + "▁Pa ra", + "▁b la", + "▁bl a", + "▁ bla", + "UE S", + "U ES", + "▁stat ist", + "▁stati st", + "▁т у", + "▁ ту", + "▁Wars za", + "gu e", + "g ue", + "▁I de", + "▁Id e", + "math scr", + "▁l ieu", + "▁li eu", + "▁lie u", + "▁b od", + "▁bo d", + "▁r us", + "▁ru s", + "▁ rus", + "▁bo at", + "xs pace", + "x space", + "▁mod al", + "▁mo dal", + "▁ modal", + "ле к", + "л ек", + "to pic", + "top ic", + "ma ny", + "man y", + "m any", + "sk ý", + "▁organ ization", + "▁organiz ation", + "▁г ене", + "▁ге не", + "▁Wil son", + "▁com fort", + "ib il", + "i bil", + ": -", + "▁an imal", + "▁anim al", + "▁ani mal", + "Re port", + "Rep ort", + "ка ми", + "кам и", + "jo n", + "j on", + "▁k er", + "▁ke r", + "▁ ker", + "▁к ни", + "moz illa", + "Pr ice", + "P rice", + "ant in", + "anti n", + "em ento", + "ement o", + "emen to", + "ma y", + "m ay", + "▁l ung", + "▁lu ng", + "▁lun g", + "▁ lung", + "▁b low", + "▁bl ow", + "▁blo w", + "ede ut", + "▁type d", + "▁typ ed", + "▁ty ped", + "▁dec ember", + "▁. ...", + "▁... .", + "▁.. ..", + "▁ ....", + "li ance", + "l iance", + "▁v iel", + "▁vi el", + "▁vie l", + "▁Ф и", + "pr esa", + "pre sa", + "pres a", + "▁ос іб", + "▁N am", + "▁Na m", + "▁G ren", + "▁Gr en", + "▁Gre n", + "си лання", + "VI D", + "V ID", + "st re", + "str e", + "s tre", + "we is", + "wei s", + "▁prote ction", + "▁protect ion", + "▁prot ection", + "ta ient", + "t aient", + "▁offic ers", + "▁office rs", + "▁officer s", + "т но", + "▁B rig", + "▁Br ig", + "▁int ellig", + "▁intel lig", + "я х", + "IT H", + "I TH", + "▁separ ated", + "▁separate d", + "▁L CCN", + "ní m", + "n ím", + "cl ock", + "clo ck", + "c lock", + "▁ap are", + "▁apar e", + "яв и", + "я ви", + "▁Eliz abeth", + "▁W ater", + "▁Wat er", + "▁Wa ter", + "geb iet", + "▁con vent", + "▁conv ent", + "▁conven t", + "fu rt", + "fur t", + "f urt", + "▁be iden", + "▁bei den", + "▁beide n", + "ba sh", + "bas h", + "b ash", + "▁че рез", + "▁чер ез", + "▁u b", + "▁ ub", + "▁Stat ist", + "▁Stati st", + "▁lim its", + "▁limit s", + "▁ limits", + "V ol", + "ct x", + "c tx", + "▁но в", + "▁н ов", + "▁ нов", + "gu ide", + "gui de", + "mi c", + "m ic", + "ie sa", + "ies a", + "i esa", + "▁h uvud", + "R T", + "Fi g", + "F ig", + "▁l ect", + "▁le ct", + "▁ lect", + "con n", + "co nn", + "c onn", + "im it", + "imi t", + "i mit", + "га р", + "г ар", + "▁b ajo", + "▁ba jo", + "scri be", + "scr ibe", + "s cribe", + "re gex", + "reg ex", + "▁C ass", + "▁Cas s", + "▁Ca ss", + "▁pro pag", + "▁prop ag", + "' $", + "▁prof es", + "un ique", + "uni que", + "▁S ql", + "▁ Sql", + "un ion", + "uni on", + "ri os", + "rio s", + "r ios", + "pi p", + "p ip", + "-- +", + "- -+", + "ka dem", + "k adem", + "column s", + "▁v ary", + "▁var y", + "▁va ry", + "▁bere its", + "▁d oi", + "▁do i", + "▁Com mon", + "▁Comm on", + "▁ Common", + "▁Ro bin", + "▁Rob in", + "▁ ×", + "▁s ei", + "▁se i", + "▁s yst", + "▁sy st", + "▁sys t", + "▁v ä", + "▁ vä", + "▁De fault", + "▁Def ault", + "▁ Default", + "▁t ym", + "▁ty m", + "pe l", + "p el", + "▁bel ieved", + "▁believe d", + "▁pro vider", + "▁prov ider", + "▁provide r", + "▁ provider", + "▁min imal", + "▁minim al", + "▁mini mal", + "та ли", + "тал и", + "т али", + "ain es", + "ai nes", + "aine s", + "a ines", + "K it", + "iz io", + "izi o", + "is sen", + "iss en", + "isse n", + "pr essed", + "press ed", + "pres sed", + "▁s tag", + "▁st ag", + "▁sta g", + "▁ stag", + "▁u int", + "▁ui nt", + "▁ uint", + "ko r", + "k or", + "▁ра спо", + "▁рас по", + "▁in herit", + "▁inher it", + "▁comp iled", + "▁compile d", + "▁f ebru", + "▁fe bru", + "▁feb ru", + "▁t mp", + "▁tm p", + "▁ tmp", + "work s", + "wor ks", + "ч на", + "draw able", + "▁N av", + "▁Na v", + "▁ Nav", + "▁though ts", + "▁thought s", + "ro ute", + "rout e", + "rou te", + "r oute", + "▁con cert", + "▁conc ert", + "▁conce rt", + "▁option al", + "▁opt ional", + "▁ optional", + "▁b ras", + "▁br as", + "▁bra s", + "▁ bras", + "▁prov iding", + "со м", + "с ом", + "id x", + "i dx", + "emp lo", + "empl o", + "▁ко ли", + "▁ коли", + "▁B ere", + "▁Be re", + "▁Ber e", + "▁E ls", + "▁El s", + "ре мен", + "рем ен", + "▁де ка", + "co ut", + "cou t", + "c out", + "la yer", + "lay er", + "l ayer", + "▁g lob", + "▁gl ob", + "▁glo b", + "▁ glob", + "fore ach", + "for each", + "▁E ducation", + "▁Edu cation", + "P O", + "▁im prov", + "▁imp rov", + "▁impro v", + "▁impr ov", + "▁cl ients", + "▁client s", + "▁cli ents", + "gr oups", + "group s", + "gro ups", + "▁k ont", + "▁kon t", + "▁ko nt", + "De l", + "D el", + "re tt", + "ret t", + "r ett", + "▁s up", + "▁su p", + "▁ sup", + "▁m og", + "▁mo g", + "ta n", + "t an", + "▁com pl", + "▁comp l", + "ir ty", + "irt y", + "▁nouve au", + "os z", + "o sz", + "▁N avy", + "▁Na vy", + "▁Nav y", + "ber e", + "be re", + "b ere", + "ma sk", + "mas k", + "m ask", + "ov é", + "o vé", + "zi l", + "z il", + "PE R", + "P ER", + "▁pobla ción", + "▁població n", + "▁d etailed", + "▁detail ed", + "ле т", + "л ет", + "▁famil ies", + "▁familie s", + "ab et", + "abe t", + "a bet", + "е вич", + "änd er", + "än der", + "ände r", + "ä nder", + "▁å r", + "▁ år", + "▁p endant", + "▁b il", + "▁bi l", + "▁ bil", + "▁h int", + "▁hi nt", + "▁hin t", + "ode n", + "od en", + "o den", + "▁exp ansion", + "▁p ont", + "▁po nt", + "▁pon t", + "▁ pont", + "as ant", + "asa nt", + "▁K ind", + "▁Ki nd", + "▁Kin d", + "▁ Kind", + "ij i", + "i ji", + "▁A uth", + "▁Aut h", + "▁Au th", + "▁ Auth", + "laim ed", + "ref lect", + "] =", + "by tes", + "byte s", + "ho ver", + "hov er", + "h over", + "▁ц ер", + "▁це р", + "▁ цер", + "grad le", + "Ar ch", + "ap est", + "ape st", + "apes t", + "ás a", + "á sa", + "Car d", + "Ca rd", + "C ard", + "▁tempor ary", + "▁départ ement", + "class es", + "жи ва", + "▁х удо", + "▁m ole", + "▁mo le", + "▁mol e", + "R Y", + "L P", + "▁p ec", + "▁pe c", + "▁ pec", + "rodu ction", + "▁Gu ard", + "▁Par liament", + "▁inst anti", + "▁instant i", + "▁not amment", + "▁D oug", + "▁Do ug", + "▁Dou g", + "▁Mar sh", + "▁Mars h", + ". ~", + "▁\\ \"", + "▁ \\\"", + "▁t hé", + "▁th é", + "▁li bre", + "▁lib re", + "do es", + "▁dé but", + "▁U nit", + "▁Un it", + "▁ Unit", + "▁с ту", + "▁ст у", + "▁ сту", + "▁le ague", + "▁qu ale", + "▁q uale", + "▁qual e", + "▁состав ля", + "▁соста вля", + "Se curity", + "Sec urity", + "▁appar ently", + "▁apparent ly", + "▁tro ops", + "ic ano", + "ica no", + "ican o", + "i cano", + "▁M B", + "▁ MB", + "en ze", + "enz e", + "lo ading", + "load ing", + "▁dist ributed", + "▁distribu ted", + "▁distrib uted", + "write r", + "writ er", + "wr iter", + "w riter", + "res ources", + "resource s", + "h ö", + "ut ils", + "util s", + "uti ls", + "▁prep ared", + "▁prepar ed", + "▁prepare d", + "ci er", + "cie r", + "c ier", + "op ol", + "opo l", + "o pol", + "▁län kar", + "he s", + "h es", + "н ва", + "▁op ens", + "▁open s", + "▁ opens", + "ag og", + "ago g", + "inter face", + "▁F und", + "▁Fu nd", + "▁Fun d", + "▁pent ru", + "ní ch", + "n ích", + "▁config ured", + "▁configure d", + "▁configur ed", + "▁Web site", + "▁list ener", + "▁listen er", + "▁liste ner", + "▁ listener", + "iv el", + "ive l", + "i vel", + "n ę", + "min a", + "mi na", + "m ina", + "▁in vest", + "▁inv est", + "▁inve st", + "▁м іс", + "▁мі с", + "▁d av", + "▁da v", + "▁p atch", + "▁pat ch", + "▁ patch", + "pi eler", + "piel er", + "pie ler", + "▁Ext erna", + "▁Extern a", + "t f", + "▁e red", + "▁er ed", + "▁ere d", + "▁ ered", + "▁Ass embly", + "▁ Assembly", + "▁s out", + "▁so ut", + "▁sou t", + "▁v erk", + "▁ver k", + "▁ verk", + "me rs", + "mer s", + "m ers", + "t oggle", + "▁up dating", + "▁upd ating", + "▁K ent", + "▁Ke nt", + "▁Ken t", + "ec a", + "e ca", + "FA ULT", + "▁tit re", + "▁ti tre", + "▁K enn", + "▁Ke nn", + "▁Ken n", + "▁Ми ха", + "ст ор", + "сто р", + "с тор", + "▁p ode", + "▁po de", + "▁pod e", + "▁S eb", + "▁Se b", + "це в", + "ц ев", + "E Y", + "▁sil ver", + "▁cap acity", + "▁capac ity", + "▁comple tion", + "▁complet ion", + "▁Pe dro", + "▁Ped ro", + "fe l", + "f el", + "va no", + "van o", + "v ano", + "ze ug", + "▁in terior", + "▁inter ior", + "▁inte rior", + "▁Res ponse", + "▁ Response", + "éd ia", + "é dia", + "▁World Cat", + "▁c ă", + "qu el", + "que l", + "q uel", + "So l", + "S ol", + "іс ля", + "▁D omin", + "▁Do min", + "▁Dom in", + "▁c um", + "▁cu m", + "ce p", + "c ep", + "▁M use", + "▁Mus e", + "▁Mu se", + "▁M aría", + "▁Mar ía", + "▁Ma ría", + "▁function al", + "▁ad apter", + "▁adapt er", + "▁ adapter", + "config uration", + "▁t ipo", + "▁tip o", + "▁ti po", + "▁B ry", + "▁Br y", + "v y", + "U L", + "▁tra vers", + "▁trav ers", + "! (", + "▁absol utely", + "▁absolute ly", + "л та", + "тт я", + "т тя", + "▁I T", + "▁ IT", + "▁во ен", + "yc le", + "y cle", + "be st", + "bes t", + "b est", + "▁construct ed", + "▁constru cted", + "▁фи ль", + "▁ филь", + "ci do", + "cid o", + "c ido", + "ex it", + "ga rt", + "gar t", + "g art", + "▁provin cia", + "ve z", + "v ez", + "ci pl", + "cip l", + "▁Face book", + "▁Fac ebook", + "▁y ellow", + "▁ yellow", + "▁Sum mer", + "▁point ing", + "▁poss ibility", + "▁possib ility", + "▁possibil ity", + "▁leg isl", + "▁мо ж", + "▁ мож", + "de rn", + "der n", + "d ern", + "ко но", + "кон о", + "▁mechan ism", + "▁Bern ard", + "ex pr", + "exp r", + "ло ви", + "лов и", + "л ови", + "▁dig its", + "▁digit s", + "▁de legate", + "▁deleg ate", + "▁ delegate", + "og ram", + "o gram", + "▁D ictionary", + "▁ Dictionary", + "is y", + "▁s po", + "▁sp o", + "/ $", + "clude d", + "clud ed", + "▁M VC", + "▁t ém", + "▁té m", + "▁print ed", + "▁prin ted", + "▁G ott", + "▁Go tt", + "▁Got t", + "▁O m", + "▁ Om", + "ans as", + "▁D urch", + "▁Dur ch", + "▁I dent", + "▁Id ent", + "▁Ide nt", + "▁ Ident", + "Q U", + "ht m", + "h tm", + "▁S ul", + "▁Su l", + "'] .", + "' ].", + "▁du ty", + "▁dut y", + "▁Aut hor", + "▁Auth or", + "▁ Author", + "▁n ě", + "▁ ně", + "ow ego", + "owe go", + "pu s", + "p us", + "em bl", + "emb l", + "Exec utor", + "B L", + "▁M ens", + "▁Me ns", + "▁Men s", + "dis patch", + "▁M id", + "▁Mi d", + "ap ps", + "app s", + "Trans form", + "▁D at", + "▁Da t", + "▁ Dat", + "▁im pl", + "▁imp l", + "▁ impl", + "ou x", + "o ux", + "ho lm", + "hol m", + "▁I ns", + "▁In s", + "▁Emp ire", + "ру п", + "▁Ap ache", + "SI ON", + "S ION", + "▁pass age", + "######## ########", + "▁ex pressed", + "▁express ed", + "▁expr essed", + "▁expres sed", + "на д", + "▁o l", + "▁ ol", + "▁h avia", + "▁ha via", + "▁hav ia", + "▁бо лее", + "▁enjo y", + "form ance", + "▁dim ensions", + "▁dimension s", + "▁ч ер", + "▁че р", + "▁ чер", + "Se e", + "S ee", + "▁m outh", + "▁mo uth", + "▁mou th", + "▁ mouth", + "▁g au", + "▁ga u", + "ien cy", + "i ency", + "▁Carol ina", + "Dis t", + "Di st", + "D ist", + "rad io", + "li mit", + "lim it", + "l imit", + "/ ?", + "▁B all", + "▁Ba ll", + "▁Bal l", + "ні сть", + "Mem ber", + "M ember", + "wa ter", + "w ater", + "▁mur der", + "▁stand ing", + "▁stan ding", + "▁ standing", + "▁V II", + "▁VI I", + "Cent er", + "C enter", + "pp a", + "p pa", + "ur eau", + "ure au", + "▁Le ip", + "▁ob jet", + "▁obj et", + "▁Act ivity", + "▁Activ ity", + "▁ Activity", + "em bers", + "ember s", + "emb ers", + "v r", + "▁con du", + "▁cond u", + "Cell s", + "C ells", + "in us", + "inu s", + "▁' ,", + "▁ ',", + "▁af raid", + "▁х а", + "▁ ха", + "▁V ic", + "▁Vi c", + "test ing", + "tes ting", + "Tu be", + "T ube", + "▁v ast", + "▁va st", + "▁vas t", + "P M", + "ni h", + "n ih", + "SS N", + "S SN", + "▁Ch ile", + "▁Chi le", + "yl van", + "▁B ow", + "▁Bo w", + "▁relig ion", + "op her", + "oph er", + "ophe r", + "o pher", + "▁C oll", + "▁Col l", + "▁Co ll", + "▁ Coll", + "▁dig ital", + "▁digit al", + "zi oni", + "z ioni", + "Se ction", + "Sec tion", + "S ection", + "▁резу льта", + "Foo t", + "F oot", + "con vert", + "conv ert", + "▁rece iving", + "Cont act", + "▁h ero", + "▁he ro", + "▁her o", + "sa m", + "s am", + "▁pos terior", + "▁poster ior", + "▁poste rior", + "ow i", + "o wi", + "An t", + "A nt", + "▁fl ags", + "▁flag s", + "▁fla gs", + "▁ flags", + "▁Ze aland", + "▁b ounds", + "▁bound s", + "▁ bounds", + "▁where as", + "▁whe reas", + "in fl", + "inf l", + "Pl ay", + "P lay", + "▁d emo", + "▁de mo", + "▁dem o", + "▁ demo", + "▁g ibt", + "▁gi bt", + "▁h ospital", + "▁hosp ital", + "▁v olta", + "▁vol ta", + "▁volt a", + "л ё", + "▁f ashion", + "▁ex ceed", + "▁exc eed", + "el enium", + "elen ium", + "It er", + "I ter", + "kr ie", + "k rie", + "▁integr ation", + "▁integra tion", + "▁ integration", + "▁Other wise", + "ad u", + "a du", + "Sh e", + "S he", + "on de", + "ond e", + "o nde", + "ui nt", + "u int", + "rad ius", + "▁r am", + "▁ra m", + "▁ ram", + "▁ál bum", + "▁т ур", + "▁ту р", + "▁ тур", + "▁d y", + "▁ dy", + "▁O tt", + "▁Ot t", + "▁пер и", + "▁пе ри", + "re v", + "r ev", + "ri or", + "rio r", + "r ior", + "í d", + "ir at", + "ira t", + "i rat", + "▁в клю", + "▁import ante", + "▁important e", + "▁Du ke", + "▁caus a", + "▁ca usa", + "▁Math emat", + "▁di plom", + "▁N icol", + "▁Nic ol", + "▁Ni col", + "▁ex clus", + "▁exc lus", + "▁debug ging", + "▁G h", + "or iginal", + "origin al", + "orig inal", + "ly n", + "l yn", + "▁P la", + "▁Pl a", + "su ite", + "suit e", + "ch at", + "cha t", + "c hat", + "▁e stud", + "▁est ud", + "ue lle", + "uel le", + "u elle", + "▁p ert", + "▁per t", + "▁pe rt", + "▁ pert", + "▁import ance", + "▁appro aches", + "▁approach es", + "▁d la", + "▁про ф", + "Pr es", + "Pre s", + "P res", + "< \\", + "pre fix", + "p refix", + "SS ION", + "S SION", + "ро ди", + "род и", + "count ry", + "c ountry", + "it zer", + "itz er", + "▁ко р", + "▁к ор", + "▁ кор", + "▁sing ular", + "go v", + "g ov", + "ри н", + "р ин", + "▁F A", + "▁ FA", + "▁mat rices", + "ol are", + "ola re", + "olar e", + "o lare", + "ni ka", + "nik a", + "n ika", + "po wer", + "pow er", + "p ower", + "ll a", + "l la", + "▁des ire", + "▁famil ia", + "▁fam ilia", + "до р", + "д ор", + "▁f an", + "▁fa n", + "▁ fan", + "gener ated", + "generate d", + "▁C os", + "▁Co s", + "▁ż e", + "▁ że", + "▁D iese", + "▁Die se", + "▁Di ese", + "▁Dies e", + "mo v", + "m ov", + "▁de note", + "▁den ote", + "\") ]", + "\" )]", + "ou vern", + "ouv ern", + "ouve rn", + "ouver n", + "am an", + "ama n", + "a man", + "▁in ser", + "▁ins er", + "▁inse r", + "ij k", + "i jk", + "ot ta", + "ott a", + "o tta", + "er al", + "era l", + "e ral", + "де ль", + "д ель", + "() ->", + "( )->", + "▁p oder", + "▁po der", + "▁pod er", + "▁pode r", + "ig es", + "ige s", + "i ges", + "▁On line", + "▁we ird", + "ia c", + "i ac", + "▁quel ques", + "▁quelque s", + "ère nt", + "è rent", + "▁t el", + "▁te l", + "▁ tel", + "▁L atin", + "▁Lat in", + "ver ter", + "vert er", + "verte r", + "ля р", + "ро и", + "▁p df", + "▁pd f", + "▁ pdf", + "▁key word", + "▁ keyword", + "Hand le", + "A fter", + "re ce", + "rec e", + "▁ident ical", + "style sheet", + "styles heet", + "▁стан ови", + "▁станов и", + "▁k a", + "▁ ka", + "ce ment", + "cem ent", + "c ement", + "те т", + "т ет", + "▁c hat", + "▁ch at", + "▁cha t", + "▁ chat", + "▁M un", + "▁Mu n", + "ał a", + "a ła", + "AN T", + "A NT", + "ol óg", + "▁f ant", + "▁fa nt", + "▁fan t", + "▁for est", + "▁fo rest", + "▁fore st", + "▁ви ко", + "cu ss", + "cus s", + "c uss", + "▁se hr", + "pa g", + "p ag", + "ot ic", + "oti c", + "▁á ll", + "▁ál l", + "▁ áll", + "ма ти", + "мат и", + "▁\" '", + "+ \"", + "An imation", + "Anim ation", + "ходи т", + "ход ит", + "az u", + "a zu", + "▁pl ays", + "▁play s", + "▁pla ys", + "▁ plays", + "iz ioni", + "izi oni", + "izio ni", + "i zioni", + "ми че", + "▁b omb", + "▁bo mb", + "▁bom b", + "▁mer ely", + "▁mere ly", + "▁hold ing", + "▁hol ding", + "▁w enn", + "▁we nn", + "▁wen n", + "▁m edic", + "▁me dic", + "▁med ic", + "▁medi c", + "▁spe aking", + "▁speak ing", + "ong odb", + "ongo db", + "▁Cam pe", + "▁Camp e", + "in ity", + "ini ty", + "init y", + "▁я нва", + "() `.", + "()` .", + "( )`.", + "lu ss", + "lus s", + "l uss", + "▁H istoire", + "▁His toire", + "▁Hist oire", + "▁oper ating", + "▁opera ting", + "Ch annel", + "▁accur acy", + "▁b os", + "▁bo s", + "▁ bos", + "▁ev ident", + "ци ю", + "event s", + "ev ents", + "even ts", + "text rm", + "or eign", + "ore ign", + "▁i i", + "▁ ii", + "hr en", + "hre n", + "h ren", + "lo wer", + "low er", + "l ower", + "▁т ом", + "▁то м", + "▁ том", + "▁Ab out", + "▁ About", + "▁a j", + "▁ aj", + "er i", + "e ri", + "сту пи", + "ступ и", + "▁di git", + "▁dig it", + "▁ digit", + "▁Sp ain", + "▁D aten", + "▁Date n", + "▁Da ten", + "▁Dat en", + "▁for me", + "▁form e", + "▁ш та", + "▁ шта", + "▁B ach", + "▁Ba ch", + "▁Bac h", + "no number", + "non umber", + "▁recomm ended", + "▁recommend ed", + "▁re ads", + "▁read s", + "his toire", + "h istoire", + "▁s ang", + "▁sa ng", + "▁san g", + "▁? ?", + "▁ ??", + "▁с тал", + "▁ст ал", + "▁ста л", + "sc ore", + "s core", + "fa s", + "f as", + "▁c ub", + "▁cu b", + "▁g rew", + "▁gr ew", + "▁gre w", + "▁cent ro", + "▁bek annt", + "Event s", + "BE R", + "B ER", + "he w", + "h ew", + "сс а", + "с са", + "▁major ity", + "ît re", + "î tre", + "en ci", + "enc i", + "▁Qu ery", + "▁Que ry", + "▁ Query", + "▁któ re", + "i ć", + "▁complex ity", + "▁Fran çois", + "const raint", + "ур на", + "═ ═", + "▁iter ate", + "le tt", + "let t", + "l ett", + "pe ror", + "per or", + "▁Neder land", + "sh are", + "sha re", + "▁incl u", + "▁inc lu", + "än ger", + "äng er", + "änge r", + "▁N ic", + "▁Ni c", + "ч о", + "F ull", + "▁ra pport", + "▁rapp ort", + "▁rap port", + "ec lipse", + "e clipse", + "▁indust ry", + "he aders", + "head ers", + "header s", + "▁Р и", + "ch sel", + "chs el", + "▁po lic", + "▁pol ic", + "sch ied", + "% ,", + "O D", + "▁J ak", + "▁Ja k", + "({ \\", + "( {\\", + "al igned", + "align ed", + "▁frequ ently", + "▁frequent ly", + "▁su oi", + "▁suo i", + "▁ess entially", + "▁essential ly", + "▁R ic", + "▁Ri c", + "▁re ports", + "▁report s", + "▁dec imal", + "ra r", + "r ar", + "▁F oo", + "▁Fo o", + "▁ Foo", + "▁K a", + "▁D C", + "▁ DC", + "▁sim pler", + "▁simple r", + "▁simp ler", + "▁simpl er", + "Pa ne", + "Pan e", + "P ane", + "? }", + "So rt", + "S ort", + "▁pos it", + "cd n", + "c dn", + "kt ur", + "▁aw k", + "▁ awk", + "зе р", + "з ер", + "P F", + "u ur", + "▁R oss", + "▁Ro ss", + "▁Ros s", + "▁m ant", + "▁ma nt", + "▁man t", + "N a", + "Con s", + "Co ns", + "C ons", + ")) ))", + "))) )", + ") )))", + "▁techn iques", + "▁techni ques", + "▁technique s", + "im pl", + "imp l", + "▁dro pped", + "▁drop ped", + "▁L ista", + "▁List a", + "▁Li sta", + "▁Lis ta", + "▁Bas ically", + "▁Basic ally", + "en tal", + "ent al", + "enta l", + "▁cel ui", + "▁str ategy", + "▁strateg y", + "▁strat egy", + "▁W ales", + "▁Wal es", + "▁Wa les", + "na n", + "n an", + "▁g min", + "▁gr öß", + "▁eer ste", + "▁eerst e", + "T im", + "nt en", + "n ten", + "re sp", + "res p", + "r esp", + "▁s table", + "▁st able", + "▁sta ble", + "▁ stable", + "no v", + "n ov", + "ro b", + "r ob", + "но ј", + "▁mar riage", + "get String", + "Aut hor", + "Auth or", + "▁G raf", + "▁Gr af", + "▁Gra f", + "▁di agram", + "▁diag ram", + "▁dia gram", + "gi a", + "g ia", + "Net work", + "N etwork", + "▁com posed", + "▁comp osed", + "▁compos ed", + "▁compose d", + "▁miss ed", + "▁mis sed", + "▁M eg", + "▁Me g", + "▁пра во", + "▁прав о", + "▁hom onymes", + "▁Bo oks", + "▁Book s", + "▁en cou", + "▁enc ou", + "port e", + "por te", + "p orte", + "▁rot ation", + "▁f ir", + "▁fi r", + "▁ fir", + "те льно", + "тель но", + "▁g un", + "▁gu n", + "▁ gun", + "▁A ff", + "▁Af f", + "▁ Aff", + "но к", + "н ок", + "▁Fuß ball", + "▁St ory", + "▁Sto ry", + "▁ Story", + "▁Ch ap", + "▁Cha p", + "▁) .", + "▁ ).", + "▁Se it", + "мо н", + "м он", + "▁t élé", + "▁té lé", + "▁cop ied", + "▁cons istent", + "▁consist ent", + "▁dr ink", + "▁C ham", + "▁Ch am", + "▁Cha m", + "▁mat ters", + "▁matter s", + "▁render ed", + "▁rend ered", + "▁rende red", + "▁hyp oth", + "œ uv", + "▁me er", + "▁par sing", + "▁P RO", + "▁PR O", + "▁ PRO", + "se ries", + "ser ies", + "serie s", + "s eries", + "▁z á", + "▁ zá", + "stra ße", + "▁B oot", + "▁Bo ot", + "▁ Boot", + "▁re po", + "▁rep o", + "▁ repo", + "wo r", + "w or", + "▁St ream", + "▁Stre am", + "▁ Stream", + "▁A N", + "▁ AN", + "▁п ів", + "▁пі в", + "▁S M", + "▁ SM", + "▁A rn", + "▁Ar n", + "▁ Ž", + "▁[ ];", + "▁[] ;", + "Res ources", + "Resource s", + "▁el abor", + "▁ela bor", + "▁E th", + "▁Et h", + "▁l iste", + "▁li ste", + "▁list e", + "▁rel atively", + "▁relative ly", + "▁relativ ely", + "ch ant", + "chan t", + "cha nt", + "=\" \"", + "= \"\"", + "▁l ift", + "▁li ft", + "▁lif t", + "C N", + "Service s", + "Serv ices", + "ME NT", + "M ENT", + "▁и гра", + "▁иг ра", + "▁ игра", + "б ре", + "▁J ord", + "▁Jo rd", + "▁t ec", + "▁te c", + "ш ка", + "▁S up", + "▁Su p", + "▁infl uen", + "▁influ en", + "on ds", + "ond s", + "hand ler", + "handle r", + "▁b anda", + "▁band a", + "▁ban da", + "▁vert ices", + "▁z ap", + "▁za p", + "▁c ord", + "▁cor d", + "▁co rd", + "▁ cord", + "al ter", + "alt er", + "ze nia", + "zen ia", + "z enia", + "ât eau", + "âte au", + "▁know ing", + "▁Argent ina", + "Ar ea", + "Are a", + "A rea", + "ан е", + "а не", + "f c", + "=\" /", + "= \"/", + "▁M ik", + "▁Mi k", + "at ă", + "ie ux", + "ieu x", + "▁deutsch en", + "▁deutsche n", + "▁trad itional", + "▁tradition al", + "de code", + "dec ode", + "ve x", + "v ex", + "▁size of", + "▁ sizeof", + "▁F un", + "▁Fu n", + "▁ Fun", + "▁par ser", + "▁parse r", + "▁ parser", + "▁Flor ida", + "▁build ings", + "▁building s", + "▁Man uel", + "ri le", + "ril e", + "r ile", + "▁log ged", + "▁strong ly", + "▁re vol", + "▁rev ol", + "не е", + "xi co", + "xic o", + "x ico", + "▁F air", + "▁Fa ir", + "ca rt", + "car t", + "c art", + "▁W ort", + "▁Wo rt", + "▁Wor t", + "▁Jes us", + "em es", + "eme s", + "e mes", + "sch rift", + "Input Stream", + "wa d", + "w ad", + "▁gran des", + "▁grand es", + "▁grande s", + "▁númer o", + "▁O tto", + "▁Ot to", + "▁Ott o", + "ien tes", + "ient es", + "iente s", + "i entes", + "▁fam ous", + "ol ogne", + "olog ne", + "J e", + "ни ш", + "▁Guer ra", + "bar a", + "ba ra", + "b ara", + "▁c ad", + "▁ca d", + "el ve", + "br ace", + "bra ce", + "b race", + "▁J r", + "st able", + "sta ble", + "stab le", + "s table", + "EC T", + "E CT", + "lem ma", + "med iate", + "medi ate", + "media te", + "▁v in", + "▁vi n", + "▁ vin", + "▁mon ument", + "▁c v", + "▁ cv", + "▁w inter", + "▁win ter", + "▁trans formation", + "▁transform ation", + "▁N ick", + "▁Nic k", + "▁Ni ck", + "str onom", + "▁f rag", + "▁fr ag", + "▁fra g", + "▁in tel", + "▁int el", + "▁inte l", + "ra ction", + "rac tion", + "ract ion", + "r action", + "▁consider ing", + "▁consid ering", + "▁F le", + "▁Fl e", + "▁ ло", + "▁A près", + "▁Ap rès", + "▁A M", + "▁ AM", + "▁H um", + "▁Hu m", + "▁m undo", + "NE R", + "N ER", + "▁Be low", + "▁Bel ow", + "▁го рода", + "▁горо да", + "▁город а", + "ar ters", + "art ers", + "arter s", + "arte rs", + "-- \"", + "▁П е", + "▁ Пе", + "î t", + "▁t xt", + "▁tx t", + "▁ txt", + "an gers", + "ang ers", + "ange rs", + "anger s", + "▁t hy", + "▁th y", + "▁ thy", + "CL A", + "C LA", + "ib les", + "ible s", + "i bles", + "▁request ed", + "▁requ ested", + "▁Alex and", + "▁fact ors", + "▁fa ctors", + "▁factor s", + "▁produ ces", + "▁produce s", + "ning en", + "n ingen", + "▁со стоя", + "▁optim ization", + "ch od", + "cho d", + "c hod", + "> `", + "▁Wik ip", + "nost i", + "nos ti", + "n osti", + "▁compet ition", + "▁H ann", + "▁Ha nn", + "▁Han n", + "▁z ona", + "▁zo na", + "d c", + "de sign", + "des ign", + "▁Z u", + "▁e spec", + "▁es pec", + "▁espe c", + "▁esp ec", + "equ ality", + "equal ity", + "e quality", + "▁A bb", + "▁Ab b", + "▁develop er", + "▁ developer", + "▁\" ^", + "▁Sh ort", + "▁Sho rt", + "▁ Short", + "▁pl ans", + "▁pla ns", + "▁plan s", + "▁v it", + "▁vi t", + "iz able", + "iza ble", + "burg h", + "bur gh", + "ag em", + "age m", + "a gem", + "▁Pr int", + "▁Pri nt", + "▁Prin t", + "▁ Print", + "í v", + "▁su itable", + "▁suit able", + "pi cker", + "pic ker", + "pick er", + "p icker", + "Pro file", + "an dy", + "and y", + "▁qu ot", + "▁ quot", + "▁Dur ante", + "▁Durant e", + "▁Fran cia", + "▁Fr ancia", + "▁Franc ia", + "▁t art", + "▁tar t", + "▁ta rt", + "▁V enez", + "▁Ve nez", + "▁Ven ez", + "▁dis patch", + "▁disp atch", + "▁ dispatch", + "▁observ ations", + "▁observation s", + "▁ ż", + "In valid", + "▁occ urr", + "▁occur r", + "▁oc curr", + "т ки", + "Mem ento", + "M emento", + "▁S yd", + "▁Sy d", + "▁tiem po", + "▁st aff", + "▁sta ff", + "▁se ctions", + "▁section s", + "▁sect ions", + "▁ sections", + "▁s sh", + "▁ss h", + "▁ ssh", + "▁N GC", + "ë l", + "▁er re", + "▁err e", + "▁div ided", + "▁divide d", + "▁divid ed", + "▁With out", + "▁du rant", + "▁dur ant", + "▁j aar", + "▁ja ar", + "▁ −", + "▁sold iers", + "▁soldier s", + "ун к", + "la pse", + "lap se", + "laps e", + "▁Val ley", + "▁Vall ey", + "▁Valle y", + "▁( :", + "▁ (:", + "re ra", + "rer a", + "r era", + "▁d ével", + "▁dé vel", + "▁p éri", + "▁pé ri", + "▁calcul ation", + "▁calc ulation", + "▁ke ine", + "▁kein e", + "er tain", + "ert ain", + "erta in", + "▁те ле", + "ру д", + "▁c ul", + "▁cu l", + "▁ cul", + "▁cl oth", + "▁clo th", + "; }", + "▁pr zed", + "▁prze d", + "▁prz ed", + "Mon th", + "Mo nth", + "Mont h", + "Pi cker", + "P icker", + "▁S V", + "▁ SV", + "ar ian", + "ari an", + "aria n", + "a rian", + "▁Re view", + "▁Rev iew", + "▁h ang", + "▁ha ng", + "▁han g", + "▁ hang", + "▁о кт", + "▁ок т", + "▁F ront", + "▁Fr ont", + "▁Fro nt", + "▁ Front", + "ot lin", + "▁trans lation", + "▁transl ation", + "▁m odo", + "▁mod o", + "▁mo do", + "▁stat istics", + "▁statist ics", + "▁N ue", + "▁Nu e", + "▁Ни кола", + "NU M", + "N UM", + "▁s hips", + "▁sh ips", + "▁ship s", + "▁ ships", + "▁Re port", + "▁Rep ort", + "▁ Report", + "{ [", + "E ffect", + "ie ri", + "ier i", + "i eri", + "▁par ties", + "▁part ies", + "▁partie s", + "▁parti es", + "pl a", + "p la", + "r w", + "▁Work s", + "▁Wor ks", + "▁i ron", + "▁ir on", + "▁att ract", + "▁attr act", + "▁attra ct", + "▁c ort", + "▁cor t", + "▁co rt", + "n á", + "▁Ste ve", + "▁b ene", + "▁be ne", + "▁ben e", + "то н", + "т он", + "ícul a", + "Tw o", + "T wo", + "▁г лав", + "▁гла в", + "▁V ideo", + "▁ Video", + "▁power ful", + "au ch", + "auc h", + "a uch", + "ma nde", + "man de", + "m ande", + "äch st", + "ächs t", + "La t", + "L at", + "▁z na", + "▁zn a", + "▁ zna", + "▁fig ures", + "▁figure s", + "▁figur es", + "▁a lias", + "▁al ias", + "▁ali as", + "▁ alias", + "ne x", + "n ex", + "▁c ategories", + "▁categ ories", + "▁categor ies", + "▁categorie s", + "▁ categories", + "cal led", + "call ed", + "c alled", + "▁Sim ilar", + "▁g irls", + "▁girl s", + "▁gir ls", + "pe z", + "p ez", + "▁j oint", + "▁jo int", + "▁join t", + "▁ joint", + "ро го", + "р ого", + "ik en", + "ike n", + "i ken", + "чи на", + "чин а", + "an cia", + "anc ia", + "anci a", + "▁t ijd", + "▁ti jd", + "▁R ose", + "▁Ro se", + "▁Ros e", + "▁alg orithms", + "▁algorithm s", + "▁print ing", + "▁prin ting", + "ne a", + "n ea", + "▁exec uting", + "▁execut ing", + "▁l ambda", + "▁ lambda", + "▁reg ional", + "▁region al", + "▁Co pa", + "▁Cop a", + "F oo", + "ph ys", + "phy s", + "z m", + "▁L aur", + "▁La ur", + "▁Lau r", + "▁candid ate", + "▁J a", + "zy m", + "z ym", + "Ex ample", + "▁s piel", + "▁sp iel", + "▁ spiel", + "▁д ей", + "▁де й", + "▁ дей", + "ne hmen", + "neh men", + "nehm en", + "ke iten", + "keit en", + "▁с ент", + "int ent", + "inte nt", + ". (", + "▁пер вы", + "pr om", + "pro m", + "p rom", + "▁n at", + "▁na t", + "▁ nat", + "▁im agine", + "▁imag ine", + "call back", + "com ponents", + "component s", + "with out", + "▁a quest", + "▁aqu est", + "Su pport", + "Supp ort", + "▁respons ible", + "▁j ego", + "▁je go", + "l j", + "wi ll", + "w ill", + "le an", + "lea n", + "el and", + "ela nd", + "e land", + "olog ía", + "m c", + "Pro xy", + "▁o cup", + "▁oc up", + "▁на ходи", + "▁r ub", + "▁ru b", + "ні в", + "н ів", + "▁F all", + "▁Fa ll", + "▁Fal l", + "am os", + "amo s", + "a mos", + "▁E p", + "en tre", + "ent re", + "entr e", + "fa il", + "f ail", + "W orld", + "▁Ed itor", + "▁Edit or", + "▁ Editor", + "▁ex pos", + "▁exp os", + "▁f inds", + "▁find s", + "▁fin ds", + "▁C ulture", + "▁Cult ure", + "▁ Culture", + "LE ASE", + "▁m ovie", + "▁mov ie", + "▁mo vie", + "▁ movie", + "< =", + "omet ric", + "o metric", + "el ing", + "eli ng", + "elin g", + "e ling", + "numer able", + "ou rd", + "our d", + "o urd", + "▁S ea", + "▁Se a", + "▁b ild", + "▁bi ld", + "▁bil d", + "▁ bild", + "▁о ста", + "▁ос та", + "▁ост а", + "bl o", + "b lo", + "▁l ose", + "▁lo se", + "▁los e", + "▁ lose", + "at eurs", + "ate urs", + "ateur s", + "ou red", + "our ed", + "oure d", + "o ured", + "▁B att", + "▁Ba tt", + "▁Bat t", + "() ;\r", + "(); \r", + "( );\r", + "▁p oz", + "▁po z", + "pos ts", + "post s", + "pe nd", + "pen d", + "p end", + "cer tain", + "cert ain", + "c ertain", + "ни ком", + "ник ом", + "J ust", + "web kit", + "dem ás", + "~~ ~~", + "▁indic ates", + "▁indicate s", + "▁p ark", + "▁par k", + "▁ park", + "ri que", + "r ique", + "vo d", + "v od", + "▁Ch amp", + "▁Cham p", + "▁Cha mp", + "ft ware", + "OP T", + "O PT", + "dj ango", + "d jango", + "re lease", + "▁ È", + "S R", + "▁polit ician", + "▁r oi", + "▁ro i", + "at uren", + "atur en", + "ature n", + "atu ren", + "▁Deutsch e", + "ta gon", + "tag on", + "t agon", + "▁M ov", + "▁Mo v", + "ob ierno", + "obi erno", + "▁da ß", + "ut her", + "uth er", + "u ther", + "in di", + "ind i", + "▁Wik ipedia", + "▁Wikip edia", + "▁Wikiped ia", + "▁a nos", + "▁an os", + "▁ano s", + "▁ anos", + "▁ob serve", + "▁obser ve", + "▁observ e", + "▁obs erve", + "el ly", + "ell y", + "▁rail way", + "at on", + "ato n", + "a ton", + "▁e num", + "▁en um", + "▁ enum", + "hu s", + "h us", + "▁in hab", + "P si", + "oir e", + "oi re", + "o ire", + "▁Х о", + "▁S pace", + "▁Sp ace", + "▁ Space", + "▁Ар хи", + "▁an terior", + "▁ante rior", + "▁ Ł", + "is ons", + "ison s", + "iso ns", + "I l", + "▁am éric", + "la ps", + "lap s", + "l aps", + "▁B BC", + "▁BB C", + "QUE ST", + "Con stra", + "Const ra", + "Cons tra", + "mon t", + "mo nt", + "m ont", + "ä ft", + "▁ä ven", + "ub ern", + "ube rn", + "uber n", + "u bern", + "< !--", + "▁c oding", + "▁co ding", + "▁cod ing", + "the ory", + "at hed", + "ath ed", + "▁Ar be", + "▁ш и", + "▁ ши", + "for Each", + "om orphism", + "omorph ism", + "det ails", + "detail s", + "ach sen", + "in tegr", + "int egr", + "inte gr", + "V or", + "Un known", + "ace ae", + "a ceae", + "in ue", + "inu e", + "es ome", + "eso me", + "e some", + "▁F ir", + "ch ain", + "cha in", + "▁extrem ely", + "▁extreme ly", + "mult icol", + "multi col", + "▁Sw ift", + "▁address es", + "▁addr esses", + "hs pace", + "h space", + "▁Ro ger", + "▁Rog er", + "▁d essen", + "▁des sen", + "▁dess en", + "▁con sequ", + "▁cons equ", + "▁conse qu", + "ual mente", + "▁Pre mier", + "▁Prem ier", + "▁Re cord", + "▁Rec ord", + "▁ Record", + "▁B ron", + "▁Br on", + "▁Bro n", + "ki r", + "k ir", + "se x", + "s ex", + "in tern", + "int ern", + "inter n", + "inte rn", + "▁benef it", + "▁bene fit", + "um en", + "ume n", + "u men", + "▁be coming", + "▁bec oming", + "▁becom ing", + "▁l ig", + "▁li g", + "▁ lig", + "▁pop ula", + "▁popul a", + "os c", + "o sc", + "▁c iv", + "▁ci v", + "▁great est", + "▁pro ces", + "▁proc es", + "] *", + "▁ме сто", + "▁мест о", + "▁' $", + "▁ '$", + "he ll", + "hel l", + "h ell", + "(\" \\", + "( \"\\", + "▁n ine", + "▁ni ne", + "▁nin e", + "▁F ac", + "▁Fa c", + "ul pt", + "ulp t", + "jo urs", + "jou rs", + "j ours", + "▁C opy", + "▁Co py", + "▁Cop y", + "▁ Copy", + "▁activ ities", + "▁Dem ocr", + "▁Demo cr", + "E s", + "Su ccess", + "▁E sta", + "▁Est a", + "▁Es ta", + "it ul", + "itu l", + "is ti", + "ist i", + "▁B ed", + "▁Be d", + "ja s", + "j as", + "▁т ем", + "▁те м", + "▁ тем", + "▁H ung", + "▁Hu ng", + "▁Hun g", + "G ame", + "▁he av", + "onn ées", + "▁branch es", + "▁bran ches", + "bo rg", + "bor g", + "b org", + "▁v l", + "▁ vl", + "▁slow ly", + "F a", + "Go ogle", + "em i", + "e mi", + "▁circumst ances", + "▁' %", + "▁U nd", + "▁Un d", + "▁ Und", + "▁Vict oria", + "▁Victor ia", + "▁T yp", + "▁Ty p", + "▁ Typ", + "rupt ed", + "rup ted", + "▁rel ativ", + "▁s lo", + "▁sl o", + "▁p adre", + "▁pad re", + "▁d aily", + "▁da ily", + "▁dai ly", + "▁or th", + "▁ort h", + "▁ orth", + "чни й", + "ч ний", + "▁fran zös", + "▁t eil", + "▁te il", + "▁ teil", + "▁Se curity", + "▁Sec urity", + "▁ Security", + "or don", + "ord on", + "ordo n", + "▁s weet", + "▁swe et", + "SI ZE", + "▁C el", + "▁Ce l", + "èt res", + "è tres", + "om mes", + "omm es", + "▁с і", + "▁ сі", + "▁effort s", + "ą z", + "▁oh ne", + "▁South ern", + "▁Sou thern", + "▁approxim ately", + "▁approximate ly", + "це н", + "ц ен", + "(' #", + "▁s aving", + "▁sa ving", + "▁sav ing", + "nb sp", + "▁trans late", + "▁transl ate", + "▁ translate", + "▁Î n", + "mem ber", + "m ember", + "▁l aws", + "▁la ws", + "▁law s", + "▁ж ен", + "▁же н", + "▁ жен", + "▁си сте", + "t c", + "> \\", + "el te", + "elt e", + "▁e hem", + "▁con trad", + "▁cont rad", + "▁contr ad", + "▁contra d", + "▁ру с", + "▁р ус", + "▁ рус", + "ь я", + "▁M iddle", + "▁ Middle", + "qu ip", + "qui p", + "▁c hez", + "▁ch ez", + "▁che z", + "▁ chez", + "Field s", + "▁per mit", + "▁perm it", + "ik el", + "ike l", + "i kel", + "▁w ir", + "▁t rial", + "▁tr ial", + "▁tri al", + "▁ver schied", + "▁versch ied", + "▁ф ев", + "▁фе в", + "▁m ale", + "▁ma le", + "▁mal e", + "▁ male", + "▁я зы", + "▁ny el", + "ak ter", + "akt er", + "akte r", + "a kter", + "▁den omin", + "cept or", + "cep tor", + "▁W at", + "▁Wa t", + "▁f ino", + "▁fin o", + "▁fi no", + "▁XV III", + "▁XVI II", + "▁XVII I", + "ry ption", + "rypt ion", + "de sc", + "des c", + "d esc", + "ap a", + "a pa", + "ле на", + "лен а", + "л ена", + "▁k ol", + "▁ko l", + "▁ kol", + "▁ Є", + "▁dep endent", + "▁depend ent", + "▁ dependent", + "▁C ra", + "▁Cr a", + "▁st orm", + "▁stor m", + "▁sto rm", + "▁Г ер", + "▁Ге р", + "▁p ipe", + "▁pi pe", + "▁pip e", + "▁ pipe", + "▁att ended", + "▁attend ed", + "▁v ita", + "▁vi ta", + "▁vit a", + "uz ione", + "u zione", + "cz as", + "cza s", + "c zas", + "on da", + "ond a", + "▁b old", + "▁bo ld", + "▁bol d", + "▁ bold", + "Column s", + "ic ió", + "ici ó", + "i ció", + "▁c zę", + "▁cz ę", + "▁из вест", + "▁Cl oud", + "▁Clo ud", + "▁ Cloud", + "▁w arm", + "▁war m", + "▁wa rm", + "▁с ы", + "▁ сы", + "▁с те", + "▁ст е", + "▁ сте", + "▁produ cer", + "▁produce r", + "▁Lud wig", + "▁Nor thern", + "▁North ern", + "ł ą", + "NS String", + "▁H ad", + "▁Ha d", + "▁И ван", + "▁E g", + "▁I mp", + "▁Im p", + "▁ Imp", + "ш і", + "▁A uch", + "▁Au ch", + "то к", + "т ок", + "▁H it", + "▁Hi t", + "▁qu ien", + "▁qui en", + "▁de partment", + "▁depart ment", + "▁erh ielt", + "▁u i", + "▁ ui", + "▁S pr", + "▁Sp r", + "се р", + "с ер", + "ou rt", + "our t", + "o urt", + "▁Ste phen", + "▁Step hen", + "▁Steph en", + "te am", + "▁z ip", + "▁ zip", + "▁B ang", + "▁Ba ng", + "▁Ban g", + "▁grow th", + "▁j am", + "▁ja m", + "▁K ais", + "▁Ka is", + "b matrix", + "▁As ia", + "▁rég ion", + "= /", + "▁Pac ific", + "▁author ity", + "▁# [", + "та ми", + "там и", + "▁every one", + "▁att end", + "▁atte nd", + "▁ attend", + "▁tim estamp", + "▁ timestamp", + "▁t ries", + "▁tr ies", + "▁tri es", + "▁f f", + "▁ ff", + "ше й", + "ш ей", + "▁develop ing", + "ol t", + "o lt", + "up s", + "u ps", + "▁moment o", + "▁mom ento", + "▁S ain", + "▁Sa in", + "Te rm", + "T erm", + "▁c elle", + "▁ce lle", + "▁cell e", + "▁cel le", + "G R", + "Mo use", + "M ouse", + "▁челов ек", + "▁челове к", + "▁Col lection", + "▁Coll ection", + "▁Collect ion", + "▁ Collection", + "ât re", + "â tre", + "▁W rite", + "▁Writ e", + "▁ Write", + "▁P om", + "▁Po m", + "[ -", + "Ca m", + "C am", + "▁loc ations", + "▁location s", + "▁J son", + "▁ Json", + "el led", + "ell ed", + "elle d", + "select or", + "sel ector", + "re peat", + "ct ors", + "ctor s", + "ot te", + "ott e", + "o tte", + "ви зи", + "änd e", + "än de", + "ä nde", + "▁ach ieved", + "▁achieve d", + "▁achiev ed", + "▁main ly", + "____ ____", + "! )", + "▁явля ется", + "▁c ities", + "▁ci ties", + "▁cit ies", + "sing le", + "sin gle", + "г ре", + "▁P ak", + "▁Pa k", + "▁allow ing", + "▁allo wing", + "fer red", + "▁а пре", + "хо дя", + "ход я", + "▁brow sers", + "▁browser s", + "▁es crit", + "▁esc rit", + "▁escri t", + "▁mount ain", + "▁network s", + "▁net works", + "ki nd", + "kin d", + "k ind", + "li ver", + "live r", + "liv er", + "l iver", + "▁cl osing", + "▁clos ing", + "▁clo sing", + "▁sk ip", + "▁ski p", + "▁ skip", + "ú t", + "▁d uration", + "▁dur ation", + "▁ duration", + "ét ait", + "éta it", + "é tait", + "▁s cr", + "▁sc r", + "▁ scr", + "B B", + "ór ia", + "ó ria", + "▁K ultur", + "▁Kult ur", + "▁output s", + "multi column", + "multicol umn", + "▁bel ongs", + "▁belong s", + "fe ature", + "uc ky", + "uck y", + "▁j uli", + "▁ju li", + "▁jul i", + "▁рай она", + "▁райо на", + "▁район а", + "з во", + "fact ory", + "factor y", + "f actory", + "Fun c", + "F unc", + "▁ut ter", + "▁ utter", + "▁TO DO", + "▁o bt", + "▁ob t", + "ateg ories", + "ategor ies", + "▁com bine", + "▁comb ine", + "▁combin e", + "▁W all", + "▁Wal l", + "▁Wa ll", + "▁under lying", + "ar ono", + "aron o", + "aro no", + "▁P rote", + "▁Pro te", + "▁Pr ote", + "c ów", + "st an", + "sta n", + "s tan", + "▁G ew", + "▁Ge w", + "▁opt imal", + "▁optim al", + "▁Archiv link", + "▁S cript", + "▁ Script", + "▁destroy ed", + "х е", + "▁Fire fox", + "▁s ole", + "▁so le", + "▁sol e", + "▁ sole", + "La yer", + "L ayer", + "т ку", + "▁st ores", + "▁stor es", + "▁store s", + "▁sto res", + "▁dis plays", + "▁display s", + "is hing", + "ish ing", + "ishi ng", + "▁о ст", + "▁ос т", + "▁inst ant", + "▁el ő", + "▁habit antes", + "▁Ein wo", + "▁a li", + "▁al i", + "▁ ali", + "▁ER ROR", + "▁ERR OR", + "▁ ERROR", + "▁a head", + "▁ah ead", + "▁go als", + "▁goal s", + "▁m ár", + "▁má r", + "▁s ą", + "▁m art", + "▁ma rt", + "▁mar t", + "▁ mart", + "мини стра", + "F r", + "▁V illa", + "▁Vill a", + "▁Vi lla", + "▁Vil la", + "▁M arc", + "▁Mar c", + "▁Ma rc", + "ro py", + "rop y", + "r opy", + "ag ram", + "agr am", + "a gram", + "ha pe", + "h ape", + "ме й", + "м ей", + "▁A L", + "▁ AL", + "▁conne xes", + "▁En tre", + "▁Ent re", + "St ep", + "Ste p", + "лі в", + "л ів", + "▁De ath", + "▁r ise", + "▁ris e", + "▁ri se", + "▁f os", + "▁fo s", + "▁l ev", + "▁le v", + "▁ lev", + "ga be", + "g abe", + "▁b roke", + "▁br oke", + "▁bro ke", + "product s", + "▁m edi", + "▁me di", + "▁med i", + "▁ medi", + "▁dis pon", + "▁disp on", + "Pack age", + "P ackage", + "Image View", + "▁N ag", + "▁Na g", + "uj ą", + "u ją", + "W ord", + "▁k ole", + "▁ko le", + "▁kol e", + "ße r", + "ß er", + ")` .", + ") `.", + "▁r ol", + "▁ro l", + "▁ rol", + "▁ í", + "те й", + "т ей", + "Pro gress", + "be an", + "▁s empre", + "▁sem pre", + "State ment", + "Stat ement", + "UP DATE", + "▁mond iale", + "▁w rapper", + "▁wr apper", + "▁wra pper", + "▁wrap per", + "▁ wrapper", + "▁C hart", + "▁Ch art", + "▁Char t", + "▁Cha rt", + "▁ Chart", + "▁on Click", + "че ння", + "чен ня", + "LO G", + "some thing", + "som ething", + "s omething", + "▁IN SERT", + "▁ INSERT", + "ще ния", + "ue t", + "u et", + "wer p", + "we rp", + "ro und", + "rou nd", + "r ound", + "ic hen", + "ich en", + "iche n", + "i chen", + "▁X VI", + "▁XV I", + "з ни", + "▁ave va", + "▁St ore", + "▁Sto re", + "▁ Store", + "▁x s", + "▁ xs", + "ra cht", + "rac ht", + "rach t", + "r acht", + "sc ar", + "s car", + "▁op era", + "▁oper a", + "▁ opera", + "▁deg rees", + "▁degree s", + "▁cit iz", + "äs ident", + "▁class ical", + "▁classic al", + "▁Jer sey", + "▁er sch", + "▁ers ch", + "▁ ersch", + "▁treat ment", + "▁насе ље", + "н ня", + "▁bo ost", + "▁ boost", + "am ount", + "amo unt", + "a mount", + "▁со зда", + "ér ieur", + "érie ur", + "éri eur", + "▁t elling", + "▁tell ing", + "▁tel ling", + "Ha s", + "H as", + "▁in iti", + "▁init i", + "▁П и", + "ev al", + "e val", + "▁M atch", + "▁Mat ch", + "▁ Match", + "▁cor re", + "▁corr e", + "Point er", + "Po inter", + "▁pass es", + "▁passe s", + "comp any", + "▁а н", + "▁ ан", + "ach es", + "ac hes", + "ache s", + "a ches", + "▁sig lo", + "не м", + "н ем", + "▁ex change", + "▁ exchange", + "ci to", + "cit o", + "c ito", + "▁B ab", + "▁Ba b", + "Do c", + "D oc", + "ze ś", + "▁на род", + "▁ народ", + "▁conf lict", + "▁conflic t", + "▁confl ict", + "▁nov ember", + "ea u", + "e au", + "ö v", + "▁H ub", + "▁Hu b", + "▁ Hub", + "▁p oco", + "▁po co", + "▁poc o", + "en sa", + "ens a", + "sch ließ", + "lass e", + "las se", + "l asse", + "data s", + "dat as", + "▁с ти", + "▁ст и", + "▁ сти", + "un ivers", + "uni vers", + "ek s", + "e ks", + "▁C ho", + "▁Ch o", + "▁ Cho", + "▁c ô", + "▁( .", + "▁ (.", + "ew nę", + "▁Ch ief", + "▁Chi ef", + "▁ch ef", + "▁che f", + "▁у прав", + "ul i", + "u li", + "▁' ''", + "▁'' '", + "▁ '''", + "nap shot", + "▁re lac", + "▁rel ac", + "▁rela c", + "ég e", + "é ge", + "w t", + "we nd", + "wen d", + "w end", + "os ing", + "osi ng", + "o sing", + "▁ha cer", + "▁hace r", + "▁ф ран", + "au tres", + "aut res", + "autre s", + "▁f ils", + "▁fil s", + "▁fi ls", + "er ed", + "ere d", + "e red", + "▁По силання", + "▁th erm", + "▁the rm", + "▁ther m", + "ер жа", + "su ch", + "s uch", + "▁i hren", + "▁ih ren", + "▁ihr en", + "▁ihre n", + "▁en contr", + "▁l ots", + "▁lo ts", + "▁lot s", + "lo go", + "log o", + "l ogo", + "▁W i", + "/ (", + "ш ње", + "DA TA", + "DAT A", + "D ATA", + "▁P layer", + "▁Pl ayer", + "▁Play er", + "▁Pla yer", + "▁ Player", + "▁Leip zig", + "▁rel atives", + "▁relative s", + "▁relativ es", + "ре в", + "р ев", + "▁new sp", + "▁news p", + "? ,", + "▁St utt", + "▁Stu tt", + "▁d ual", + "▁du al", + "▁compan ies", + "▁z am", + "▁za m", + "put ation", + "▁in equality", + "▁t rem", + "▁tr em", + "▁tre m", + "hi ps", + "hip s", + "h ips", + "an ch", + "anc h", + "▁ Ż", + "бур г", + "▁cop ies", + "da sh", + "das h", + "d ash", + "во р", + "в ор", + "spiel er", + "s pieler", + "▁Re volution", + "▁Revol ution", + "es ty", + "est y", + "e sty", + "▁j unto", + "▁jun to", + "▁junt o", + "▁Ind eed", + "ok al", + "oka l", + "o kal", + "ctr ine", + "▁F ord", + "▁For d", + "▁Fo rd", + "▁C REATE", + "▁ CREATE", + "▁w alls", + "▁wall s", + "▁wal ls", + "▁a ute", + "▁au te", + "▁aut e", + "S U", + "wh y", + "w hy", + "plement ation", + "ro ut", + "rou t", + "r out", + "Mat rix", + "▁s ad", + "▁sa d", + "ан а", + "а на", + "▁P ic", + "▁Pi c", + ". “", + "▁A C", + "▁ AC", + "▁F est", + "▁Fe st", + "▁des ktop", + "▁ desktop", + "▁P ay", + "▁Pa y", + "▁ Pay", + "ome times", + "omet imes", + "▁T ak", + "▁Ta k", + "ра б", + "▁S ever", + "▁Se ver", + "▁nor thern", + "▁north ern", + "an ter", + "ant er", + "ante r", + "▁Mod ern", + "▁Mo dern", + "▁Mode rn", + "wa l", + "w al", + "{ \r", + "on line", + "ö k", + "▁brit ann", + "$ _", + "▁j ar", + "▁ja r", + "▁ jar", + "T L", + "xx xx", + "xxx x", + "x xxx", + "mer ge", + "▁N amen", + "▁Name n", + "▁Na men", + "▁Nam en", + "▁K EY", + "▁ KEY", + "▁re fers", + "▁ref ers", + "▁refer s", + "▁h in", + "▁hi n", + "▁ hin", + "▁Vol ks", + "▁Volk s", + "st eller", + "stell er", + "stelle r", + "vi ation", + "via tion", + "v iation", + "on io", + "oni o", + "o nio", + "ight er", + "igh ter", + "Com pat", + "Comp at", + "▁C E", + "▁ CE", + "▁p ró", + "▁pr ó", + "▁encuent ra", + "the orem", + "▁pub li", + "▁Develop ment", + "н д", + "▁r os", + "▁ro s", + "▁ ros", + "▁s hr", + "▁sh r", + "se au", + "s eau", + "▁gener ating", + "▁gene rating", + "▁difficult y", + "▁Ex press", + "▁Exp ress", + "▁ Express", + "Al ignment", + "de utsch", + "▁Вла ди", + "▁sugg ests", + "▁suggest s", + "▁Famil y", + "▁Fam ily", + "▁ Family", + "bb i", + "b bi", + "]) .", + "] ).", + "st aw", + "sta w", + "▁pres idente", + "▁president e", + "▁presiden te", + "▁st esso", + "in x", + "i nx", + "set up", + "▁con form", + "▁conf orm", + "▁f ro", + "▁fr o", + "=\\ \"", + "= \\\"", + "▁d å", + "ic iones", + "ici ones", + "icio nes", + "icion es", + "i ciones", + "▁e volution", + "▁evol ution", + "pr ote", + "pro te", + "p rote", + "▁pr ints", + "▁print s", + "▁prin ts", + "▁P ont", + "▁Po nt", + "▁Pon t", + "▁conf usion", + "▁ Й", + "▁d ello", + "▁del lo", + "▁dell o", + "▁man if", + "Def inition", + "ár a", + "á ra", + "ma ls", + "mal s", + "m als", + "▁s ale", + "▁sa le", + "▁sal e", + "▁drop down", + "▁ dropdown", + "Ch ain", + "Amer ican", + "America n", + "▁m k", + "▁ mk", + "▁B ez", + "▁Be z", + "▁F ue", + "▁Fu e", + "▁N E", + "▁ NE", + "гра фи", + "граф и", + "doc ker", + "do cker", + "d ocker", + "▁^ {", + "▁ ^{", + "As sert", + "Ass ert", + "▁hor izontal", + "▁horizon tal", + "▁ horizontal", + "(@ \"", + "( @\"", + "▁д ву", + "pro xy", + "U ri", + "gen cy", + "g ency", + "▁\" [", + "▁Q t", + "▁ Qt", + "▁N ames", + "▁Name s", + "▁Na mes", + "▁Nam es", + "▁ Names", + "▁evalu ate", + "▁eval uate", + "! /", + "▁ein ges", + "▁eing es", + "▁syn th", + "▁sy nth", + "▁You Tube", + "▁turn ing", + "▁tur ning", + "▁E ric", + "▁Er ic", + "▁б ли", + "▁ бли", + "▁k lub", + "▁kl ub", + "pl orer", + "▁s ports", + "▁sport s", + "▁s ia", + "▁si a", + "о ш", + "▁d ai", + "▁da i", + "▁e urope", + "▁europ e", + "▁euro pe", + "ic ians", + "ici ans", + "ician s", + "icia ns", + "ings områ", + "▁d re", + "▁dr e", + "▁work around", + "▁s uit", + "▁su it", + "▁ suit", + "amb igu", + "▁quant ity", + "▁ quantity", + "▁seg undo", + "Sym bol", + "S ymbol", + "▁m oral", + "▁mo ral", + "▁mor al", + "Ch art", + "Char t", + "C hart", + "▁da mit", + "▁dam it", + "▁attempt s", + "▁d onn", + "▁do nn", + "▁don n", + "jo s", + "j os", + "▁e re", + "▁er e", + "▁ ere", + "▁hom me", + "▁ homme", + "si mp", + "sim p", + "s imp", + "rypt ed", + "▁act s", + "▁ac ts", + "inner HTML", + "▁tourn ament", + "▁s ky", + "▁sk y", + "▁ sky", + "Time r", + "Tim er", + "T imer", + "▁mill ions", + "▁million s", + "^ +", + "ag ent", + "age nt", + "agen t", + "a gent", + "') );", + "')) ;", + "' ));", + "▁o st", + "▁os t", + "▁ ost", + "▁g la", + "▁gl a", + "▁по мо", + "▁f ün", + "ст вом", + "ств ом", + "ство м", + "ewnę trz", + "▁Mé xico", + "▁l ub", + "▁lu b", + "▁ lub", + "▁É d", + "if ik", + "ifi k", + "i fik", + "че ский", + "▁im mer", + "▁imm er", + "▁ immer", + "en sen", + "ens en", + "ense n", + "an ny", + "ann y", + "in line", + "▁g over", + "▁go ver", + "au c", + "a uc", + "▁re pre", + "▁rep re", + "▁repr e", + "▁histor ia", + "▁hist oria", + "A g", + "▁p lt", + "▁pl t", + "▁Pr inci", + "▁Prin ci", + "im eter", + "ime ter", + "imet er", + "i meter", + "ő s", + "š e", + "▁U E", + "▁ UE", + "Equ als", + "Equal s", + "Eq uals", + "Dis patch", + "le gen", + "leg en", + "lege n", + "l egen", + "ла зи", + "чно й", + "ч ной", + "▁st ell", + "▁ste ll", + "▁ stell", + "ń st", + "▁c ri", + "▁cr i", + "▁ cri", + "▁In dep", + "▁Ind ep", + "è de", + "}\\ )", + "} \\)", + "▁w yst", + "▁wy st", + "▁wys t", + "▁fig ured", + "▁figure d", + "▁figur ed", + "AT CH", + "éb en", + "é ben", + "la cht", + "lac ht", + "lach t", + "l acht", + "▁succeed ed", + "gr y", + "g ry", + "▁p ret", + "▁pr et", + "▁pre t", + "▁ pret", + "▁S af", + "▁Sa f", + "▁\" );", + "▁\") ;", + "▁ \");", + "e h", + "▁offic iel", + "▁offici el", + "краї н", + "wi nd", + "win d", + "w ind", + "▁sc atter", + "▁F ox", + "▁Fo x", + "ic ious", + "ici ous", + "icio us", + "i cious", + "Man y", + "Ma ny", + "M any", + "up er", + "u per", + "▁Con vert", + "▁ Convert", + "st erd", + "ste rd", + "ster d", + "▁St ein", + "▁Ste in", + "▁О т", + "}^ {(", + "}^{ (", + "} ^{(", + "bet ween", + "hi re", + "h ire", + "▁on Create", + "▁ onCreate", + "; ", + "- ->", + "▁p ří", + "▁př í", + "pan das", + "p andas", + "▁P lus", + "▁Pl us", + "▁ Plus", + "yl l", + "y ll", + "▁t error", + "▁te rror", + "▁ter ror", + "▁c rim", + "▁cr im", + "▁cri m", + "▁z ak", + "▁za k", + "▁ zak", + "iss ue", + "pa nel", + "pan el", + "p anel", + "sv g", + "▁re b", + "▁r eb", + "▁ reb", + "Custom er", + "sw itch", + "об ра", + "о бра", + "▁Champion ships", + "▁Championship s", + "▁Champions hips", + "cl o", + "c lo", + "at te", + "att e", + "a tte", + "▁any more", + "▁excell ent", + "▁opport unity", + "▁opportun ity", + "▁B ahn", + "▁Ba hn", + "▁Bah n", + "чи н", + "ч ин", + "et ing", + "eti ng", + "e ting", + "▁inc ident", + "to m", + "t om", + "Per s", + "Pe rs", + "P ers", + "bb en", + "bbe n", + "b ben", + "ствен ной", + "ственно й", + "и х", + "ro uter", + "route r", + "rout er", + "rou ter", + "r outer", + "▁new ly", + "▁sil ence", + "▁G NU", + "▁R ails", + "▁Ra ils", + "▁Rail s", + "▁A mb", + "▁Am b", + "▁Q ual", + "▁Qu al", + "▁ Qual", + "▁Sch aus", + "▁Sc haus", + "▁S ohn", + "▁So hn", + "▁A LL", + "▁AL L", + "▁ ALL", + "▁ro yal", + "▁roy al", + "▁ £", + "wi ę", + "w ię", + "▁ent fer", + "▁Re move", + "▁Rem ove", + "▁ Remove", + "▁hard ly", + "Us ing", + "U sing", + "ло г", + "▁I ch", + "▁d erni", + "▁der ni", + "▁Con nection", + "▁Connect ion", + "▁ Connection", + "fi sh", + "f ish", + "▁In form", + "▁Inf orm", + "▁Info rm", + "▁E ner", + "▁En er", + "ro it", + "r oit", + "B bb", + "View Model", + "V ideo", + "il ey", + "ile y", + "i ley", + "▁м ного", + "▁мно го", + "▁G em", + "▁Ge m", + "▁comp reh", + "▁compr eh", + "en umerate", + "ul as", + "ula s", + "u las", + "▁B ah", + "▁Ba h", + "▁Y et", + "▁Ye t", + "B R", + "х ра", + "▁count y", + "▁coun ty", + "▁H ist", + "▁His t", + "▁Hi st", + "▁Г у", + "▁ Ј", + "▁m ari", + "▁ma ri", + "▁mar i", + "▁C lar", + "▁Cl ar", + "▁Cla r", + "Bit map", + "B itmap", + "▁C z", + "▁m ån", + "▁må n", + "▁m ere", + "▁me re", + "▁mer e", + "▁mus ique", + "al so", + "als o", + "date s", + "da tes", + "dat es", + "d ates", + "▁D VD", + "▁g ol", + "▁go l", + "fo ny", + "fon y", + "f ony", + "▁Cast le", + "▁фа ми", + "▁arr ang", + "▁Bus iness", + "▁K az", + "▁Ka z", + "▁o sc", + "▁os c", + "▁ osc", + "▁se colo", + "▁sec olo", + "▁aff ected", + "▁affect ed", + "▁He alth", + "re b", + "r eb", + "ed itor", + "edit or", + "edi tor", + "▁own ed", + "▁ow ned", + "▁ owned", + "t l", + "▁v í", + "▁ ví", + "чни х", + "ч них", + "к ви", + "▁dev ient", + "▁devi ent", + "M utable", + "▁t egen", + "▁te gen", + "Reg ister", + "є ю", + "▁car acter", + "лл и", + "л ли", + "▁n ouvelle", + "▁nouve lle", + "ok o", + "o ko", + "icht et", + "ichte t", + "▁e vol", + "▁ev ol", + "▁H ab", + "▁Ha b", + "▁mil itar", + "▁milit ar", + "▁p uts", + "▁put s", + "▁pu ts", + "end if", + "endi f", + "▁Dav is", + "▁Da vis", + "▁Scot land", + "reg ular", + "▁Con text", + "▁Cont ext", + "▁ Context", + "is piel", + "isp iel", + "i spiel", + "▁G allery", + "▁Gall ery", + "\", \r", + "\" ,\r", + "▁a rc", + "▁ar c", + "▁ arc", + "▁IN FO", + "▁ INFO", + "▁c od", + "▁co d", + "▁ cod", + "ді в", + "д ів", + "▁v archar", + "▁var char", + "▁ varchar", + "▁tou jours", + "at ial", + "ati al", + "atia l", + "▁h anno", + "▁han no", + "▁проф ес", + "▁launch ed", + "▁насе лення", + "▁t on", + "▁to n", + "▁ ton", + "au sed", + "ause d", + "aus ed", + "a used", + "▁і з", + "▁t ö", + "▁P ur", + "▁Pu r", + "▁o lymp", + "AR N", + "ó m", + "▁a ugust", + "▁aug ust", + "▁f urn", + "▁fur n", + "▁fu rn", + "▁Col omb", + "▁Sta ats", + "▁Staat s", + "ho ra", + "hor a", + "h ora", + "▁м ор", + "▁мо р", + "▁ мор", + "can vas", + "▁gr ave", + "▁gra ve", + "▁grav e", + "▁com position", + "▁comp osition", + "▁compos ition", + "ac ja", + "▁которы е", + "▁ч о", + "▁ чо", + "Gener al", + "Gen eral", + "ан і", + "а ні", + "▁Joh annes", + "▁Johann es", + "▁Johan nes", + "ка р", + "к ар", + "▁ча ст", + "▁час т", + "▁Ва си", + "ss h", + "s sh", + "▁repla cing", + "▁< >", + "▁ <>", + "ці в", + "ц ів", + "la us", + "lau s", + "l aus", + "en y", + "e ny", + "äh l", + "ä hl", + "▁m arg", + "▁ma rg", + "▁mar g", + "ci ence", + "c ience", + "▁inst ruction", + "▁instru ction", + "▁instruct ion", + "▁ко ји", + "Ed itor", + "Edit or", + "▁fund amental", + "mu nd", + "mun d", + "m und", + "▁exception s", + "▁except ions", + "▁p late", + "▁pl ate", + "▁pla te", + "▁plat e", + "▁ plate", + "▁L is", + "▁Li s", + "▁d eren", + "▁de ren", + "▁der en", + "▁dere n", + "pr ep", + "pre p", + "p rep", + "▁janu ari", + "Sc ope", + "S cope", + "yn ast", + "yna st", + "r v", + "or sz", + "ors z", + "▁T ony", + "▁To ny", + "▁Ton y", + "▁д і", + "▁ ді", + "▁о дна", + "▁од на", + "▁s ab", + "▁sa b", + "ot i", + "o ti", + "je l", + "j el", + "▁gener ator", + "▁ generator", + "▁' .", + "▁ '.", + "▁sh arp", + "▁ sharp", + "▁то лько", + "▁account s", + "▁ž e", + "▁ že", + "▁for am", + "▁fo ram", + "▁g ouvern", + "TI ME", + "T IME", + "▁Sov iet", + "▁G é", + "▁ex ped", + "▁exp ed", + "▁ord inary", + "▁ordin ary", + "▁ ordinary", + "▁Con serv", + "▁Cons erv", + "▁Conse rv", + "▁com pla", + "▁comp la", + "▁compl a", + "te i", + "t ei", + "▁cap tain", + "▁capt ain", + "▁Sam uel", + "▁D ark", + "▁Dar k", + "▁в ін", + "▁ві н", + "▁de light", + "▁del ight", + "re cht", + "rec ht", + "di a", + "d ia", + "ess es", + "esse s", + "ul p", + "u lp", + "ш ки", + "be z", + "b ez", + "▁det ection", + "▁detect ion", + "▁cook ie", + "▁ cookie", + "an try", + "ant ry", + "Mult i", + "ob a", + "o ba", + "▁j oy", + "▁jo y", + "▁safe ty", + "▁saf ety", + "| ^", + "po d", + "p od", + "ad ém", + "▁Ch ron", + "▁Chr on", + "▁D jango", + "▁Dj ango", + "▁ehem al", + "k h", + "è le", + "▁p oc", + "▁po c", + "B ottom", + "la unch", + "ne m", + "n em", + "▁G ROUP", + "▁ GROUP", + "ní ho", + "▁G ib", + "▁Gi b", + "sd k", + "s dk", + "B E", + "▁G ene", + "▁Ge ne", + "▁Gen e", + "▁St aff", + "▁Sta ff", + "▁subsequ ent", + "ic ion", + "ici on", + "icio n", + "i cion", + "▁vict ory", + "▁c anon", + "▁can on", + "▁ca non", + "iz ar", + "iza r", + "i zar", + "iz ia", + "izi a", + "i zia", + "▁m ate", + "▁ma te", + "▁mat e", + "▁ mate", + "▁lay ers", + "▁layer s", + "▁ layers", + "su do", + "s udo", + "sch ule", + "per iment", + "ül et", + "ü let", + "AR CHAR", + "▁тер рито", + "▁me asures", + "▁measure s", + "▁meas ures", + "▁z ou", + "▁zo u", + "ops is", + "на ми", + "tb ody", + "t body", + "▁e se", + "▁es e", + "▁ ese", + "ster dam", + "sterd am", + "▁ph oto", + "▁phot o", + "▁ photo", + "ynchron ous", + "set minus", + "▁lo ads", + "▁load s", + "▁ loads", + "▁ple asure", + "▁me ille", + "}\\ ,", + "} \\,", + "qu al", + "qua l", + "q ual", + "▁fav our", + "▁r od", + "▁ro d", + "▁ rod", + "De r", + "D er", + "ра бо", + "раб о", + "▁pr essed", + "▁pres sed", + "▁press ed", + "▁ pressed", + "r ę", + "ie ving", + "iev ing", + "mate rial", + "m aterial", + "vi rt", + "vir t", + "v irt", + "▁cap able", + "с ло", + "us hed", + "ush ed", + "▁по бе", + "uset ts", + "un signed", + "uns igned", + "k ów", + "▁o v", + "▁ ov", + "eg eben", + "ege ben", + "e geben", + "▁app lying", + "▁apply ing", + "▁gal ax", + "▁ga lax", + "▁O racle", + "▁Or acle", + "▁Stutt gart", + "In fl", + "Inf l", + "ach usetts", + "▁de el", + "li re", + "l ire", + "▁stat unit", + "▁Polit iker", + "▁Politik er", + "▁beaut y", + ") >", + "▁Columb ia", + "▁zewnętrz ne", + "▁про гра", + "▁пр огра", + "▁d x", + "▁ dx", + "ck now", + "c know", + "▁d ub", + "▁du b", + "un ächst", + "find ViewById", + "▁M and", + "▁Man d", + "▁Ma nd", + "ál l", + "á ll", + "na ire", + "n aire", + "▁dest in", + "is ting", + "ist ing", + "isti ng", + "ag gi", + "agg i", + "a ggi", + "ch art", + "char t", + "cha rt", + "c hart", + "▁just ice", + "Sim ple", + "▁un fortunately", + "і р", + "▁qu esta", + "▁que sta", + "▁quest a", + "▁ questa", + "▁Govern or", + "я в", + "▁mús ica", + "▁equ ipo", + "▁equip o", + "▁D est", + "▁De st", + "▁Des t", + "▁ Dest", + "el ect", + "ele ct", + "e lect", + "Stack Trace", + "зо м", + "з ом", + "pr oc", + "pro c", + "p roc", + "ent in", + "enti n", + "ad ora", + "ado ra", + "ador a", + "▁Л ю", + "▁register ed", + "H L", + "face book", + "fac ebook", + "▁st oring", + "▁stor ing", + "▁sto ring", + "▁Current ly", + "▁qu adr", + "▁quad r", + "Stand ard", + "tr im", + "tri m", + "t rim", + "ear s", + "ea rs", + "e ars", + "se nder", + "sen der", + "send er", + "s ender", + "▁V as", + "▁Va s", + "▁ed ific", + "▁B ür", + "▁Bü r", + "▁C ountry", + "▁Count ry", + "▁Coun try", + "▁ Country", + "th a", + "t ha", + "; \"", + "no r", + "n or", + "▁Do ctor", + "▁Doc tor", + "ru ment", + "rum ent", + "r ument", + "Ge n", + "G en", + "▁B uen", + "▁Bu en", + "ra de", + "rad e", + "r ade", + "▁k un", + "n avigation", + "Pa y", + "P ay", + "▁capt ured", + "▁capture d", + "▁st ruck", + "▁str uck", + "▁stru ck", + "ven ir", + "ém ent", + "é ment", + "▁T ree", + "▁Tr ee", + "▁Tre e", + "▁ Tree", + "▁x x", + "▁ xx", + "▁n arr", + "▁na rr", + "▁nar r", + "ль ного", + "льно го", + "▁inst alling", + "▁install ing", + "▁instal ling", + "▁associ ation", + "▁insert ed", + "▁inser ted", + "er ner", + "ern er", + "erne r", + "valid ate", + "▁l ut", + "▁lu t", + "▁g lo", + "▁gl o", + "▁techn ology", + "▁P lace", + "▁Pl ace", + "▁Pla ce", + "▁ Place", + "$ ?", + "▁z v", + "с лі", + "E P", + "▁at mos", + "ug o", + "u go", + "ér t", + "é rt", + "▁W erk", + "▁Wer k", + "▁% }", + "te le", + "tel e", + "t ele", + "Sp an", + "S pan", + "▁R aj", + "▁Ra j", + "▁Person en", + "▁Pers onen", + "▁C ant", + "▁Can t", + "▁Ca nt", + "▁com bat", + "▁comb at", + "▁observ ation", + "▁obs ervation", + "param eter", + "para meter", + "▁agre ed", + "▁agree d", + "▁agr eed", + "pu r", + "p ur", + "▁sh adow", + "▁ shadow", + "▁g ł", + "Key s", + "Ke ys", + "Cre d", + "Cr ed", + "C red", + "ou ri", + "our i", + "o uri", + "▁p ale", + "▁pa le", + "▁pal e", + "ic ké", + "ick é", + "▁We ek", + "▁ Week", + "▁Pr ime", + "▁Pri me", + "▁Prim e", + "> .", + "Init ial", + "▁о дин", + "▁од ин", + "▁' ',", + "▁'' ,", + "▁у чи", + "▁In v", + "▁ Inv", + "col a", + "co la", + "c ola", + "ci ble", + "c ible", + "▁The atre", + "▁b em", + "▁be m", + "▁satisf y", + "x l", + "▁ра зви", + "▁раз ви", + "▁p ixel", + "▁pix el", + "lá n", + "l án", + "▁tw ee", + "▁twe e", + "ço n", + "ç on", + "не ния", + "▁A T", + "▁ AT", + "èg e", + "è ge", + "▁M ort", + "▁Mor t", + "▁Mo rt", + "▁my sq", + "▁ mysq", + "ft en", + "fte n", + "f ten", + "▁п ес", + "▁пе с", + "ém a", + "é ma", + "▁Service s", + "▁Serv ices", + "▁ Services", + "custom er", + "▁A WS", + "ъ т", + "▁A ch", + "▁Ac h", + "% .", + "▁clar ify", + "▁уни версите", + "xt ure", + "um i", + "u mi", + "▁s å", + "▁P el", + "▁Pe l", + "se rial", + "ser ial", + "UR I", + "U RI", + "▁r g", + "▁ rg", + "▁со ста", + "ch estra", + "che stra", + "ches tra", + "]. [", + "] .[", + "we n", + "w en", + "▁Lond res", + "▁an ys", + "▁any s", + "Data Source", + "▁рай оне", + "▁райо не", + "▁район е", + "▁re in", + "▁r ein", + "▁rei n", + "▁met adata", + "▁meta data", + "▁ metadata", + "um ble", + "umb le", + "ar beit", + "arbe it", + "hn er", + "h ner", + "ci ent", + "cie nt", + "c ient", + "▁n orte", + "▁nor te", + "▁о на", + "▁он а", + "▁ она", + "▁sc ored", + "▁score d", + "▁r ay", + "▁ra y", + "▁ ray", + "▁фев ра", + "▁фе вра", + "▁pro tagon", + "▁prot agon", + "▁S ac", + "▁Sa c", + "▁comm only", + "▁common ly", + "Linear Layout", + "▁app lic", + "▁ма я", + "З а", + "▁access ible", + "ie wer", + "iew er", + "fl ag", + "f lag", + "▁R ück", + "ä u", + "▁e rano", + "▁er ano", + "▁era no", + "▁eran o", + "▁auth entic", + "▁ authentic", + "▁R y", + "▁не ско", + "▁emb argo", + "▁embar go", + "▁d ry", + "▁dr y", + "▁reason able", + "▁Mod ule", + "▁ Module", + "▁acc eler", + "▁inter view", + "▁C reek", + "▁Cre ek", + "▁al pha", + "▁ alpha", + "se rie", + "ser ie", + "s erie", + "Th ey", + "The y", + "ю чи", + "▁H of", + "▁Ho f", + "▁C R", + "▁ CR", + "mod al", + "mo dal", + "▁sequence s", + "▁sequ ences", + "cl osed", + "close d", + "clos ed", + "clo sed", + ")} $", + ") }$", + "▁Ч ер", + "▁Че р", + "▁OR DER", + "▁ ORDER", + "Right arrow", + "R ightarrow", + "haus en", + "}} _", + "} }_", + "▁tamb é", + "▁magn etic", + "▁magnet ic", + "▁Mc C", + "▁win ning", + "under line", + "▁Bill board", + "na io", + "▁l iqu", + "▁li qu", + "▁ liqu", + "display style", + "time out", + "▁consider able", + "▁e ben", + "▁eb en", + "▁ eben", + "iffer ent", + "iffe rent", + "an u", + "a nu", + "▁С ов", + "▁Со в", + "[ (", + "▁: -)", + "▁:- )", + "le itung", + "form ed", + "for med", + "▁Man ager", + "▁ Manager", + "▁on click", + "T Y", + "та х", + "C V", + "run time", + "r untime", + "po que", + "▁Л о", + "Tem p", + "Te mp", + "T emp", + "lo aded", + "load ed", + "▁! ==", + "▁!= =", + "▁s inger", + "▁sing er", + "▁sin ger", + "fa r", + "f ar", + "▁Com ple", + "▁Comp le", + "▁ Comple", + "▁Ö sterreich", + "Pol icy", + "▁work er", + "▁wor ker", + "▁ worker", + "W rapper", + "ob i", + "o bi", + "▁discuss ed", + "▁b uy", + "▁bu y", + "▁янва ря", + "▁D in", + "▁Di n", + "▁g ed", + "▁ge d", + "▁ ged", + "ско ј", + "E urope", + "▁t all", + "▁tal l", + "▁ta ll", + "ho s", + "h os", + "ла го", + "▁B lock", + "▁Bl ock", + "▁Blo ck", + "▁ Block", + "▁ident ified", + "List View", + "▁attempt ing", + "▁typ ical", + "ps um", + "p sum", + "os ter", + "ost er", + "o ster", + "▁ж урна", + "P e", + "mer ce", + "▁un expected", + "hu i", + "h ui", + "let ter", + "lett er", + "lette r", + "l etter", + "▁nue vo", + "▁а бо", + "▁VAL UES", + "▁I z", + "Fl ags", + "Flag s", + "▁TR UE", + "▁ TRUE", + "iz ación", + "iza ción", + "▁gro wing", + "▁grow ing", + "es tre", + "est re", + "estr e", + "e stre", + "▁p oly", + "▁po ly", + "▁pol y", + "▁ poly", + "▁St one", + "▁Sto ne", + "▁V III", + "▁VI II", + "▁VII I", + "▁local host", + "▁ localhost", + "äh lt", + "ähl t", + "▁embed ded", + "jd bc", + "j dbc", + "▁con vention", + "▁conv ention", + "▁conven tion", + "▁convent ion", + "▁s cala", + "▁sc ala", + "▁scal a", + "▁ scala", + "со к", + "с ок", + "▁an alog", + "▁anal og", + "▁\" +", + "▁ \"+", + "ц ю", + "oc c", + "o cc", + "▁l itt", + "▁li tt", + "▁lit t", + "P N", + "▁а ктив", + "▁ак тив", + "att ributes", + "attribute s", + "▁F erd", + "▁Fe rd", + "▁Fer d", + "▁az ure", + "▁ azure", + "ș ti", + "ño s", + "ñ os", + "pi ng", + "pin g", + "p ing", + "▁te acher", + "▁teach er", + "▁tea cher", + "} &", + "ip e", + "i pe", + "▁N ob", + "▁No b", + "▁и ма", + "▁им а", + "Bi nd", + "B ind", + "▁mag ic", + "▁Trans port", + "▁ Transport", + "ix el", + "▁comp uted", + "▁comput ed", + "▁compute d", + "ag na", + "agn a", + "er st", + "ers t", + "H A", + "W ait", + "▁author s", + "▁auth ors", + "▁; )", + "cl am", + "cla m", + "c lam", + "▁Pen nsylvan", + "▁d rug", + "▁dr ug", + "▁dru g", + "▁v ain", + "▁va in", + "▁employ ed", + "▁individ uals", + "▁individual s", + "▁an ge", + "▁ang e", + "▁ ange", + "ut at", + "uta t", + "u tat", + "▁$ -", + "▁ $-", + "cor rect", + "corr ect", + "▁exper iments", + "▁experiment s", + "Arg ument", + "▁I B", + "▁ IB", + "▁p ère", + "▁B rian", + "▁Br ian", + "ber ger", + "berg er", + "Ma c", + "M ac", + "ia st", + "ias t", + "i ast", + "Per m", + "Pe rm", + "P erm", + "Ca st", + "C ast", + "▁{ };", + "▁{} ;", + "▁St udent", + "▁Stud ent", + "▁Stu dent", + "▁ Student", + "▁st att", + "▁stat t", + "▁sta tt", + "al gebra", + "▁equ als", + "▁equal s", + "▁eq uals", + "▁ equals", + "▁pro jet", + "▁prés ident", + "Activity Thread", + "▁ein z", + "en ia", + "eni a", + "e nia", + "re z", + "r ez", + "ess ional", + "ession al", + "▁авгу ста", + "over ride", + "ne ws", + "new s", + "▁pla net", + "▁plan et", + "▁plane t", + "n n", + "▁W is", + "▁Wi s", + "тв ер", + "т вер", + "▁Val id", + "▁ Valid", + "▁G ef", + "▁Ge f", + "гра д", + "▁e ig", + "an tom", + "ant om", + "anto m", + "▁Me ister", + "fl ags", + "flag s", + "ffic iale", + "fficial e", + "ша я", + "- ,", + "at ionen", + "ation en", + "ati onen", + "atio nen", + "mo use", + "m ouse", + "stand ard", + "Sing le", + "▁b ol", + "▁bo l", + "▁ bol", + "is is", + "isi s", + "▁f ruit", + "▁fr uit", + "c ourse", + "it ants", + "itan ts", + "▁é taient", + "▁ét aient", + "Text Field", + "▁ф он", + "▁фо н", + "▁a ircraft", + "▁air craft", + "▁I SSN", + "▁IS SN", + "▁west ern", + "▁ western", + "▁represent ing", + "Es p", + "E sp", + "▁El se", + "▁Els e", + "▁ Else", + "▁s izes", + "▁si zes", + "▁size s", + "▁satisf ied", + "ot os", + "oto s", + "U D", + "Fin al", + "Fi nal", + "F inal", + "ó j", + "è ve", + "▁R oy", + "▁Ro y", + "ff en", + "ffe n", + "f fen", + "▁s alt", + "▁sa lt", + "▁sal t", + "▁L abel", + "▁La bel", + "▁Lab el", + "▁ Label", + "S k", + "▁к ре", + "▁ кре", + "▁Ли тература", + "▁с м", + "Att ributes", + "Attribute s", + "ay e", + "a ye", + "сь к", + "▁вы со", + "- )", + "os es", + "ose s", + "cal cul", + "calc ul", + "▁C annot", + "▁Can not", + "▁ Cannot", + "Gener ic", + "em o", + "e mo", + "▁A utor", + "▁Aut or", + "▁Au tor", + "▁Auto r", + "лё н", + "л ён", + "ла га", + "vo te", + "v ote", + "lic ates", + "licate s", + "lica tes", + "ru s", + "r us", + "él i", + "é li", + "op f", + "o pf", + "at ique", + "ati que", + "sc ala", + "scal a", + "s cala", + "▁Oh io", + "▁Brit ann", + "▁b ef", + "▁be f", + "▁Е вро", + "▁Ев ро", + "▁Care er", + "is ée", + "isé e", + "ó t", + "bo se", + "bos e", + "b ose", + "▁Б ер", + "▁Бе р", + "▁Cont roller", + "▁Control ler", + "▁ Controller", + "po le", + "pol e", + "p ole", + "▁al len", + "▁all en", + "▁alle n", + "▁ allen", + "▁h ack", + "▁ha ck", + "▁ext ent", + "▁cal ci", + "▁calc i", + "Me r", + "M er", + "▁sum mary", + "▁summar y", + "▁summ ary", + "▁ summary", + "Mar t", + "Ma rt", + "M art", + "▁histor ical", + "▁historic al", + "im at", + "ima t", + "i mat", + "bu d", + "b ud", + "▁F OR", + "▁FO R", + "▁ FOR", + "ex port", + "exp ort", + "ed i", + "e di", + "Map ping", + "Mapp ing", + "Ma pping", + "M apping", + "▁A y", + "▁R uby", + "▁Ru by", + "▁Rub y", + "▁definition s", + "▁defin itions", + "▁definit ions", + "▁{ $", + "▁ {$", + "▁y ours", + "▁you rs", + "▁your s", + "▁yo urs", + "ri as", + "ria s", + "r ias", + "To uch", + "T ouch", + "▁G az", + "▁Ga z", + "▁Aut om", + "▁Au tom", + "▁Auto m", + "▁ Autom", + "▁и стори", + "▁исто ри", + "▁ис тори", + "▁d elen", + "▁de len", + "▁del en", + "▁K inder", + "▁Kind er", + "▁Ki nder", + "▁Kin der", + "}} %", + "} }%", + "▁perform ing", + "F R", + "▁S ig", + "▁Si g", + "▁B rad", + "▁Br ad", + "▁Bra d", + "br as", + "bra s", + "b ras", + "▁J ar", + "▁Ja r", + "pk g", + "p kg", + "w r", + "▁P ays", + "▁Pa ys", + "▁Pay s", + "N C", + "▁op posed", + "▁opp osed", + "▁oppos ed", + "Tr y", + "T ry", + "▁ве зе", + "▁B og", + "▁Bo g", + "▁writ es", + "▁wr ites", + "▁write s", + "▁st ories", + "▁stor ies", + "▁sto ries", + "▁m ater", + "▁ma ter", + "▁mat er", + "▁mate r", + "▁stag ione", + "▁s ty", + "▁st y", + "▁ sty", + "▁compat ible", + "▁ compatible", + "he ast", + "h east", + "▁G uy", + "▁Gu y", + "egr ünd", + "▁ident ifier", + "▁ identifier", + "▁he ads", + "▁head s", + "по зи", + "▁st up", + "▁t f", + "▁ tf", + "▁ј ош", + "▁H ugh", + "▁Hu gh", + "▁c ards", + "▁car ds", + "▁card s", + "▁ cards", + "ov y", + "o vy", + "▁To ast", + "al las", + "all as", + "alla s", + "▁p úblic", + "▁ass umes", + "▁assum es", + "▁assume s", + "▁чемпи она", + "yc ler", + "ycle r", + "y cler", + "▁Juni or", + "▁Jun ior", + "▁F ich", + "▁estim ated", + "▁estimate d", + "ze rw", + "zer w", + "di alog", + "dia log", + "d ialog", + "ши н", + "ш ин", + "sh ell", + "she ll", + "s hell", + "▁н их", + "▁ни х", + "▁ них", + "▁p itch", + "▁pit ch", + "до л", + "out ube", + "▁S anti", + "▁San ti", + "▁Sant i", + "On ClickListener", + "▁M agyar", + "▁Mag yar", + "▁v ue", + "▁vu e", + "▁ vue", + "i ão", + "▁` #", + "col lect", + "coll ect", + "▁R ou", + "▁Ro u", + "anal ysis", + "istrz ost", + "▁Dig ital", + "▁ Digital", + "▁c rist", + "▁cr ist", + "▁cri st", + "ri ere", + "rie re", + "rier e", + "r iere", + "▁cam po", + "▁camp o", + "U s", + "▁circ a", + "▁cir ca", + "▁Com ponent", + "▁ Component", + "▁NS String", + "▁ NSString", + "p d", + "▁pr ince", + "▁prin ce", + "▁in voke", + "▁inv oke", + "▁ invoke", + "▁Mar ine", + "▁Mari ne", + "Al low", + "All ow", + "est ic", + "esti c", + "ри сти", + "рис ти", + "рист и", + "bo ne", + "bon e", + "b one", + "ту ры", + "тур ы", + "▁pass ion", + "ác ió", + "á ció", + "▁o rn", + "▁or n", + "▁ orn", + "ве д", + "▁in vari", + "▁inv ari", + "▁н і", + "▁ ні", + "Re move", + "Rem ove", + "en cies", + "enc ies", + "enci es", + "il ib", + "ili b", + "i lib", + "▁Direct or", + "▁Dire ctor", + "▁Dir ector", + "\" \"", + "▁Con se", + "▁Cons e", + "google apis", + "ó k", + "▁У кра", + "▁H aving", + "▁Ha ving", + "▁Hav ing", + "Do main", + "Dom ain", + "ie rz", + "ier z", + "но логи", + "н ологи", + "Ch o", + "C ho", + "un defined", + "und efined", + "al loc", + "all oc", + "allo c", + "▁p ied", + "▁pi ed", + "▁pie d", + "▁f raction", + "▁fr action", + "▁fra ction", + "bi a", + "b ia", + "▁п оло", + "▁по ло", + "▁пол о", + "▁ поло", + "ug no", + "min ister", + "▁princip ale", + "▁principal e", + "▁ref used", + "▁refuse d", + "brow ser", + "b rowser", + "* ,", + "▁H ospital", + "▁univers al", + "▁Ern st", + "wh o", + "w ho", + "▁G ard", + "▁Gar d", + "▁Ga rd", + "' _", + "con de", + "co nde", + "cond e", + "c onde", + "▁[ {", + "▁ [{", + "so b", + "s ob", + "▁C rit", + "▁Cr it", + "▁дека бря", + "▁p unto", + "▁pun to", + "▁punt o", + "▁einges etzt", + "▁t ör", + "▁tö r", + "▁N i", + "▁w orry", + "▁wor ry", + "▁leg end", + "▁ legend", + "▁бу ли", + "▁k omm", + "▁kom m", + "▁ko mm", + "ri jk", + "rij k", + "r ijk", + "ef fect", + "eff ect", + "e ffect", + "Or i", + "O ri", + "RE S", + "R ES", + "▁P eters", + "▁Pe ters", + "▁Peter s", + "▁Pet ers", + "▁B aron", + "▁Bar on", + "▁Ba ron", + "▁G ot", + "▁Go t", + "▁hon est", + "▁ho nest", + "är e", + "ä re", + "ás z", + "á sz", + "▁no ble", + "▁nob le", + "▁con clusion", + "▁conclus ion", + "▁concl usion", + "▁form atting", + "▁format ting", + "▁formatt ing", + "▁o tto", + "▁ot to", + "▁ott o", + "▁ otto", + "▁de leg", + "▁del eg", + "м б", + "pt op", + "pto p", + "p top", + "▁s ends", + "▁send s", + "▁sen ds", + "ur name", + "urn ame", + "▁f estival", + "▁fest ival", + "▁festiv al", + ", ‎", + "ру с", + "р ус", + "▁d och", + "▁do ch", + "▁doc h", + "sub ject", + "su bject", + "▁care ful", + "qu ent", + "que nt", + "q uent", + "▁Lo ad", + "▁ Load", + "temper aturen", + "▁r ue", + "▁ru e", + "Mem ory", + "ț a", + "ion a", + "io na", + "i ona", + "▁dent ro", + "▁beg ann", + "▁began n", + "▁A qu", + "▁scient ific", + "ka ń", + "ло к", + "л ок", + "el de", + "eld e", + "▁Th ose", + "qu ier", + "qui er", + "act ér", + "▁Auf lage", + ") '", + "▁grad ient", + "▁ gradient", + "in teger", + "inte ger", + "▁Im port", + "▁Imp ort", + "▁ Import", + "S K", + "▁St atus", + "▁Stat us", + "▁ Status", + "▁exp lo", + "▁expl o", + "A E", + "Sh ell", + "She ll", + "S hell", + "▁Pa ulo", + "▁Paul o", + ". »", + "} '", + "hav ior", + "le i", + "l ei", + "ul f", + "▁ge ometry", + "▁geom etry", + "▁geomet ry", + "▁ geometry", + "pr ev", + "pre v", + "p rev", + "em pl", + "emp l", + "▁L é", + "an son", + "ans on", + "▁A lice", + "▁Al ice", + "▁Ali ce", + "pro totype", + "proto type", + "RE AD", + "ic ular", + "icul ar", + "i cular", + "▁б і", + "▁ бі", + "▁deutsch e", + "▁Re present", + "si tes", + "site s", + "s ites", + "▁Me an", + "▁d iss", + "▁di ss", + "▁dis s", + "▁Z ur", + "▁Zu r", + "▁п рез", + "▁пре з", + "▁пр ез", + "PA R", + "P AR", + "▁' #", + "▁D ra", + "▁Dr a", + "▁ Dra", + "со н", + "с он", + "▁ste ht", + "mar kt", + "mark t", + "▁e ase", + "▁eas e", + "Draw ing", + "Dra wing", + "= %", + "St op", + "Sto p", + "S top", + "▁s erving", + "▁ser ving", + "▁serv ing", + "▁servi ng", + "▁tak że", + "▁D NS", + "▁liter al", + "▁lit eral", + "Di e", + "D ie", + "▁в ос", + "▁во с", + "▁sen ior", + "ac ion", + "aci on", + "a cion", + "▁u buntu", + "▁ub untu", + "▁ ubuntu", + "▁Frank furt", + "▁Sun day", + "▁Sund ay", + "á b", + "▁jour ney", + "▁journ ey", + "is sa", + "iss a", + "ber ry", + "▁s ep", + "▁se p", + "▁ sep", + "▁i on", + "▁io n", + "▁ ion", + "wer t", + "we rt", + "w ert", + "or szág", + "orsz ág", + "ser ve", + "serv e", + "s erve", + "▁Mil ano", + "▁Milan o", + "▁ве ка", + "ра х", + "▁ию ля", + "▁man era", + "▁st ations", + "▁stat ions", + "▁station s", + "▁stati ons", + "▁adopt ed", + "▁any body", + "VER SION", + "F E", + "do rf", + "dor f", + "d orf", + ".. .,", + "... ,", + "▁обра зова", + "▁образ ова", + "Log ger", + "фи циаль", + "фици аль", + "WR ITE", + "▁h am", + "▁ha m", + "▁ ham", + "▁F uture", + "▁Fut ure", + "▁ Future", + "ot en", + "ote n", + "o ten", + "▁A G", + "▁ AG", + "▁t rained", + "▁tr ained", + "▁tra ined", + "▁train ed", + "▁N ich", + "▁Nic h", + "▁Ni ch", + "▁un iversity", + "▁univers ity", + "▁Olymp ics", + "▁Olympic s", + "▁d oit", + "▁do it", + "▁doi t", + "▁cult ural", + "▁cultura l", + "Con f", + "▁Con ference", + "or no", + "orn o", + "▁M P", + "▁ MP", + "▁b ou", + "▁bo u", + "ci n", + "c in", + "Hi gh", + "H igh", + "ann te", + "annt e", + "▁display ing", + "▁ch apter", + "▁chap ter", + "▁ chapter", + "▁Fra uen", + "▁Frau en", + "▁real ized", + "▁realiz ed", + "▁realize d", + "▁attempt ed", + "▁pre ferred", + "▁prefer red", + "Da t", + "D at", + "▁tr ouve", + "▁tro uve", + "▁trou ve", + "▁trouv e", + "▁int ention", + "▁intent ion", + "▁inten tion", + "▁Not ice", + "tim estamp", + "* (", + "▁Ш а", + "an as", + "ana s", + "a nas", + "cl a", + "c la", + "is z", + "i sz", + "tb l", + "t bl", + "Ar r", + "A rr", + "▁in verse", + "▁ter rible", + "▁occup ied", + "J AX", + "< -", + "▁Phil osoph", + "▁Cor ps", + "bu ilder", + "build er", + "▁beg ins", + "▁begin s", + "▁c ensus", + "▁cens us", + ". ’", + "▁pro ven", + "▁pr oven", + "▁prov en", + "▁prove n", + "met ric", + "▁incre ases", + "▁increase s", + "wi ch", + "w ich", + "▁A BC", + "▁AB C", + "▁ ABC", + "project s", + "▁T hor", + "▁Th or", + "▁conf idence", + "▁u fficiale", + "el m", + "e lm", + "▁g arden", + "▁gar den", + "▁gard en", + "▁rob ust", + "▁cos ì", + "ie dz", + "ied z", + "▁Is lam", + "▁Add ress", + "▁ Address", + "▁div ide", + "▁divid e", + "▁E u", + "ca tal", + "cat al", + "c atal", + "de tail", + "det ail", + "ep endant", + "f g", + "▁b ew", + "▁be w", + "▁ bew", + "▁f is", + "▁fi s", + "▁B O", + "▁ BO", + "▁w sp", + "▁ws p", + "▁p ipeline", + "▁pip eline", + "▁pipe line", + "h d", + "▁S ession", + "▁ Session", + "lä nd", + "l änd", + "iv eau", + "ive au", + "es tr", + "est r", + "e str", + "▁p article", + "▁part icle", + "▁partic le", + "▁parti cle", + "▁lar avel", + "▁ laravel", + "pi c", + "p ic", + "▁n au", + "▁na u", + "▁f ins", + "▁fin s", + "▁fi ns", + "▁V il", + "▁Vi l", + "▁f us", + "▁fu s", + "▁qu asi", + "oper ation", + "opera tion", + "▁al ler", + "▁all er", + "▁alle r", + "▁ aller", + "▁an aly", + "▁anal y", + "▁ analy", + "▁О н", + "▁M es", + "▁Me s", + "▁о пера", + "▁оп ера", + "▁hand led", + "▁handle d", + "▁de prec", + "▁dep rec", + "tt o", + "t to", + "▁E k", + "▁st ran", + "▁str an", + "▁stra n", + "▁ang lais", + "ju re", + "j ure", + "▁Sil ver", + "▁close ly", + "▁clos ely", + "en kins", + "enk ins", + "an os", + "ano s", + "a nos", + "st ed", + "ste d", + "s ted", + "▁сент ября", + "br and", + "bra nd", + "b rand", + "нь о", + "▁prés ent", + "▁pré sent", + "ro k", + "r ok", + "mo unt", + "m ount", + "▁Anth ony", + "▁Further more", + "in ha", + "▁ар хи", + "▁раз ли", + "▁окт ября", + "▁p int", + "▁pi nt", + "▁pin t", + "n ý", + "pt s", + "p ts", + "▁ital ien", + "▁ре ги", + "ле з", + "л ез", + "ди на", + "дин а", + "ather ine", + "In ternal", + "Int ernal", + "Inter nal", + "Intern al", + "Qu estion", + "▁sett lement", + "▁В се", + "▁fol ders", + "▁folder s", + "д ри", + "▁val or", + "▁va lor", + "▁M iller", + "▁Mil ler", + "▁Mill er", + "▁As sert", + "▁Ass ert", + "▁ Assert", + "▁pat ient", + "▁N ieder", + "▁Ni eder", + "▁Nie der", + "▁Nied er", + "▁E P", + "▁ EP", + "▁A gr", + "▁Ag r", + "▁o nde", + "▁on de", + "▁ onde", + "▁s cop", + "▁sc op", + "▁ scop", + "se quence", + "sequ ence", + "▁P L", + "▁ PL", + "▁se ek", + "▁see k", + "java se", + "jav ase", + "▁V ector", + "▁Ve ctor", + "▁Vec tor", + "▁ Vector", + "▁n á", + "▁ ná", + "▁categor ía", + "cl one", + "clo ne", + "N R", + "av ailable", + "▁B esch", + "▁Be sch", + "▁Bes ch", + "▁e clipse", + "▁ec lipse", + "▁ eclipse", + "wick lung", + "dep loy", + "en ie", + "eni e", + "e nie", + "▁\" )", + "▁ \")", + "äs t", + "ä st", + "▁s ync", + "▁syn c", + "▁sy nc", + "▁ sync", + "CO DE", + "▁Ч е", + "▁flo ating", + "▁float ing", + "/ `", + "▁ret ired", + "▁retir ed", + "de b", + "d eb", + "▁part icul", + "▁partic ul", + "▁parti cul", + "▁coll ected", + "▁collect ed", + "▁colle cted", + "▁down loaded", + "▁download ed", + "ni ce", + "nic e", + "n ice", + "▁B uffer", + "▁Buff er", + "▁ Buffer", + "▁Acc ount", + "▁Ac count", + "▁ Account", + "▁m aggio", + "▁mag gio", + "▁ре да", + "▁ред а", + "▁s ales", + "▁sa les", + "▁sal es", + "▁sale s", + "▁statunit ense", + "▁K i", + "▁F err", + "▁Fe rr", + "▁Fer r", + "Lo ck", + "Loc k", + "L ock", + "▁Is abel", + "▁Isa bel", + "cl ar", + "cla r", + "c lar", + "▁p ov", + "▁po v", + "at ra", + "atr a", + "a tra", + "▁Fr au", + "▁Fra u", + "▁sort ing", + "▁sor ting", + "▁sorti ng", + "▁phr ase", + "▁апре ля", + "▁дея тель", + "▁And ré", + "def inition", + "defin ition", + "writ ing", + "wr iting", + "ér é", + "é ré", + "щ у", + "▁O rd", + "▁Or d", + "▁ Ord", + "▁r um", + "▁ru m", + "▁ rum", + "▁T urk", + "▁Tur k", + "▁I van", + "th eless", + "the less", + "▁г и", + "▁ ги", + "▁s ake", + "▁sa ke", + "▁B ased", + "▁Bas ed", + "▁Ba sed", + "▁Base d", + "de ck", + "dec k", + "or us", + "oru s", + "o rus", + "▁tut ti", + "▁b lan", + "▁bl an", + "▁bla n", + "▁П у", + "De tail", + "Det ail", + "▁Н о", + "▁S ky", + "▁Sk y", + "▁p rès", + "▁pr ès", + "▁ près", + "мо й", + "col n", + "co ln", + "че ской", + "et i", + "e ti", + "▁ar row", + "▁arr ow", + "▁ arrow", + "▁C ha", + "▁Ch a", + "ch mark", + "œ ur", + "fa b", + "f ab", + "ку ль", + "Grid View", + "▁Back ground", + "▁ Background", + "s n", + "▁segu ito", + "▁n ic", + "▁ni c", + "▁ nic", + "co u", + "c ou", + "ті в", + "т ів", + "▁b zw", + "add EventListener", + "syn c", + "s ync", + "az zo", + "azz o", + "ab stract", + "as sets", + "ass ets", + "asse ts", + "asset s", + "▁D ru", + "▁Dr u", + "з д", + "ord net", + "▁b igger", + "▁big ger", + "▁initial ized", + "▁initialize d", + "ка з", + "og ene", + "ogen e", + "oge ne", + "vi ously", + "vious ly", + "v iously", + "▁g uid", + "▁gu id", + "scheid ung", + "▁Z ent", + "▁Ze nt", + "▁fr ames", + "▁frame s", + "▁fra mes", + "▁fram es", + "▁ frames", + "ri eben", + "rie ben", + "rieb en", + "r ieben", + "▁iss ued", + "▁issue d", + "▁issu ed", + "▁d ow", + "▁do w", + "▁descri bes", + "▁describe s", + "il st", + "ils t", + "i lst", + "▁c riteria", + "▁crit eria", + "▁criter ia", + "▁gentle man", + "Bas ic", + "ne z", + "n ez", + "De v", + "D ev", + "Mo ve", + "M ove", + "▁est aba", + "▁estab a", + "▁esta ba", + "▁set tembre", + "▁sett embre", + "circ le", + "cir cle", + "▁f ais", + "▁fa is", + "▁m yst", + "▁my st", + "▁arch iv", + "▁ archiv", + "d ynamic", + "j à", + "it as", + "ita s", + "▁я кий", + "▁d or", + "▁do r", + "▁ dor", + "▁Am azon", + "▁Ama zon", + "▁ne ces", + "▁Mar cel", + "▁Marc el", + "▁e lla", + "▁el la", + "▁ell a", + "▁ ella", + "ро к", + "р ок", + "▁Pennsylvan ia", + "cul ar", + "cu lar", + "c ular", + "Pa ck", + "P ack", + "it age", + "ita ge", + "▁B urn", + "▁Bu rn", + "▁Bur n", + "▁R O", + "▁ RO", + "▁о ни", + "▁он и", + "▁ они", + "~ $", + "Te X", + "as sign", + "ass ign", + "▁be at", + "id ense", + "iden se", + "ac ent", + "ace nt", + "a cent", + "Al ert", + "▁str ateg", + "▁strat eg", + "▁mån aden", + "LO C", + "L OC", + "▁c atalog", + "▁cat alog", + "▁catal og", + "▁ catalog", + "print StackTrace", + "() ).", + "()) .", + "( )).", + "us ted", + "ust ed", + "u sted", + "▁Frame work", + "▁ Framework", + "EC K", + "E CK", + "▁a té", + "▁at é", + "Frame work", + "▁att acks", + "▁attack s", + "▁B ert", + "▁Be rt", + "▁Ber t", + "▁т ран", + "▁тра н", + ": %", + "ar si", + "ars i", + "not ation", + "▁log ical", + "▁logic al", + "we et", + "▁vis ited", + "▁visit ed", + "br u", + "b ru", + "▁sur prise", + "▁surpr ise", + "^ ^", + "in ale", + "inal e", + "ina le", + "rem ote", + "'} ,", + "' },", + "Syn tax", + "S yntax", + "ia ne", + "ian e", + "i ane", + "on nen", + "onn en", + "onne n", + "▁bre aking", + "▁break ing", + "par ser", + "parse r", + "ap k", + "a pk", + "▁Mig uel", + "▁ §", + "▁act ing", + "▁ac ting", + "▁g ebru", + "▁ge bru", + "▁geb ru", + "At Index", + "ють ся", + "ю ться", + "▁of fers", + "▁off ers", + "▁offer s", + "▁p rac", + "▁pr ac", + "▁pra c", + "▁g rant", + "▁gr ant", + "▁gra nt", + "▁gran t", + "tern oon", + "▁ac quired", + "▁acqu ired", + "▁N y", + "▁com ma", + "▁comm a", + "ní k", + "n ík", + "▁St ep", + "▁Ste p", + "▁ Step", + "in ners", + "inn ers", + "inner s", + "▁S A", + "▁ SA", + "▁w at", + "▁wa t", + "da ys", + "day s", + "d ays", + "▁rect angle", + "da r", + "d ar", + "▁t rac", + "▁tr ac", + "▁tra c", + "▁Ind ones", + "▁feed back", + "▁bre aks", + "▁break s", + "part ition", + "ic ans", + "ica ns", + "ican s", + "▁Not ices", + "▁Notice s", + "▁impro ved", + "▁improve d", + "▁improv ed", + "▁impr oved", + "ph an", + "pha n", + "p han", + "▁differ ential", + "▁different ial", + "▁differenti al", + "script s", + "scri pts", + "▁X III", + "▁XII I", + "▁XI II", + "▁L abor", + "▁La bor", + "▁Lab or", + "▁prec ision", + "▁precis ion", + "▁s eed", + "▁se ed", + "▁see d", + "▁ seed", + "bund le", + "b undle", + "id ents", + "ident s", + "iden ts", + "hr e", + "h re", + "▁Doug las", + "ul d", + "u ld", + "▁second ary", + "▁seconda ry", + "▁b rig", + "▁br ig", + "▁confirm ed", + "▁confir med", + "▁cla ims", + "▁claim s", + "Ro le", + "R ole", + "▁Jew ish", + "▁p řed", + "▁př ed", + "▁ho tel", + "▁hot el", + "▁comp te", + "▁compt e", + "▁rec ursive", + "▁recurs ive", + "](# )", + "▁rot ate", + "▁ rotate", + "▁ch rome", + "▁chr ome", + "▁chrom e", + "▁ chrome", + "in ea", + "ine a", + "i nea", + "%; \r", + "% ;\r", + "▁En vironment", + "▁ Environment", + "pl atz", + "pla tz", + "▁Sing le", + "▁Sin gle", + "▁ Single", + "▁s event", + "▁se vent", + "▁seven t", + "▁pos ting", + "▁post ing", + "▁de aling", + "▁deal ing", + "param eters", + "parameter s", + "гра ф", + "Auth entication", + "to uch", + "t ouch", + "A z", + "▁g ray", + "▁gr ay", + "▁gra y", + "▁ gray", + "en cing", + "enc ing", + "enci ng", + "bold math", + "▁сай те", + "▁сайт е", + "▁Z a", + "an je", + "▁p olar", + "▁po lar", + "▁pol ar", + "▁у ли", + "ki l", + "k il", + "▁h over", + "▁ho ver", + "▁ hover", + "▁RE ST", + "▁C ome", + "▁Com e", + "▁Co me", + "▁ Come", + "j b", + "▁Georg ia", + "▁Est ado", + "▁Esta do", + "▁Estad o", + "Output Stream", + "ћ и", + "▁d ump", + "▁du mp", + "▁ dump", + "▁A ge", + "▁Ag e", + "▁ Age", + "▁s wo", + "▁sw o", + "m obile", + "oc cup", + "occ up", + "ше го", + "ш его", + "▁const itution", + "▁constitu tion", + "▁constit ution", + "go od", + "g ood", + "ak u", + "a ku", + "▁а нг", + "▁ан г", + "▁ анг", + "ie ck", + "iec k", + "▁Ps ych", + "▁ro ots", + "▁root s", + "▁v est", + "▁ve st", + "▁ves t", + "▁ vest", + "▁го дах", + "▁года х", + "▁Rep ública", + "▁p ian", + "▁pi an", + "▁pia n", + "igr ation", + "▁pr éc", + "▁pré c", + "▁gener ates", + "▁generate s", + "L Y", + "( `", + "▁= ~", + "ше ния", + "▁R ah", + "▁Ra h", + "▁connect ing", + "ž í", + "▁f ő", + "▁a ppel", + "▁app el", + "▁ap pel", + "▁appe l", + "▁Rail way", + "г ли", + "▁dével opp", + "▁a po", + "▁ap o", + "fr an", + "fra n", + "f ran", + "▁im mediate", + "▁immedi ate", + "во го", + "в ого", + "Run ner", + "ä g", + "Some thing", + "S omething", + "▁gén éra", + "Event Args", + "in ction", + "inc tion", + "inct ion", + "gl y", + "g ly", + "▁D ue", + "▁Du e", + "▁p rost", + "▁pro st", + "▁pr ost", + "▁pros t", + "▁refer ring", + "▁j og", + "▁jo g", + "▁exec utable", + "▁execut able", + "▁D ream", + "▁Dre am", + "ac s", + "a cs", + "▁C ole", + "▁Col e", + "▁Co le", + "am pf", + "amp f", + "▁B is", + "▁Bi s", + "▁ию ня", + "li eder", + "lied er", + "lie der", + "l ieder", + "те к", + "т ек", + "▁v b", + "▁ vb", + "▁m om", + "▁mo m", + "▁: (", + "▁ :(", + "▁der nier", + "▁derni er", + "' =>", + "▁э того", + "▁это го", + "▁ne ue", + "▁neu e", + "▁Ч а", + "▁weiter e", + "▁weit ere", + "▁al leg", + "▁all eg", + "▁alle g", + "▁re ality", + "▁real ity", + "▁jud ge", + "▁B alt", + "▁Ba lt", + "▁Bal t", + "▁t hin", + "▁th in", + "▁G ed", + "▁Ge d", + "ie val", + "iev al", + "i eval", + "m x", + "ці ональ", + "▁вы пу", + "▁I X", + "▁ IX", + "▁bl ind", + "▁Mo tor", + "▁Mot or", + "▁ш а", + "▁ ша", + "▁approxim ation", + "da m", + "d am", + "▁f og", + "▁fo g", + "▁ fog", + "ко р", + "к ор", + "▁W rit", + "▁l ing", + "▁li ng", + "▁lin g", + "▁ ling", + "▁пи са", + "▁ писа", + "▁M ars", + "▁Mar s", + "▁Ma rs", + "ot ti", + "ott i", + "En um", + "E num", + "▁T rib", + "▁Tr ib", + "▁Tri b", + "▁m erc", + "▁me rc", + "▁mer c", + "zu ng", + "z ung", + "van ced", + "v anced", + "cf g", + "c fg", + "на х", + "sch en", + "sc hen", + "sche n", + "s chen", + "\"] .", + "\" ].", + "be k", + "b ek", + "▁s ter", + "▁st er", + "▁ste r", + "▁ ster", + "j p", + "▁R ap", + "▁Ra p", + "▁rec ording", + "▁record ing", + "▁pe int", + "▁l ets", + "▁le ts", + "▁let s", + "▁ lets", + "än ge", + "äng e", + ">\" ;", + "> \";", + "▁міс це", + "▁c aval", + "▁ca val", + "▁cav al", + "▁C SV", + "▁CS V", + "▁ent stand", + "▁hel per", + "▁help er", + "▁ helper", + "en det", + "end et", + "ende t", + "▁G ram", + "▁Gr am", + "▁Gra m", + "▁D iego", + "▁Die go", + "▁Di ego", + "▁B ishop", + "▁Bi shop", + "TA G", + "T AG", + "▁e cc", + "▁ec c", + "▁E en", + "▁A V", + "▁ AV", + "C ity", + "▁Gu ide", + "hi nd", + "hin d", + "h ind", + "ri cal", + "ric al", + "rica l", + "r ical", + "▁Ос нов", + "Bu s", + "B us", + "▁z unächst", + "▁t ick", + "▁ti ck", + "▁ tick", + "▁Col onel", + "Th anks", + "Thank s", + "▁f erm", + "▁fe rm", + "▁fer m", + "▁gr anted", + "▁gran ted", + "▁grant ed", + "▁th reshold", + "omorph ic", + "▁H un", + "▁Hu n", + "en is", + "eni s", + "e nis", + "▁п рав", + "▁пра в", + "▁ прав", + "▁я кі", + "▁як і", + "P G", + "▁w s", + "▁ ws", + "▁techn ical", + "▁techni cal", + "est ro", + "estr o", + "kl är", + "k lär", + "va rs", + "var s", + "v ars", + "oc rat", + "ocr at", + "▁оп шти", + "on so", + "ons o", + "ib a", + "i ba", + "▁S ave", + "▁Sa ve", + "▁Sav e", + "▁ Save", + "▁program a", + "▁в ъ", + "▁inv ån", + ">( )", + "> ()", + "▁me jor", + "▁с лова", + "▁сло ва", + "▁rep lacement", + "▁replace ment", + "▁repla cement", + "▁im pr", + "▁imp r", + "▁Frances co", + "▁Ho tel", + "▁Hot el", + "▁UP DATE", + "▁ UPDATE", + "▁му зы", + "ug s", + "u gs", + "va rd", + "var d", + "v ard", + "▁f az", + "▁fa z", + "in ton", + "int on", + "into n", + "▁ar ts", + "▁art s", + "▁ arts", + "▁K y", + "▁I ls", + "▁Il s", + "▁s era", + "▁se ra", + "▁ser a", + "▁Vol ume", + "▁ Volume", + "▁gi ugno", + "▁a sym", + "▁as ym", + "▁P ir", + "▁Pi r", + "▁N AS", + "▁NA S", + "▁T am", + "▁Ta m", + "ě l", + "Se qu", + "Seq u", + "S equ", + "km al", + "k mal", + "▁E ins", + "▁Ein s", + "▁ком па", + "▁комп а", + "ob e", + "o be", + "oo r", + "o or", + "▁he ap", + "ct l", + "c tl", + "▁separ ately", + "▁separate ly", + "re ader", + "read er", + "rea der", + "▁signific antly", + "▁significant ly", + "▁L ag", + "▁La g", + "no tes", + "not es", + "note s", + "n otes", + "▁s ele", + "▁se le", + "▁sel e", + "▁dedic ated", + "▁H ost", + "▁Ho st", + "▁ Host", + "cho ice", + "wi ng", + "win g", + "w ing", + "▁T itel", + "▁Tit el", + "▁Ti tel", + "▁befind et", + "lar ge", + "larg e", + "▁con ten", + "▁cont en", + "▁co nten", + "▁conte n", + "Java Script", + "▁de ser", + "▁des er", + "▁G ordon", + "▁Gor don", + "с пе", + "▁p atri", + "▁pat ri", + "▁pa tri", + "▁patr i", + "▁R andom", + "▁Rand om", + "▁Ran dom", + "▁ Random", + "▁Return s", + "ы м", + "ро ма", + "ром а", + "▁Stud ies", + "S l", + "▁fr ü", + "TE XT", + "T EXT", + "in ate", + "ina te", + "▁T ol", + "▁To l", + "▁every where", + "ar ta", + "art a", + "▁or bit", + "▁orb it", + "▁A ires", + "▁Air es", + "▁I ss", + "▁Is s", + "▁te ż", + "▁d iverse", + "▁di verse", + "▁divers e", + "▁diver se", + "▁n umeric", + "▁numer ic", + "▁ numeric", + "ma z", + "m az", + "▁m ise", + "▁mi se", + "▁mis e", + "▁batt ery", + "▁batter y", + "▁bat tery", + "▁A kadem", + "▁Ak adem", + "не ние", + "▁simult ane", + "▁D ead", + "▁De ad", + "▁cl ust", + "▁ot ro", + "▁c erca", + "▁cer ca", + "() `,", + "()` ,", + "( )`,", + "ro z", + "r oz", + "ă t", + "▁M O", + "▁ MO", + "ri ften", + "rift en", + "rif ten", + "import ant", + "▁je ho", + "▁find ViewById", + "▁ findViewById", + "▁con sequence", + "▁conse quence", + "▁consequ ence", + "▁measure d", + "▁meas ured", + "is hes", + "ish es", + "▁s ze", + "▁sz e", + "ien do", + "i endo", + "▁W ahl", + "▁Wa hl", + "st rip", + "str ip", + "AR D", + "▁op acity", + "▁ opacity", + "WOR D", + "W ORD", + "▁В і", + "▁L ocation", + "▁Lo cation", + "▁Loc ation", + "▁ Location", + "ra i", + "r ai", + "пе н", + "п ен", + "▁r if", + "▁ri f", + "▁ rif", + "auss ian", + "File Name", + "▁dis co", + "▁disc o", + "il en", + "ile n", + "i len", + "▁v agy", + "▁va gy", + "li city", + "lic ity", + "licit y", + "l icity", + "B order", + "▁T rack", + "▁Tr ack", + "▁Tra ck", + "▁ Track", + "бо м", + "б ом", + "fa ct", + "fac t", + "f act", + "ok a", + "o ka", + "▁g ior", + "▁gi or", + "▁ gior", + "▁XV II", + "▁XVI I", + "▁d är", + "Si te", + "S ite", + "ał o", + "a ło", + "sk á", + "s ká", + "▁pix els", + "▁pixel s", + "vi ty", + "v ity", + "j Query", + "▁sc ulpt", + "▁c argo", + "▁car go", + "▁direct ive", + "▁w al", + "▁wa l", + "▁ wal", + "▁c onna", + "▁con na", + "▁conn a", + "▁Th rough", + "▁э том", + "▁это м", + "St atic", + "Stat ic", + "oms nitt", + "▁r und", + "▁run d", + "▁ru nd", + "▁ rund", + "▁c laimed", + "▁claim ed", + "з ня", + "sh a", + "s ha", + "▁r ag", + "▁ra g", + "▁ rag", + "cre ment", + "cr ement", + "▁fün f", + "▁r ival", + "▁riv al", + "▁ri val", + "▁ rival", + "ri n", + "r in", + "sl ash", + "▁th irty", + "s leep", + "оло ги", + "о логи", + "S M", + "ga te", + "gat e", + "g ate", + "iz ations", + "ization s", + "vi k", + "v ik", + "▁b less", + "▁bl ess", + "▁ble ss", + "▁Ill inois", + "▁T E", + "▁ TE", + "ut ing", + "uti ng", + "u ting", + "▁sol ving", + "GE R", + "G ER", + "▁X IV", + "▁XI V", + "▁Ind ians", + "▁India ns", + "▁Indian s", + "ex press", + "exp ress", + "expr ess", + "▁H eil", + "▁He il", + "▁mu jer", + "▁invån are", + "'] );", + "']) ;", + "' ]);", + "▁a ur", + "▁au r", + "▁ aur", + "bo ost", + "G O", + "▁n in", + "▁ni n", + "to k", + "t ok", + "go d", + "g od", + "ot er", + "ote r", + "o ter", + ")$ $", + ") $$", + "▁desc end", + "р ю", + "▁L anguage", + "▁ Language", + "▁d iver", + "▁di ver", + "▁div er", + "▁Ass uming", + "▁fre quent", + "▁frequ ent", + "ч ні", + "▁Bi ography", + ", [", + "ur m", + "u rm", + "▁walk ed", + "▁wal ked", + "▁feder al", + "▁fed eral", + "▁Mich igan", + "▁fact s", + "▁fac ts", + "▁In tegr", + "▁Int egr", + "▁ Integr", + "LE S", + "L ES", + "▁A lan", + "▁Al an", + "▁c oup", + "▁co up", + "▁cou p", + "Be r", + "B er", + "▁p articles", + "▁part icles", + "▁partic les", + "▁particle s", + "▁parti cles", + "ћ е", + "Infl ater", + "+ (", + "Bo und", + "B ound", + "▁S ü", + "A udio", + "cite t", + "cit et", + "c itet", + "ye ct", + "y ect", + "▁n r", + "▁ nr", + "x e", + "▁B run", + "▁Br un", + "▁Bru n", + "▁_ ,", + "▁ _,", + "av or", + "avo r", + "a vor", + "▁dis cipl", + "al m", + "a lm", + "▁но ября", + "▁S SL", + "▁SS L", + "▁ SSL", + "▁Ka iser", + "▁Kais er", + "▁re cher", + "▁rec her", + "yg on", + "y gon", + "▁regard less", + "▁config ur", + "▁un necess", + "▁Cl ark", + "▁Clar k", + "PH P", + "P HP", + "▁F ALSE", + "▁ FALSE", + "▁p ad", + "▁pa d", + "▁ pad", + "$ }", + "▁v alu", + "▁val u", + "▁va lu", + "▁ valu", + "▁dise ase", + "▁ma ior", + "▁mai or", + "▁h ommes", + "▁hom mes", + "▁homme s", + "▁Ed ition", + "▁Edit ion", + "sl ant", + "s lant", + "▁en ding", + "▁end ing", + "▁ ending", + "▁sett led", + "ur us", + "uru s", + "u rus", + "he d", + "h ed", + "Pat tern", + "▁го дина", + "▁годи на", + "▁Phil adel", + "tikz picture", + "▁co al", + "▁s ede", + "▁se de", + "▁sed e", + "▁satisf ies", + "▁t rim", + "▁tr im", + "▁tri m", + "▁ trim", + "▁b at", + "▁ba t", + "▁ bat", + "▁améric ain", + "▁lug lio", + "▁по ча", + "▁поч а", + "ff ff", + "fff f", + "f fff", + "▁T arget", + "▁Tar get", + "▁ Target", + "gener ate", + "▁Z ie", + "ți a", + "ț ia", + "▁g ard", + "▁gar d", + "▁ga rd", + "▁work ers", + "▁worker s", + "▁J ob", + "▁Jo b", + "▁ Job", + "▁ur ban", + "▁urb an", + "▁ urban", + "ah len", + "ahl en", + "a hlen", + "▁Build ing", + "▁n eu", + "▁ne u", + "▁ch ron", + "▁chr on", + "▁ chron", + "▁Ear l", + "gr o", + "g ro", + "US E", + "U SE", + "▁X II", + "▁XI I", + "▁we alth", + "▁ wealth", + "in ae", + "ina e", + "▁Б ра", + "▁li bert", + "▁lib ert", + "▁liber t", + "ir os", + "iro s", + "i ros", + ": $", + "le e", + "l ee", + "ie ves", + "ieve s", + "iev es", + "▁Just ice", + "▁o il", + "▁Ath let", + "▁c lo", + "▁cl o", + "▁ clo", + "Sc ale", + "Scal e", + "▁l ips", + "▁li ps", + "▁lip s", + "▁a pril", + "▁ap ril", + "▁apr il", + "▁im pression", + "▁imp ression", + "▁impr ession", + "▁impress ion", + "▁per ce", + "▁уча сти", + "▁участ и", + "vi l", + "v il", + "éc h", + "é ch", + "▁e quality", + "▁equ ality", + "▁equal ity", + "▁ equality", + "▁м ет", + "▁ме т", + "▁ мет", + "▁an notation", + "▁annot ation", + "▁ annotation", + "er nal", + "ern al", + "erna l", + "▁M ach", + "▁Ma ch", + "▁Mac h", + "▁int itul", + "pro blem", + "prob lem", + "ющи х", + "ю щих", + "op lus", + "o plus", + "▁thous ands", + "▁thousand s", + "▁calcul ations", + "▁calculation s", + "▁calc ulations", + "um ps", + "ump s", + "▁tri angle", + "▁ triangle", + "ph al", + "pha l", + "p hal", + "▁D orf", + "▁Do rf", + "▁Dor f", + "▁doll ars", + "▁d enen", + "▁de nen", + "▁den en", + "l ès", + "ol id", + "oli d", + "▁Result s", + "▁ Results", + "▁Stad ium", + "▁D esp", + "▁De sp", + "▁Des p", + "▁E isen", + "im ir", + "imi r", + "i mir", + "▁s otto", + "▁so tto", + "▁sott o", + "▁č i", + "▁ či", + "at able", + "ata ble", + "a table", + "or um", + "oru m", + "o rum", + "▁conver gence", + "▁je une", + "▁jeu ne", + "ok ing", + "oki ng", + "o king", + "▁жи во", + "ain ing", + "ai ning", + "a ining", + "po inter", + "point er", + "cul o", + "cu lo", + "c ulo", + "▁js ou", + "▁g rab", + "▁gr ab", + "▁gra b", + "ak te", + "akt e", + "a kte", + "▁ho ping", + "▁hop ing", + "▁M ak", + "▁Ma k", + "▁s ag", + "▁sa g", + "origin e", + "orig ine", + "▁по след", + "▁после д", + "▁V eg", + "▁Ve g", + "▁the oret", + "▁T ru", + "▁Tr u", + "ne ment", + "nem ent", + "n ement", + "▁f aces", + "▁fa ces", + "▁face s", + "▁fac es", + "▁ faces", + "H or", + "Jo in", + "J oin", + "ar el", + "are l", + "a rel", + "▁о коло", + "▁ок оло", + "How ever", + "▁c atal", + "▁ca tal", + "▁cat al", + "▁ catal", + "bo urg", + "bour g", + "b ourg", + "▁mysql i", + "▁mysq li", + "▁ mysqli", + "ac ions", + "acion s", + "aci ons", + "▁Init ial", + "▁ Initial", + "▁r ain", + "▁ra in", + "▁ rain", + "it ure", + "itu re", + "▁Sci ences", + "▁Science s", + "▁Kre is", + "._ _", + ". __", + "▁cin q", + "▁A uß", + "▁Au ß", + "ith met", + "it ors", + "ito rs", + "itor s", + "am azon", + "ama zon", + "▁g ap", + "▁ga p", + "▁ign ored", + "▁ignore d", + "▁ignor ed", + "ad v", + "ко ї", + "▁ча сть", + "▁час ть", + "▁част ь", + "▁cor por", + "▁corpo r", + "це р", + "ц ер", + "▁cr ime", + "▁cri me", + "▁crim e", + "uo us", + "u ous", + "▁на лази", + "Data Frame", + "во ди", + "вод и", + "Ig n", + "I gn", + "▁Lin coln", + "▁me nos", + "▁men os", + "▁Lu ft", + "▁L ind", + "▁Li nd", + "▁Lin d", + "▁C ook", + "▁Co ok", + "▁ Cook", + "▁material s", + "ap ped", + "app ed", + "appe d", + "a pped", + "ign ore", + "▁от кры", + "fr ied", + "fri ed", + "f ried", + "▁gouvern ement", + "▁f ired", + "▁fire d", + "▁fi red", + "▁fir ed", + "▁screen shot", + "▁screens hot", + "се н", + "с ен", + "▁[ (", + "▁ [(", + "▁органи за", + "Graph ics", + "▁про ти", + "▁p hen", + "▁ph en", + "▁ phen", + "cr aft", + "cra ft", + "c raft", + "▁b rain", + "▁br ain", + "▁bra in", + "▁C omo", + "▁Com o", + "▁Co mo", + "▁Every thing", + "an es", + "ane s", + "a nes", + "IG N", + "I GN", + "▁n ederbörd", + "▁ nederbörd", + "▁For est", + "▁Fore st", + "▁Fo rest", + "za hl", + "z ahl", + "▁Am ong", + "Q t", + "▁to gg", + "▁tog g", + "▁vari ant", + "▁ variant", + "▁h ill", + "▁hi ll", + "▁ hill", + "пи си", + "пис и", + "col on", + "co lon", + "colo n", + "▁dic embre", + "го р", + "г ор", + "▁W ind", + "▁Win d", + "▁Wi nd", + "ünst ler", + "▁= \\", + "▁ =\\", + "sa ved", + "save d", + "s aved", + "▁n ej", + "▁ne j", + "▁ nej", + "un te", + "unt e", + "ut to", + "utt o", + "u tto", + "▁rec ens", + "▁rece ns", + "▁s ick", + "▁si ck", + "▁sic k", + "▁d esen", + "▁de sen", + "▁des en", + "US T", + "U ST", + "▁wor st", + "▁An gel", + "▁Ang el", + "od ox", + "odo x", + "▁Prov ince", + "▁Provin ce", + "▁M az", + "▁Ma z", + "▁agre ement", + "▁agree ment", + "▁B ass", + "▁Bas s", + "▁Ba ss", + "▁seg unda", + "on ces", + "once s", + "onc es", + "▁Lin ki", + "▁Link i", + "▁C L", + "▁ CL", + "▁j á", + "it ement", + "ite ment", + "item ent", + "▁á rea", + "▁ár ea", + "▁scal ar", + "▁scala r", + "▁Р ес", + "▁Ре с", + "aw t", + "a wt", + "si eme", + "▁j uni", + "▁ju ni", + "▁jun i", + "▁худо ж", + "ik us", + "iku s", + "▁l id", + "▁li d", + "pp el", + "ppe l", + "p pel", + "av i", + "a vi", + "▁bal ance", + "ip ping", + "ipp ing", + "ippi ng", + "i pping", + "cuss ion", + "че ских", + "(\" .", + "( \".", + "Al so", + "▁w his", + "▁wh is", + "HO ME", + "▁b rown", + "▁br own", + "▁bro wn", + "▁brow n", + "▁d ía", + "▁dí a", + "▁pu ò", + "plot lib", + "▁Jahrhundert s", + "D K", + "▁an chor", + "▁anc hor", + "▁anch or", + "▁ anchor", + ".. .]", + "... ]", + "▁Aust ria", + "▁m arca", + "▁mar ca", + "▁marc a", + "▁g ez", + "▁ge z", + "ious ly", + "i ously", + "▁l azy", + "▁la zy", + "x a", + "▁Ch annel", + "▁Chan nel", + "▁ Channel", + "▁ne uen", + "▁neue n", + "▁neu en", + "da s", + "d as", + "▁search ed", + "▁sta at", + "▁ staat", + "▁Та к", + "▁Jo sef", + "▁Jose f", + "▁Jos ef", + "▁S her", + "▁Sh er", + "▁She r", + "po is", + "p ois", + "▁e nem", + "▁en em", + "▁access ing", + "▁не ко", + "▁fur ono", + "▁pse udo", + "▁pseud o", + "? >", + "▁estado un", + "▁estad oun", + "▁Ви ди", + "▁mot iv", + "▁re call", + "▁rec all", + "is son", + "iss on", + "i sson", + "ó b", + ")- -", + ") --", + "▁E rz", + "▁Er z", + "▁са вез", + "Dir ect", + "Di rect", + "D irect", + "со б", + "с об", + "▁s ho", + "▁sh o", + "v ölker", + "A p", + "ge ns", + "gen s", + "g ens", + "ниш тво", + "▁Am sterdam", + "us k", + "u sk", + "п ло", + "▁sim ulation", + "▁B C", + "▁ BC", + "▁W oj", + "▁Wo j", + "au tom", + "aut om", + "auto m", + "Al ex", + "A lex", + "▁econom ic", + "▁econ omic", + "го м", + "г ом", + "ik ai", + "ika i", + "▁a ltre", + "▁al tre", + "▁alt re", + "▁' -", + "▁ '-", + "▁W eg", + "▁We g", + "Not Found", + "й ской", + "▁convert ing", + "▁conver ting", + "ph abet", + "pha bet", + "at rice", + "atr ice", + "atri ce", + "bour ne", + "al om", + "alo m", + "▁comp aring", + "▁compar ing", + "▁Z o", + "▁f la", + "▁fl a", + "ва я", + "▁en tra", + "▁ent ra", + "▁entr a", + "▁char set", + "▁chars et", + "develop ers", + "developer s", + "íst ica", + "} >", + "▁J azz", + "▁Ja zz", + "▁How ard", + "▁Ho ward", + "ш та", + "▁cl one", + "▁clo ne", + "▁ clone", + "do or", + "d oor", + "▁P in", + "▁Pi n", + "** *", + "* **", + "▁sil ent", + "ec ycle", + "e cycle", + "is ce", + "isc e", + "i sce", + "▁m ud", + "▁mu d", + "▁Dis play", + "▁ Display", + "▁l ip", + "▁li p", + "▁ lip", + "▁исполь зова", + "▁character istic", + "▁s b", + "▁ sb", + "fire base", + "▁B ew", + "▁Be w", + "Cal endar", + "▁u so", + "▁us o", + "▁ uso", + "ès e", + "è se", + "▁R at", + "▁Ra t", + "▁es per", + "▁espe r", + "▁esp er", + "▁ esper", + "▁throw ing", + "▁thro wing", + "▁ro dz", + "▁rod z", + "▁y ards", + "▁yard s", + "▁g rass", + "▁gr ass", + "▁gra ss", + "▁mar ker", + "▁mark er", + "▁ marker", + "▁K os", + "▁Ko s", + "Th eta", + "The ta", + "▁organ is", + "ker nel", + "kern el", + "k ernel", + "▁person as", + "▁pers onas", + "▁persona s", + "ke ep", + "kee p", + "▁exc laimed", + "os lav", + "▁Ent ertain", + "▁Enter tain", + "не р", + "н ер", + "▁in won", + "▁R and", + "▁Ra nd", + "▁Ran d", + "red uce", + "redu ce", + "fa c", + "f ac", + "ex pression", + "exp ression", + "expr ession", + "express ion", + "y j", + "▁differ enti", + "▁different i", + "ag lia", + "agli a", + "▁tem plates", + "▁template s", + "▁ templates", + "▁m ű", + "▁p rv", + "▁pr v", + "▁m ois", + "▁mo is", + "▁moi s", + "▁gew ann", + "▁бу ла", + "bib li", + "b ibli", + "de mo", + "dem o", + "d emo", + "▁And erson", + "▁Anders on", + "▁ре д", + "▁ ред", + "▁por que", + "▁P ologne", + "▁Pol ogne", + "▁t rip", + "▁tr ip", + "▁tri p", + "▁exem ple", + "▁exempl e", + "▁Intern acional", + "▁ка о", + "In sert", + "gen eral", + "gener al", + "SE SSION", + "ber ga", + "berg a", + "hä lt", + "h ält", + "un as", + "una s", + "u nas", + "ми ра", + "мир а", + "▁yield s", + "map sto", + "maps to", + "sp ot", + "s pot", + "▁+ \\", + "▁ +\\", + "лл а", + "л ла", + "▁precis ely", + "▁precise ly", + "▁ч лен", + "sh adow", + "Ar e", + "A re", + "un al", + "una l", + "u nal", + "▁dis par", + "▁disp ar", + "▁tít ulo", + "ne st", + "nes t", + "n est", + "▁L ow", + "▁Lo w", + "▁p rot", + "▁pro t", + "▁pr ot", + "▁C osta", + "▁Co sta", + "▁Cost a", + "▁Cos ta", + "name d", + "na med", + "nam ed", + "n amed", + "▁g ained", + "▁ga ined", + "▁gain ed", + "les ia", + "l esia", + "▁admin istration", + "▁administr ation", + "Im port", + "Imp ort", + "br anch", + "b ranch", + "▁sym path", + "vo j", + "v oj", + "▁E C", + "▁ EC", + "▁municip io", + "▁anim ated", + "▁animate d", + "▁direct ories", + "▁director ies", + "▁ro of", + "zą d", + "z ąd", + "im et", + "ime t", + "i met", + "pr oto", + "pro to", + "bl a", + "b la", + ": ]", + "ha ve", + "hav e", + "h ave", + "at em", + "ate m", + "a tem", + "▁n s", + "▁ ns", + "▁s ector", + "▁se ctor", + "▁sec tor", + "▁sect or", + "th ree", + "ow ane", + "owa ne", + "owan e", + "wer s", + "we rs", + "w ers", + "ов их", + "ови х", + "ren ce", + "r ence", + "▁ex tr", + "▁ext r", + "ig ten", + "igt en", + "igte n", + "▁occ ident", + "ț ă", + "▁e at", + "▁h ydro", + "▁hy dro", + "▁hyd ro", + "ubern etes", + "[ @", + "▁M oon", + "▁Mo on", + "▁S ho", + "▁Sh o", + "▁else where", + "ül ler", + "üll er", + "Up load", + "ла нд", + "лан д", + "л анд", + "▁F ör", + "w issenschaft", + "K S", + "▁phys ics", + "▁ physics", + "t z", + "▁се ред", + "▁Ar beit", + "▁Arbe it", + "▁ме ст", + "▁ мест", + "▁Geb iet", + "▁in sect", + "▁ins ect", + "▁inse ct", + "A h", + "iz ado", + "iza do", + "▁tem ple", + "▁temp le", + "▁ann ual", + "st ad", + "sta d", + "▁hab itat", + "▁habit at", + "▁A B", + "▁ AB", + "wo rt", + "wor t", + "w ort", + "▁re pos", + "▁rep os", + "▁repo s", + "▁N eu", + "▁Ne u", + "▁$ (\".", + "▁$( \".", + "▁$(\" .", + "Vor lage", + "▁repre zent", + "est anden", + "In tern", + "Int ern", + "Inter n", + ". `", + "▁fa iling", + "▁fail ing", + "▁M aterial", + "▁Mate rial", + "▁ Material", + "▁effect ively", + "▁effective ly", + "те лем", + "тел ем", + "▁г ла", + "▁ гла", + "▁na hm", + "▁nah m", + "▁ nahm", + "▁differ ently", + "▁different ly", + "ext ension", + "▁V erm", + "▁Ver m", + "▁Ve rm", + "en abled", + "ena bled", + "enable d", + "con figure", + "config ure", + "ni o", + "n io", + "ci ones", + "cio nes", + "cion es", + "c iones", + "▁B each", + "▁Be ach", + "со на", + "сон а", + "с она", + "▁copy ing", + "▁cop ying", + "▁у країн", + "▁при зна", + "▁приз на", + "z h", + "Des ktop", + "▁s ost", + "▁so st", + "▁sub sequently", + "▁subsequ ently", + "▁subsequent ly", + "▁Le hr", + "▁ ó", + "lä r", + "l är", + "od or", + "odo r", + "o dor", + "ph on", + "p hon", + "n c", + "iter ator", + "▁э ти", + "▁europ é", + "▁Tor onto", + "ód igo", + "▁p osto", + "▁po sto", + "▁pos to", + "▁post o", + "ff e", + "f fe", + "▁c rew", + "▁cre w", + "▁cr ew", + "▁Sch war", + "▁Schw ar", + "S a", + "squ are", + "s quare", + "▁be side", + "▁bes ide", + "▁М і", + "▁a th", + "▁at h", + "▁ ath", + "▁ad vent", + "▁adv ent", + "c ji", + "writ ten", + "wr itten", + "w ritten", + "▁r uss", + "▁ru ss", + "▁rus s", + "ro st", + "ros t", + "r ost", + "H I", + "▁d ice", + "▁di ce", + "▁dic e", + "cc a", + "c ca", + "▁d ép", + "▁dé p", + "pl y", + "p ly", + "big g", + "bi gg", + "b igg", + "zi ał", + "zia ł", + "z iał", + "üt t", + "ü tt", + "▁о дно", + "▁од но", + "J ECT", + "сь кому", + "сько му", + "ськ ому", + "no s", + "n os", + "mo ck", + "m ock", + "La unch", + "sa me", + "sam e", + "s ame", + "▁j obs", + "▁jo bs", + "▁job s", + "▁wide ly", + "▁wid ely", + "▁def ines", + "▁define s", + "▁defin es", + "▁P se", + "▁Ps e", + "▁neigh bour", + "▁neighb our", + "ющи е", + "▁cl oser", + "▁close r", + "▁clos er", + "▁clo ser", + "▁рас поло", + "▁распо ло", + "▁cl ubs", + "▁club s", + "fl y", + "f ly", + "ши м", + "ш им", + "▁suffer ed", + "▁suff ered", + "▁n ar", + "▁na r", + "▁ nar", + "▁l avor", + "▁la vor", + "▁lav or", + "Ext ension", + "ition ally", + "itional ly", + "▁g race", + "▁gr ace", + "▁gra ce", + "▁Campe onato", + "▁Christ mas", + "m iddle", + "oth ek", + "othe k", + "el ements", + "element s", + "ele ments", + "elem ents", + "▁son dern", + "▁t arde", + "▁tar de", + "▁tard e", + "▁perman ent", + "▁con clude", + "▁concl ude", + "Se g", + "S eg", + "▁а каде", + "}\" ,", + "} \",", + "▁февра ля", + "ře d", + "ř ed", + "▁I L", + "▁ IL", + "ju d", + "j ud", + "▁U SS", + "▁US S", + "▁N ature", + "▁Natur e", + "▁Nat ure", + "if ference", + "iffer ence", + "iffe rence", + "Serial izer", + "▁tw elve", + "ti d", + "t id", + "ми я", + "че ского", + "▁cal endar", + "▁ calendar", + "con cat", + "▁inter section", + "▁intersect ion", + "▁P A", + "▁ PA", + "az ure", + "azu re", + "▁situ ée", + "▁situé e", + "▁k inds", + "▁kind s", + "▁kin ds", + "▁aus ge", + "▁r ural", + "▁ru ral", + "Th eme", + "The me", + "▁t ale", + "▁tal e", + "▁ta le", + "no indent", + "go ing", + "r x", + "ag i", + "a gi", + "wrap per", + "wr apper", + "w rapper", + "▁Co ast", + "mb H", + "▁пере д", + "▁пе ред", + "sp re", + "spr e", + "s pre", + "▁} \\", + "▁ }\\", + "▁L I", + "▁ LI", + "zn am", + "zna m", + "z nam", + "it led", + "itle d", + "Sam ple", + "S ample", + "ul iar", + "uli ar", + "* \\", + "▁res istance", + "▁resist ance", + "st ock", + "sto ck", + "ke d", + "k ed", + "▁H E", + "▁ HE", + "▁pos session", + "▁poss ession", + "▁possess ion", + "▁R ing", + "▁Ri ng", + "▁m agyar", + "▁mag yar", + "ou ts", + "out s", + "o uts", + "▁Secret ary", + "nd e", + "n de", + "▁W ald", + "▁Wal d", + "▁Wa ld", + "- (", + "▁I SO", + "▁IS O", + "▁ ISO", + "▁af ternoon", + "ion en", + "io nen", + "ione n", + "i onen", + "▁st ops", + "▁stop s", + "▁sto ps", + "▁const ants", + "▁constant s", + "gu ard", + "bo w", + "b ow", + "▁e rs", + "▁er s", + "▁ ers", + "▁Fire base", + "▁C lear", + "▁Cl ear", + "▁Cle ar", + "▁ Clear", + "▁H oly", + "▁Hol y", + "▁Ho ly", + "W in", + "▁title s", + "▁tit les", + "▁т рав", + "▁тра в", + "▁cont rib", + "▁contr ib", + "▁ contrib", + "hä ng", + "h äng", + "▁phot ograph", + "▁photo graph", + "▁Dist ribution", + "if ts", + "ift s", + "▁a unque", + "com b", + "co mb", + "c omb", + "AD D", + "A DD", + "▁public ation", + "▁pub lication", + "▁publi cation", + "▁слу ж", + "▁к ня", + "▁ay ant", + "▁re store", + "▁r estore", + "▁rest ore", + "▁resto re", + "▁bel ief", + "▁v ég", + "▁vé g", + "▁ext ensions", + "▁extension s", + "▁extens ions", + "▁ extensions", + "▁de com", + "▁dec om", + "вши й", + "в ший", + "W T", + "▁par ti", + "▁part i", + "▁gi oc", + "▁ми ра", + "▁ мира", + "▁is su", + "▁iss u", + "pi pe", + "pip e", + "p ipe", + "▁pro ps", + "▁pr ops", + "▁prop s", + "▁ props", + "▁w illing", + "▁will ing", + "▁wil ling", + "▁n est", + "▁ne st", + "▁ nest", + "as o", + "a so", + "po t", + "p ot", + "▁hand les", + "▁handle s", + "▁ф о", + "▁ фо", + "▁m oder", + "▁mod er", + "▁mo der", + "▁mode r", + "▁eben falls", + "▁fight ing", + "um bn", + "umb n", + "▁trans parent", + "▁K rist", + "▁Kr ist", + "▁home s", + "▁hom es", + "▁ho mes", + "▁voy age", + "Fa iled", + "Fail ed", + "▁B ird", + "▁Bi rd", + "▁Bir d", + "▁He art", + "Count er", + "Co unter", + "C ounter", + "▁Scott ish", + "át ica", + "▁ar beit", + "▁ arbeit", + "^{ -\\", + "^{- \\", + "▁S or", + "▁So r", + "▁eng aged", + "▁engag ed", + "▁a side", + "▁as ide", + "▁asi de", + "▁F ou", + "▁Fo u", + "▁w iel", + "▁wie l", + "▁re const", + "▁recon st", + "ou sin", + "ous in", + "▁host ed", + "▁ho sted", + "▁hos ted", + "▁c lasse", + "▁class e", + "▁cl asse", + "▁clas se", + "▁con test", + "▁cont est", + "▁conte st", + ".. .\"", + "... \"", + "мо м", + "м ом", + "▁be an", + "▁ bean", + "ge m", + "g em", + "▁consult ato", + "▁b io", + "▁bi o", + "▁ bio", + "▁subject s", + "bo Box", + "▁Sch rift", + "▁d inner", + "▁din ner", + "ă r", + "▁r ówn", + "▁% %", + "▁ %%", + "ba ge", + "bag e", + "b age", + "▁ver öff", + "▁det ected", + "▁detect ed", + "ie nn", + "ien n", + "i enn", + "ro se", + "ros e", + "r ose", + "▁T on", + "▁To n", + "Comp lete", + "Comple te", + "▁pro to", + "▁pr oto", + "▁prot o", + "▁ proto", + "ich ts", + "icht s", + "i chts", + "ST AT", + "Check ed", + "▁in ten", + "▁i nten", + "▁int en", + "▁inte n", + "▁s mile", + "▁sm ile", + "▁st rip", + "▁str ip", + "▁stri p", + "▁ strip", + "ne ut", + "') ;\r", + "'); \r", + "' );\r", + "fo ur", + "f our", + "▁to das", + "▁tod as", + "▁toda s", + "Control s", + "▁thor ough", + "ru p", + "r up", + "▁држа ви", + "it ă", + "Pro tocol", + "К а", + "▁expand ed", + "ex tra", + "ext ra", + "op ort", + "opo rt", + "o port", + "▁Ста нов", + "le ases", + "lease s", + "▁n otion", + "▁not ion", + "▁no tion", + "▁g uest", + "▁gu est", + "▁Is lands", + "▁Island s", + "ic ked", + "ick ed", + "▁D ave", + "▁Dav e", + "▁Da ve", + "▁ref lection", + "▁reflect ion", + "li v", + "l iv", + "ál ní", + "▁reve aled", + "▁s og", + "▁so g", + "▁T ax", + "▁Ta x", + "▁period o", + "▁peri odo", + "▁Welt krie", + "catal ina", + "qu é", + "q ué", + "▁F ather", + "▁Fa ther", + "▁B ir", + "▁Bi r", + "ex pect", + "exp ect", + "▁re gression", + "▁reg ression", + "in é", + "i né", + "▁d abei", + "▁da bei", + "pe rm", + "per m", + "p erm", + "ме не", + "мен е", + "м ене", + "▁A bd", + "▁Ab d", + "▁C F", + "▁ CF", + "ar ks", + "ark s", + "resol ve", + "wed ge", + "w edge", + "▁initial ization", + "▁Vé ase", + "▁при ня", + "st mt", + "▁in come", + "▁inc ome", + "M Y", + "▁od kazy", + "▁Sie he", + "▁bod ies", + "▁s oc", + "▁so c", + "R andom", + "▁s enza", + "▁sen za", + "ab lo", + "abl o", + "a blo", + "▁reg arded", + "▁regard ed", + "on Create", + "▁Mag azine", + "▁R af", + "▁Ra f", + "▁Buen os", + "и л", + ")) );", + "))) ;", + ") ));", + "ca pt", + "cap t", + "c apt", + "re direct", + "red irect", + "▁pe tit", + "▁pet it", + "▁f arm", + "▁far m", + "▁fa rm", + "▁r ôle", + "▁стать и", + "     ", + "sub figure", + "èce s", + "è ces", + "zi el", + "zie l", + "z iel", + "▁о кон", + "▁ок он", + "E E", + "me e", + "m ee", + "▁p erten", + "▁per ten", + "▁pert en", + "▁représ ent", + "▁L A", + "▁ LA", + "? '", + "▁т ру", + "▁r ational", + "▁rat ional", + "▁ratio nal", + "os of", + "oso f", + "▁k ne", + "▁kn e", + "▁art ists", + "▁artist s", + "Fl ow", + "F low", + "▁А ль", + "▁Ал ь", + "iz ard", + "iza rd", + "izar d", + "▁num ero", + "▁numer o", + "act ic", + "a ctic", + "▁de struct", + "▁dest ruct", + "▁destru ct", + "▁П ра", + "ons ieur", + "q t", + "ab estanden", + "no ść", + "Con nect", + "Conne ct", + "▁o racle", + "▁or acle", + "▁ora cle", + "▁ oracle", + "▁Stock holm", + "size of", + "▁gem äß", + "AC T", + "A CT", + "▁ex pert", + "▁exp ert", + "▁exper t", + "ut ions", + "ution s", + "uti ons", + "▁h acia", + "▁ha cia", + "▁log ger", + "▁ logger", + "▁f ool", + "▁fo ol", + "▁foo l", + "ry pto", + "rypt o", + "æ r", + "▁c idade", + "▁ci dade", + "▁состав е", + "▁соста ве", + "ok er", + "oke r", + "o ker", + "▁Trans fer", + "▁den ied", + "Tr ack", + "Tra ck", + "T rack", + "▁r adi", + "▁ra di", + "▁rad i", + "ze c", + "z ec", + "▁Histor ic", + "▁Einwo hner", + "ко ю", + "▁х ра", + "▁ хра", + "▁C ategory", + "▁ Category", + "▁Dis ney", + "▁sw ap", + "▁ swap", + "Be gin", + "B egin", + "▁m ientras", + "▁d ance", + "▁dan ce", + "▁t ête", + "▁d roit", + "▁dr oit", + "▁dro it", + "er ta", + "ert a", + "▁bird s", + "▁bir ds", + "▁con vin", + "▁conv in", + "par ator", + "para tor", + "д ра", + "▁E S", + "▁ ES", + "▁Ress ources", + "▁Ressource s", + "EG IN", + "ück e", + "ü cke", + "▁Cr uz", + "▁Cru z", + "ab ling", + "abl ing", + "a bling", + "▁\" @", + "▁me tres", + "▁met res", + "▁B eg", + "▁Be g", + "▁Gr ünd", + "▁B oh", + "▁Bo h", + "▁m ile", + "▁mil e", + "▁mi le", + "▁ mile", + "▁Techn ology", + "\" +", + "ac co", + "acc o", + "a cco", + "▁s s", + "▁ ss", + "▁F ed", + "▁Fe d", + "▁H end", + "▁He nd", + "▁Hen d", + "us ch", + "usc h", + "u sch", + "it ä", + "fol k", + "f olk", + "▁abs or", + "an tal", + "ant al", + "anta l", + "od ge", + "▁WH EN", + "▁Extern í", + "▁Reg iment", + "▁evalu ation", + "▁T ai", + "▁Ta i", + "▁voc als", + "▁vocal s", + "▁ex perimental", + "▁experiment al", + "em bed", + "emb ed", + "▁M inn", + "▁Min n", + "▁Mi nn", + "▁в ме", + "pr ec", + "pre c", + "p rec", + "ever y", + "ev ery", + "e very", + "▁ho of", + "▁Fern ando", + "▁Bibli ographie", + "▁n ag", + "▁na g", + "amerikan ischer", + "▁m arks", + "▁mar ks", + "▁mark s", + "▁ marks", + "▁U TC", + "▁ UTC", + "▁un certain", + "ди я", + "ol ia", + "oli a", + "o lia", + "▁c up", + "▁cu p", + "▁ cup", + "▁f ille", + "▁fil le", + "▁fill e", + "▁fi lle", + "▁d ok", + "▁do k", + "use ppe", + "est erd", + "ester d", + "este rd", + "e sterd", + "▁B rand", + "▁Br and", + "▁Bra nd", + "▁Bran d", + "▁Th ird", + "P P", + "no des", + "node s", + "n odes", + "▁P ad", + "▁Pa d", + "▁ Pad", + "▁l oved", + "▁lo ved", + "▁love d", + "▁lov ed", + "sw ing", + "s wing", + "▁surpr ised", + "▁surprise d", + "ar di", + "ard i", + "▁G R", + "▁ GR", + "] \"", + "▁equ ally", + "▁equal ly", + "▁eq ually", + "ih e", + "i he", + "ca re", + "car e", + "c are", + "пи сок", + "пис ок", + "li jk", + "lij k", + "l ijk", + "ri nn", + "rin n", + "r inn", + "▁\\ [\\", + "▁\\[ \\", + "▁s ons", + "▁so ns", + "▁son s", + "▁t ät", + "ic amente", + "ica mente", + "▁l isting", + "▁list ing", + "iel lement", + "ielle ment", + "▁nyel ven", + "▁d s", + "▁ ds", + "▁agr icult", + "▁H ermann", + "▁Her mann", + "▁Herm ann", + "▁bes ides", + "▁beside s", + "pro gress", + "prog ress", + "▁pec uliar", + "fo cus", + "f ocus", + "c n", + "- $", + "ствен ный", + "ou rg", + "our g", + "o urg", + "▁w yn", + "▁wy n", + "▁conduct ed", + "▁condu cted", + "▁Станов ништво", + "connect ed", + "conne cted", + "conn ected", + "▁b ott", + "▁bo tt", + "▁bot t", + "▁с мер", + "▁см ер", + "▁P oz", + "▁Po z", + "un ct", + "unc t", + "con da", + "cond a", + "c onda", + "▁савез ној", + "▁ha vet", + "▁have t", + "▁hav et", + "li gt", + "lig t", + "l igt", + "or ted", + "ort ed", + "orte d", + "▁ent ering", + "▁enter ing", + "mult ip", + "multi p", + "mul tip", + "▁Tem ple", + "▁Temp le", + "▁P lant", + "▁Pl ant", + "▁Plan t", + "▁Pla nt", + "type of", + "▁V lad", + "▁qu ed", + "▁que d", + "▁q ued", + "▁re ste", + "▁r este", + "▁res te", + "▁rest e", + "▁ма й", + "▁ май", + "▁V ery", + "▁Ver y", + "▁Ve ry", + "ambigu ation", + "▁ch alleng", + "▁res pective", + "▁respect ive", + "▁т ор", + "▁то р", + "▁ тор", + "C trl", + "▁abs ence", + "ar u", + "a ru", + "во е", + "▁för st", + "▁s q", + "▁ sq", + "▁Em peror", + "▁I gn", + "▁Ig n", + "▁ Ign", + "▁т ова", + "▁то ва", + "▁ това", + ": `", + "ad oop", + "ado op", + "▁Mad ame", + "▁gru ppo", + "▁grup po", + "st ud", + "▁extern as", + "▁Александ р", + "▁d ign", + "▁di gn", + "▁dig n", + "▁жи ве", + "Am ount", + "A mount", + "▁correl ate", + "▁corre late", + "▁F ant", + "▁Fa nt", + "▁r ails", + "▁ra ils", + "▁rail s", + "▁ rails", + "f p", + "министра тив", + "▁b ought", + "▁fil ters", + "▁filter s", + "▁ filters", + "▁anc ora", + "▁part ner", + "▁qu and", + "▁quan d", + "sym bol", + "s ymbol", + "ul ating", + "ula ting", + "▁z d", + "▁ zd", + "aw n", + "a wn", + "▁G rant", + "▁Gr ant", + "▁Gra nt", + "▁Gran t", + "bec ause", + "b ecause", + "ra ble", + "rab le", + "r able", + "\\ }", + "íst icas", + "ística s", + "▁у че", + "▁péri ode", + "▁s ke", + "▁sk e", + "▁ ske", + "▁Any way", + "▁index es", + "▁inde xes", + "▁direct ions", + "▁dire ctions", + "▁direction s", + "▁R AM", + "▁RA M", + "▁ RAM", + "ch rome", + "chr ome", + "chrom e", + "▁a post", + "▁ap ost", + "▁apo st", + "▁war nings", + "▁warning s", + "▁warn ings", + "▁Air port", + "V I", + "ab ile", + "abil e", + "abi le", + "▁l ord", + "▁lo rd", + "pro vider", + "prov ider", + "▁J i", + "ost ream", + "o stream", + "▁geme ente", + "table View", + "Ex tra", + "Ext ra", + "c ursor", + "eg round", + "egr ound", + "e ground", + "▁M oz", + "▁Mo z", + "▁r ib", + "▁ri b", + "▁ rib", + "▁m orph", + "▁mor ph", + "lo ads", + "load s", + "el sk", + "els k", + "▁M AX", + "▁MA X", + "▁ MAX", + "▁Santi ago", + "▁H im", + "▁Hi m", + "code s", + "co des", + "cod es", + "c odes", + "▁l anz", + "▁lan z", + "▁count s", + "▁coun ts", + "rinn ingsområ", + "щ ё", + "▁sp é", + "▁pier ws", + "▁pierw s", + "▁S ver", + "▁Sv er", + "▁a cknow", + "▁ac know", + "Bo olean", + "▁фами ли", + "▁Sen ate", + "шо в", + "ш ов", + "ag ers", + "age rs", + "ager s", + "a gers", + "▁Nue va", + "bi l", + "b il", + "ki em", + "kie m", + "k iem", + "▁M ey", + "▁Me y", + "wi j", + "w ij", + "▁G mbH", + "valid ation", + "▁en suite", + "in king", + "ink ing", + "▁c ampion", + "▁camp ion", + "▁finan cial", + "▁financi al", + "iz on", + "izo n", + "i zon", + "He aders", + "Head ers", + "Header s", + "▁deprec ated", + "▁fon ction", + "RE G", + "R EG", + "▁vol umes", + "▁volume s", + "▁C hi", + "▁Ch i", + "▁encounter ed", + "la k", + "l ak", + "ра я", + "▁contin ues", + "▁continu es", + "▁continue s", + "▁~ [", + "uer te", + "u erte", + "▁\\ ;", + "▁ \\;", + "▁D ok", + "▁Do k", + "▁we ights", + "▁weight s", + "▁r h", + "▁ rh", + "▁Na pole", + "▁Nap ole", + "▁natur ally", + "▁natural ly", + "sk u", + "s ku", + "pa s", + "p as", + "▁g egründ", + "et r", + "e tr", + "▁K u", + "ic ted", + "ict ed", + "i cted", + "▁fab ric", + "▁A SC", + "▁AS C", + "▁ ASC", + "▁Entertain ment", + "▁en erg", + "▁ener g", + "кла д", + "к лад", + "om on", + "omo n", + "o mon", + "th eme", + "the me", + "▁ха рак", + "▁d raft", + "▁dr aft", + "▁dra ft", + "▁ch annels", + "▁channel s", + "▁de sert", + "▁des ert", + "▁deser t", + "▁tra vés", + "▁trav és", + "▁L ock", + "▁Lo ck", + "▁Loc k", + "▁ Lock", + "▁s iendo", + "▁si endo", + "фе к", + "ф ек", + "m ême", + "▁pa cket", + "▁pack et", + "▁pac ket", + "▁Mount ain", + "▁F ahr", + "▁Fa hr", + "bra io", + "пе ре", + "пер е", + "п ере", + "▁gen annt", + "▁dep loyment", + "▁deploy ment", + "Pa l", + "P al", + "но г", + "ст ру", + "стр у", + "Pr im", + "P rim", + "f ür", + "▁danger ous", + "▁sz ám", + "re ck", + "rec k", + "▁pop up", + "ic ky", + "ick y", + "in ar", + "ina r", + "i nar", + "co wo", + "cow o", + "c owo", + "нци кло", + "ít ás", + "▁pl ugins", + "▁plugin s", + "▁plug ins", + "▁ plugins", + "▁dr iven", + "▁drive n", + "▁dri ven", + "▁driv en", + "ле в", + "л ев", + "▁\" (", + "tt a", + "t ta", + "▁ Ú", + "▁e b", + "▁ eb", + "▁' ';", + "▁'' ;", + "▁kn ock", + "▁ос нова", + "▁основ а", + "▁m aison", + "▁ma ison", + "▁mais on", + "▁mai son", + "г ля", + "▁Hon or", + "▁Ho nor", + "ta il", + "t ail", + "ri tz", + "rit z", + "r itz", + "▁gu ys", + "▁combin ations", + "▁combination s", + "ond ere", + "onder e", + "onde re", + "▁A ld", + "▁Al d", + "▁f iddle", + "▁ fiddle", + "да в", + "ur d", + "u rd", + "▁pro jection", + "▁project ion", + "▁Tamb ién", + "ve rb", + "ver b", + "v erb", + "▁ter re", + "▁ terre", + "ru gu", + "rug u", + "▁se ptember", + "▁sept ember", + "▁< !", + "co st", + "cos t", + "c ost", + "▁n ut", + "▁nu t", + "▁ nut", + "{ %", + "▁ub ic", + "am arin", + "ama rin", + "amar in", + "ти и", + "▁pat ron", + "▁patr on", + "▁am ely", + "▁e sto", + "▁est o", + "▁es to", + "▁ esto", + "▁li stop", + "▁list op", + "fa l", + "f al", + "▁P rop", + "▁Pro p", + "▁Pr op", + "▁ Prop", + "▁O nt", + "▁On t", + "▁M ade", + "▁Ma de", + "▁Mad e", + "TE ST", + "▁N em", + "▁Ne m", + "▁N ations", + "▁Nat ions", + "▁Nation s", + "▁в у", + "▁ ву", + "in cluding", + "includ ing", + "▁spect rum", + "▁L an", + "▁La n", + "▁E ver", + "▁Ev er", + "Pa ul", + "t m", + "App end", + "Ap pend", + "Rel ative", + "dis abled", + "disable d", + "return s", + "▁flow ers", + "▁flo wers", + "▁flower s", + "ik u", + "i ku", + "▁| \\", + "▁ |\\", + "▁Jord an", + "▁Sm all", + "▁c ic", + "▁ci c", + "▁sex ual", + "au tre", + "aut re", + "ва л", + "в ал", + "▁r ip", + "▁ri p", + "▁ rip", + "ou st", + "ous t", + "o ust", + "▁Philadel phia", + "▁u k", + "▁ uk", + "▁M ongo", + "▁Mon go", + "▁Mong o", + "xml ns", + "▁sh op", + "▁sho p", + "▁ shop", + "▁debug ger", + "▁z aj", + "▁za j", + "▁B illy", + "▁Bill y", + "▁Bil ly", + "▁n iem", + "▁nie m", + "▁ni em", + "ol is", + "oli s", + "o lis", + "▁ро ссий", + "ag ner", + "agn er", + "agne r", + "▁m aven", + "▁ma ven", + "▁ maven", + "▁Gu stav", + "▁Gust av", + "A us", + "comp are", + "▁j eu", + "▁je u", + "ud er", + "ude r", + "u der", + "ish ment", + "▁ди визи", + "▁Fin land", + "ну т", + "н ут", + "z és", + "▁Liga ções", + "▁Lig ações", + "▁qu ello", + "▁quel lo", + "an notation", + "annot ation", + "▁th rew", + "▁thr ew", + "▁thre w", + "▁Pro of", + "▁ Proof", + "▁A rea", + "▁Ar ea", + "▁Are a", + "▁ Area", + "as hi", + "ash i", + "▁F O", + "▁ FO", + "ja min", + "j amin", + "ден т", + "д ент", + "▁un us", + "fri end", + ".\" );", + ".\") ;", + ". \");", + "▁tra kten", + "document class", + "an ka", + "ank a", + "▁ar rive", + "▁arr ive", + "▁arriv e", + "▁d onne", + "▁don ne", + "▁donn e", + "ol y", + "o ly", + "▁R ein", + "▁Re in", + "▁face book", + "▁fac ebook", + "▁ facebook", + "ic ina", + "ici na", + "sl ice", + "s lice", + "▁n agy", + "▁na gy", + "▁nag y", + "▁he bben", + "▁I C", + "▁ IC", + "▁B ag", + "▁Ba g", + "▁ Bag", + "▁circ ul", + "▁cir cul", + "ác t", + "á ct", + "mit t", + "mi tt", + "m itt", + "▁g rey", + "▁gr ey", + "▁gre y", + "▁c av", + "▁ca v", + "▁осо би", + "▁sym metric", + "▁symmet ric", + "▁S ic", + "▁Si c", + "▁med ium", + "▁medi um", + "▁ medium", + "▁U TF", + "▁ UTF", + "▁D opo", + "▁Do po", + "í ch", + "bar e", + "ba re", + "b are", + "dz ie", + "d zie", + "▁he aven", + "▁heav en", + "▁cam pe", + "▁camp e", + "ester day", + "esterd ay", + "▁W issenschaft", + "по ль", + "пол ь", + "di d", + "d id", + "al er", + "ale r", + "a ler", + "▁citiz ens", + "▁Marg aret", + "▁s ought", + "ch arts", + "char ts", + "chart s", + "CL C", + "C LC", + "ol ly", + "oll y", + "ys z", + "y sz", + "wa ld", + "wal d", + "w ald", + "▁f en", + "▁fe n", + "▁ fen", + "▁S ix", + "▁Si x", + "▁U rs", + "▁Ur s", + "▁ор ган", + "▁T rad", + "▁Tr ad", + "▁Tra d", + "cu e", + "c ue", + "sch utz", + "▁prec ise", + "▁precis e", + "▁W indow", + "▁Wind ow", + "▁ Window", + "ти е", + "ло ві", + "лов і", + "it ori", + "ito ri", + "itor i", + "dis ambiguation", + "▁х и", + "▁ хи", + "▁N atural", + "▁Natur al", + "▁Nat ural", + "da n", + "d an", + "▁con crete", + "ци ја", + "▁s pel", + "▁sp el", + "▁spe l", + "▁Fa iled", + "▁Fail ed", + "▁ Failed", + "ści e", + "śc ie", + "ś cie", + "▁b uf", + "▁bu f", + "▁ buf", + "uc a", + "u ca", + "ic ional", + "ici onal", + "icio nal", + "icion al", + "▁ott obre", + "▁otto bre", + "▁ф і", + "▁ фі", + "▁submit ted", + "▁subm itted", + "la ve", + "lav e", + "l ave", + "▁P lot", + "▁Pl ot", + "▁ Plot", + "▁col leg", + "▁coll eg", + "▁colle g", + "ad em", + "ade m", + "a dem", + "▁ch aque", + "▁cha que", + "▁neighbor hood", + "▁calci atore", + "Lo op", + "L oop", + "▁G ast", + "▁Ga st", + "▁Gas t", + "▁ко гда", + "▁indust rial", + "▁industri al", + "▁f atal", + "▁fa tal", + "▁fat al", + "▁C ert", + "▁Ce rt", + "▁Cer t", + "▁ Cert", + "la tion", + "lat ion", + "l ation", + "▁О дна", + "▁Од на", + "▁jam ais", + "▁acc um", + "Id entity", + "Ident ity", + "▁Me dal", + "▁Med al", + "Met adata", + "Meta data", + "▁лю дя", + "br idge", + "brid ge", + "b ridge", + "Go od", + "G ood", + "▁что бы", + "▁comp oser", + "▁compos er", + "▁compose r", + "▁b read", + "▁br ead", + "▁bre ad", + "▁clos ure", + "▁ closure", + "▁large ly", + "▁larg ely", + "F B", + "▁обла сть", + "▁autom atic", + "▁automat ic", + "ar ía", + "a ría", + "▁sufficient ly", + "▁ital iana", + "▁ка че", + "▁J ó", + "hi story", + "histor y", + "h istory", + "▁H D", + "▁ HD", + "▁sigu iente", + "ne ll", + "nel l", + "n ell", + "▁G ree", + "▁Gr ee", + "▁Gre e", + "▁T i", + "▁trans ferred", + "▁transfer red", + "équ ipe", + "é quipe", + "▁Phili ppe", + "▁Philipp e", + "▁Philip pe", + "▁encou rag", + "▁V ietnam", + "▁graph s", + "▁symmet ry", + "fr ed", + "fre d", + "f red", + "we ek", + "▁bron ze", + "ry s", + "r ys", + "▁name ly", + "▁nam ely", + "on ders", + "ond ers", + "onder s", + "onde rs", + "lem agne", + "X Y", + "Con vert", + "}] (", + "} ](", + "Reg ion", + "pe cies", + "pec ies", + "▁te xture", + "▁text ure", + "▁c hr", + "▁ch r", + "▁ chr", + "не го", + "н его", + "▁some body", + "a qu", + "er as", + "era s", + "e ras", + "▁Н ово", + "▁Но во", + "▁Нов о", + "▁d ez", + "▁de z", + "an iu", + "ani u", + "a niu", + "ok rat", + "▁co vers", + "▁cover s", + "▁cov ers", + "▁sign als", + "▁signal s", + "ђ е", + "▁H eb", + "▁He b", + "▁An ti", + "▁Ant i", + "IV E", + "I VE", + "▁re ss", + "▁r ess", + "▁res s", + "▁ ress", + "LE TE", + "yn a", + "y na", + "п ла", + "жде ния", + "ж дения", + "▁ch amp", + "▁cha mp", + "▁cham p", + "▁vill ages", + "▁village s", + "▁villa ges", + "Z one", + "▁i Phone", + "▁sou vent", + "сь кі", + "ськ і", + "▁feb braio", + "ér cito", + "▁X I", + "ok at", + "oka t", + "▁mem bres", + "▁memb res", + "▁membre s", + "ju nit", + "j unit", + "▁D raw", + "▁Dr aw", + "▁Dra w", + "▁ Draw", + "▁п рово", + "▁про во", + "▁пров о", + "▁пр ово", + "aud io", + "audi o", + "a udio", + "en dl", + "end l", + "▁N ad", + "▁Na d", + "▁magn itude", + "Su r", + "S ur", + "ic ing", + "ici ng", + "i cing", + "▁un w", + "▁о три", + "▁от ри", + "▁B ey", + "▁Be y", + "▁V ik", + "▁Vi k", + "▁polít ica", + "port er", + "por ter", + "porte r", + "p orter", + "▁Bar bara", + "▁Barb ara", + "ál t", + "á lt", + "bi b", + "b ib", + "▁accom pan", + "▁accomp an", + "V P", + "▁en coded", + "▁enc oded", + "▁encode d", + "▁ encoded", + "▁S ometimes", + "▁Some times", + "bi rd", + "bir d", + "b ird", + "▁U lt", + "▁Ul t", + "▁t un", + "▁tu n", + "get Text", + "▁ar rival", + "▁arr ival", + "▁arriv al", + "script style", + "{ `", + "▁pers pective", + "LI NE", + "LIN E", + "L INE", + "Form atter", + "Format ter", + "▁b om", + "▁bo m", + "в ра", + "DE BUG", + "Bound s", + "B ounds", + "▁T itle", + "▁Tit le", + "▁ Title", + "l ó", + "Da n", + "D an", + "▁g ene", + "▁ge ne", + "▁gen e", + "▁B it", + "▁Bi t", + "▁ Bit", + "▁reprodu ce", + "▁graph ics", + "▁ graphics", + "▁с ем", + "▁се м", + "р ё", + "▁ре ки", + "us alem", + "usa lem", + "ро ж", + "▁D ES", + "▁DE S", + "▁So ftware", + "ur ance", + "u rance", + "ithmet ic", + "en ess", + "ene ss", + "enes s", + "e ness", + "ic hi", + "ich i", + "i chi", + "Con verter", + "Convert er", + "▁g ithub", + "▁ github", + "erd ings", + "gl ise", + "ác h", + "á ch", + "▁bu ried", + "▁bur ied", + "▁v ision", + "▁vis ion", + "▁ vision", + "M iss", + "▁s ees", + "▁se es", + "▁see s", + "▁person nes", + "▁pers onnes", + "▁personn es", + "▁personne s", + "▁In tel", + "▁Int el", + "el ia", + "eli a", + "e lia", + "▁č lán", + "▁c hi", + "▁ch i", + "▁ chi", + "▁k las", + "▁kl as", + "au té", + "aut é", + "▁st ark", + "▁star k", + "cz e", + "c ze", + "▁dr ivers", + "▁driver s", + "▁drive rs", + "▁dri vers", + "▁driv ers", + "v n", + "! ,", + "▁го ды", + "▁год ы", + "H i", + "▁expla ins", + "▁expl ains", + "▁explain s", + "art icles", + "article s", + "▁z ug", + "▁zu g", + "▁ zug", + "Pro m", + "Pr om", + "P rom", + "> =", + "▁Be at", + "▁S ax", + "▁Sa x", + "vert ical", + "кт о", + "к то", + "▁pl ants", + "▁plan ts", + "▁plant s", + "▁Ré férences", + "▁Référence s", + "▁og ni", + "▁c urs", + "▁cu rs", + "▁cur s", + "▁S K", + "▁ SK", + "он и", + "о ни", + "▁des tac", + "▁dest ac", + "\") ;\r", + "\"); \r", + "\" );\r", + "▁S ure", + "▁Su re", + "▁Sur e", + "▁part ido", + "▁parti do", + "▁Fol ge", + "▁Mo ore", + "▁w z", + "ск ус", + "ску с", + "lt re", + "l tre", + "on do", + "ond o", + "▁p ose", + "▁po se", + "▁pos e", + "▁ pose", + "im os", + "imo s", + "i mos", + "бо й", + "ци па", + "ju s", + "j us", + ".. ...", + "... ..", + ".... .", + ". ....", + "▁ép oca", + "▁qu anto", + "▁quant o", + "▁quan to", + "▁Su pport", + "▁Supp ort", + "▁Sup port", + "▁ Support", + "gesch ichte", + "SER VER", + "▁George s", + "▁Georg es", + "en um", + "enu m", + "e num", + "▁h erm", + "▁he rm", + "▁her m", + "▁ne bo", + "▁C hr", + "▁Ch r", + "▁ Chr", + "char acter", + "▁* **", + "▁** *", + "▁ ***", + "▁For sch", + "ia mi", + "iam i", + "i ami", + "▁ ¿", + "cy ch", + "cyc h", + "c ych", + "▁fif th", + "se nt", + "sen t", + "s ent", + "▁and erem", + "▁andere m", + "▁proport ion", + "▁propor tion", + "▁p rest", + "▁pr est", + "▁pre st", + "▁pres t", + "▁G irl", + "▁Gi rl", + "▁Gir l", + "▁d rama", + "▁dr ama", + "▁dra ma", + "▁dram a", + "wa nd", + "wan d", + "w and", + "▁M ail", + "▁Ma il", + "▁Mai l", + "▁ Mail", + "▁L ux", + "▁Lu x", + "▁kter ý", + "▁Ges ellschaft", + "▁Hin weis", + "nis se", + "n isse", + "▁m ondo", + "▁mon do", + "▁mond o", + "E q", + "▁per í", + "▁pe rí", + "▁e astern", + "▁eas tern", + "▁east ern", + "▁UE FA", + "ual e", + "ua le", + "u ale", + "▁con vex", + "▁conv ex", + "▁по ль", + "▁пол ь", + "▁ поль", + "▁H ey", + "▁He y", + "ze nie", + "zen ie", + "z enie", + "init ely", + "▁Z usammen", + "SS L", + "S SL", + "oc al", + "oca l", + "o cal", + "▁c anal", + "▁can al", + "▁ca nal", + "vo y", + "v oy", + "▁К ри", + "▁köz ött", + "▁c ars", + "▁car s", + "▁ca rs", + "▁vers ión", + "En vironment", + "He r", + "H er", + "▁se ñ", + "▁sp atial", + "ym i", + "y mi", + "Fi re", + "F ire", + "▁ve get", + "▁veg et", + "▁W ie", + "▁Wi e", + "▁zn aj", + "▁zna j", + "▁dam age", + "▁en dl", + "▁end l", + "▁ endl", + "gi f", + "g if", + "▁qu ali", + "▁qual i", + "▁которы х", + "el lan", + "ell an", + "ella n", + "▁m ens", + "▁me ns", + "▁men s", + "▁pl ug", + "▁a bund", + "▁ab und", + "FI G", + "F IG", + "▁s f", + "▁ sf", + "▁con fl", + "▁conf l", + "▁насе ления", + "▁princi ples", + "▁princip les", + "▁principle s", + "▁Gab riel", + "ib e", + "i be", + "▁{ %", + "▁ {%", + "▁pobla ció", + "ні ципа", + "▁ext reme", + "▁extrem e", + "▁extr eme", + "▁as se", + "▁ass e", + "▁ asse", + "▁v u", + "▁ vu", + "Mo ck", + "M ock", + "▁spiel te", + "▁A er", + "▁d atos", + "▁dat os", + "en des", + "end es", + "ende s", + "▁G el", + "▁Ge l", + "▁G or", + "▁Go r", + "Ch rist", + "Chr ist", + "ch os", + "cho s", + "c hos", + "Process or", + "Proc essor", + "▁in struct", + "▁inst ruct", + "▁instru ct", + "▁p icked", + "▁pick ed", + "▁pic ked", + "nah me", + "nahm e", + "fa hr", + "fah r", + "f ahr", + "▁indic ated", + "▁indicate d", + "▁% .", + "▁ %.", + "▁t s", + "▁ ts", + "▁not able", + "▁no table", + "▁qual ified", + "▁А л", + "Bl ack", + "B lack", + "▁coun cil", + "▁over head", + "ac i", + "a ci", + "an née", + "ann ée", + "▁init With", + "bi ó", + "b ió", + "▁int roduction", + "▁introdu ction", + "▁compan ion", + "▁ex pon", + "▁exp on", + "▁k ör", + "▁kö r", + "ob y", + "o by", + "bu rn", + "bur n", + "b urn", + "gn u", + "g nu", + "virt ual", + "v irtual", + "▁intel lect", + "▁д ержа", + "▁ держа", + "' +", + "б ле", + "▁strict ly", + "▁recogn ize", + "ho ur", + "hou r", + "h our", + "▁W rest", + "en nen", + "enn en", + "enne n", + "$) .", + "$ ).", + "ff f", + "f ff", + "▁Cent ro", + "▁P itt", + "▁Pi tt", + "▁Pit t", + "▁d ział", + "▁dz iał", + "▁ dział", + "▁c ela", + "▁ce la", + "▁cel a", + "▁frances e", + "▁franc ese", + "ра ми", + "spe cial", + "spec ial", + "▁D up", + "▁Du p", + "to ire", + "t oire", + "ка ль", + "кал ь", + "к аль", + "CO UNT", + "▁Br ook", + "▁Bro ok", + "▁ру ково", + "pub lique", + "▁se conda", + "▁second a", + "▁sec onda", + "▁com pt", + "▁comp t", + "▁b land", + "▁bl and", + "▁bla nd", + "▁blan d", + "Be fore", + "▁P ack", + "▁Pa ck", + "▁Pac k", + "▁ Pack", + "al ty", + "alt y", + "öd er", + "ö der", + "▁interval s", + "▁Daten bank", + "Mo vie", + "M ovie", + "▁trans m", + "▁tran sm", + "▁t ap", + "▁ta p", + "▁по ч", + "fo n", + "f on", + "ia i", + "i ai", + "▁f ib", + "▁fi b", + "▁w yd", + "▁wy d", + "▁h ung", + "▁hun g", + "▁hu ng", + "▁ hung", + "▁a live", + "▁al ive", + "▁ali ve", + "Cl ear", + "C lear", + "▁p ushed", + "▁push ed", + "▁tu ple", + "▁ tuple", + "ach en", + "ac hen", + "ache n", + "a chen", + "го во", + "гов о", + "г ово", + "▁re vers", + "▁rev ers", + "▁reve rs", + "▁rever s", + "▁au gment", + "▁aug ment", + "▁ch allenge", + "▁challeng e", + "lo st", + "los t", + "l ost", + "▁deux ième", + "struct or", + "stru ctor", + "▁mehr erer", + "▁mehrere r", + "at ural", + "atur al", + "atura l", + "atu ral", + "Sp lit", + "S plit", + "ст ем", + "сте м", + "с тем", + "ш ла", + ")\\ \\", + ") \\\\", + "▁D og", + "▁Do g", + "▁develop ers", + "▁developer s", + "▁ developers", + "▁n od", + "▁no d", + "▁сто ро", + "▁Na N", + "▁ NaN", + "▁pr iest", + "▁pri est", + "▁ex ha", + "UN D", + "U ND", + "pa ir", + "p air", + "al one", + "alo ne", + "▁m oon", + "▁mo on", + "▁# !/", + "▁g uns", + "▁gu ns", + "▁gun s", + "ro la", + "rol a", + "r ola", + "чи та", + "▁Encyc lopedia", + "▁Encyclop edia", + "at is", + "ati s", + "a tis", + "▁' \"", + "▁ '\"", + "zy ch", + "z ych", + "▁super fic", + "▁э к", + "еде ра", + "fe ed", + "f eed", + "LA Y", + "F i", + "un ks", + "unk s", + "ise cond", + "i second", + "▁' @", + "▁Ad ding", + "▁Add ing", + "ро е", + "▁t ang", + "▁tan g", + "▁ta ng", + "ц о", + "hu ng", + "h ung", + "bi s", + "b is", + "sk ého", + "ské ho", + "▁ad vert", + "▁adv ert", + "▁за нима", + "uz z", + "u zz", + "ág ina", + "▁T el", + "▁Te l", + "si g", + "s ig", + "▁E z", + "▁guarante e", + "▁te aching", + "▁teach ing", + "ot y", + "o ty", + "ter min", + "term in", + "▁distribution s", + "▁distrib utions", + "FL A", + "F LA", + "▁Gi useppe", + "query Selector", + "▁/ \\", + "▁ /\\", + "▁S quad", + "g z", + "de lay", + "del ay", + "▁surr ounding", + "▁m anus", + "▁man us", + "▁H ou", + "▁Ho u", + "² ,", + "▁cult iv", + "▁trouble s", + "▁trou bles", + "▁r aison", + "▁ra ison", + "exp and", + "▁c ov", + "▁co v", + "▁ cov", + "nung en", + "n ungen", + ")) {", + ") ){", + "▁g een", + "▁ge en", + "▁au ßer", + "▁Л і", + "ř i", + "▁situ ations", + "▁situation s", + "▁tele p", + "▁tel ep", + "▁J ed", + "▁Je d", + "▁trav ail", + "▁trava il", + "li as", + "lia s", + "l ias", + "bul let", + "▁select ing", + "av ier", + "avi er", + "a vier", + "▁ess ential", + "( /", + "yy yy", + "št ě", + "ul ty", + "ult y", + "▁k ra", + "▁kr a", + "▁t abs", + "▁tab s", + "▁ta bs", + "▁ tabs", + "▁experience d", + "▁experien ced", + "az i", + "a zi", + "▁D irectory", + "▁Direct ory", + "▁Director y", + "▁ Directory", + "▁c ron", + "▁cr on", + "▁cro n", + "▁s pend", + "▁sp end", + "▁spe nd", + "▁R A", + "▁ RA", + "▁s elenium", + "▁sel enium", + "▁ selenium", + "▁T hé", + "▁Th é", + "Element s", + "El ements", + "ci i", + "c ii", + "▁p lat", + "▁pl at", + "▁pla t", + "▁arch ive", + "▁archiv e", + "▁ archive", + "▁ass istance", + "▁assist ance", + "▁ne ck", + "▁A venue", + "▁Aven ue", + "▁w heel", + "▁whe el", + "▁h ade", + "▁ha de", + "▁had e", + "Com mon", + "Comm on", + "▁D ialog", + "▁Di alog", + "▁Dia log", + "▁ Dialog", + "▁f org", + "▁for g", + "▁fo rg", + "▁sur ely", + "▁sure ly", + "▁h ockey", + "kt ó", + "k tó", + "▁t k", + "▁ tk", + "▁Br uce", + "▁Bru ce", + "▁e norm", + "▁en orm", + ", ’", + "▁Christ opher", + "▁Christoph er", + "je v", + "j ev", + "▁qu ad", + "▁ quad", + "▁A JAX", + "▁rel ief", + "▁reli ef", + "▁m odes", + "▁mod es", + "▁mo des", + "▁mode s", + "sk lär", + "s klär", + "▁V id", + "▁Vi d", + "▁Se rial", + "▁Ser ial", + "▁ Serial", + "▁to kens", + "▁token s", + "▁Pol and", + "▁Po land", + "\\ ]", + "▁v ide", + "▁vi de", + "▁vid e", + "ro oms", + "room s", + "om as", + "oma s", + "o mas", + "▁B ureau", + "▁Bur eau", + "c x", + "ность ю", + "ност ью", + "▁sign s", + "▁sig ns", + "ше ние", + "los sen", + "loss en", + "l ossen", + "▁Que ens", + "▁Queen s", + "▁m embre", + "▁mem bre", + "▁memb re", + "▁m ez", + "▁me z", + "▁ mez", + "▁B ool", + "▁Bo ol", + "▁ Bool", + "▁N aj", + "▁Na j", + "▁Mem ory", + "▁ Memory", + "▁K han", + "▁Kh an", + "▁l à", + "▁ là", + "▁H ud", + "▁Hu d", + "▁d ismiss", + "▁dis miss", + "ight h", + "igh th", + "▁f s", + "▁ fs", + "pr event", + "pre vent", + "prev ent", + "▁ме да", + "▁Pol ice", + "▁Po lice", + "▁с ко", + "▁ ско", + "fin ite", + "▁a mi", + "▁am i", + "▁ ami", + "▁M uch", + "▁Mu ch", + "ow ania", + "owa nia", + "owan ia", + "OR Y", + "O RY", + "io rs", + "ior s", + "i ors", + "▁Prem io", + "▁text box", + "d m", + "▁a fin", + "▁af in", + "▁Don ald", + "▁ Donald", + "▁P riv", + "▁Pr iv", + "▁Pri v", + "▁de cid", + "▁dec id", + "▁Maur ice", + "▁Mau rice", + "ag an", + "aga n", + "a gan", + "▁Britann ica", + "▁o ft", + "▁of t", + "▁consec utive", + "\"? >", + "\" ?>", + "ови й", + "st udent", + "stud ent", + "▁pe que", + "▁di eses", + "▁dies es", + "▁diese s", + "▁ret our", + "ét r", + "é tr", + "▁с ез", + "▁се з", + "▁k re", + "▁kr e", + "▁ kre", + "▁v otes", + "▁vo tes", + "▁vot es", + "▁vote s", + "ru ption", + "rupt ion", + "rup tion", + "iz ada", + "iza da", + "▁W iel", + "▁Wi el", + "▁Wie l", + "▁G ray", + "▁Gr ay", + "▁Gra y", + "▁Le op", + "▁Leo p", + "teil ung", + "tei lung", + "([ '", + "( ['", + "▁wh ites", + "▁white s", + "fr ica", + "fri ca", + "f rica", + "an imation", + "anim ation", + "cur l", + "cu rl", + "c url", + "ling s", + "lin gs", + "l ings", + "=\" $", + "lo yd", + "loy d", + "text sc", + "ор у", + "о ру", + "▁се ла", + "es ian", + "esi an", + "esia n", + "▁M ission", + "▁Miss ion", + "▁не за", + "▁ult imately", + "бо в", + "б ов", + "ol en", + "ole n", + "o len", + "ско му", + "ском у", + "ск ому", + "с кому", + "ne te", + "net e", + "n ete", + "▁D it", + "▁Di t", + "▁co stru", + "▁cost ru", + "dep endent", + "▁Re source", + "▁Res ource", + "▁ Resource", + "▁host s", + "▁hos ts", + "▁ hosts", + "▁re ar", + "▁r ear", + "D uration", + "ни ків", + "ник ів", + "М а", + "▁pl anning", + "▁plan ning", + "▁pre diction", + "▁pred iction", + "▁predict ion", + "▁L yn", + "▁Ly n", + "▁k ir", + "▁ki r", + "▁ kir", + "▁Leg isl", + "ма т", + "м ат", + "▁S occer", + "▁Soc cer", + "▁sur vey", + "▁surv ey", + "▁surve y", + "▁estadoun idense", + "or gen", + "org en", + "orge n", + "jo urd", + "jou rd", + "j ourd", + "▁ap rile", + "▁april e", + "▁apr ile", + "▁i ds", + "▁id s", + "▁ ids", + "сь ке", + "ськ е", + "▁emp loyee", + "▁employ ee", + "▁ employee", + "▁Schaus pieler", + "р ъ", + "▁mult imedia", + "▁multi media", + "▁сво ю", + "▁w ine", + "▁win e", + "▁E U", + "ic ă", + "▁R hein", + "▁Rh ein", + "▁Pal mar", + "ot eca", + "ote ca", + "▁prep are", + "▁prepar e", + "▁ prepare", + "▁T ot", + "▁To t", + "▁N ull", + "▁Nu ll", + "▁ Null", + "▁k in", + "▁ki n", + "▁ kin", + "in als", + "inal s", + "ina ls", + "▁New ton", + "▁t bl", + "▁ tbl", + "▁S old", + "▁So ld", + "▁Sol d", + "▁ver f", + "▁ve rf", + "at uring", + "atur ing", + "atu ring", + "▁la ptop", + "▁lap top", + "▁Со вет", + "▁Сов ет", + "▁Сове т", + "se cret", + "sec ret", + "▁Olymp ic", + "▁football er", + "▁Rud olf", + "▁con he", + "zy sk", + "▁evalu ated", + "▁evaluate d", + "» )", + "sh op", + "re pository", + "▁z ach", + "▁za ch", + "▁l osing", + "▁lo sing", + "▁los ing", + "et ter", + "ett er", + "ette r", + "▁W irtschaft", + "та к", + "▁unnecess ary", + "▁P hot", + "▁Ph ot", + "▁Pho t", + "an ska", + "ans ka", + "ansk a", + "▁N ative", + "▁Nat ive", + "▁ Native", + "CC E", + "C CE", + "▁fi fty", + "▁fif ty", + "▁e rw", + "▁er w", + "r h", + "is sent", + "iss ent", + "isse nt", + "issen t", + "}{ (", + "} {(", + "▁lan ç", + "▁X code", + "го род", + "гор од", + "ci r", + "c ir", + "▁pel ícula", + "▁O scar", + "▁Os car", + "▁sh ore", + "▁sho re", + "▁supp lied", + "ex amples", + "example s", + "Me ss", + "M ess", + "VI CE", + "V ICE", + "▁ex clude", + "▁h en", + "▁he n", + "▁ hen", + "▁гу бер", + "▁F ragment", + "▁Fra gment", + "▁ Fragment", + "▁B itte", + "▁Bi tte", + "▁Bit te", + "▁Bes ides", + "▁h es", + "▁he s", + "▁ hes", + "▁ih rem", + "▁ihr em", + "▁ihre m", + "▁Ser ge", + "▁art ific", + "=\" ${", + "=\"$ {", + "ло во", + "лов о", + "л ово", + "ut eur", + "ute ur", + "ta ire", + "t aire", + "па с", + "▁eas iest", + "▁fam iglia", + "N ormal", + "▁d alle", + "▁da lle", + "▁dal le", + "▁dall e", + "▁n ations", + "▁nation s", + "▁nat ions", + "r p", + "th ead", + "the ad", + "t head", + "▁обла сті", + "▁Democr atic", + "▁челов е", + "мо ж", + "▁г ер", + "▁ге р", + "▁ гер", + "▁small est", + "▁Publish ing", + "▁T s", + "▁laugh ed", + "ll e", + "l le", + "▁A mt", + "▁Am t", + "▁I IS", + "▁II S", + "FOR M", + "F ORM", + "Ma g", + "M ag", + "до н", + "д он", + "▁st oria", + "▁stor ia", + "▁sto ria", + "▁organ ized", + "▁organiz ed", + "č ní", + "▁o x", + "▁ ox", + "ling en", + "lin gen", + "l ingen", + "▁lu ego", + "cc ió", + "c ció", + "▁re ly", + "▁r ely", + "▁rel y", + "▁t ussen", + "er ten", + "ert en", + "erte n", + "▁hon our", + "▁Cla ude", + "▁Claud e", + "▁Ko rea", + "▁Kore a", + "▁Kor ea", + "▁Met ropol", + "▁Metro pol", + "Su per", + "S uper", + "ri en", + "rie n", + "r ien", + "ér ature", + "att ro", + "attr o", + "▁б іль", + "▁бі ль", + "▁ біль", + "▁Her bert", + "▁aut eurs", + "▁aute urs", + "▁dar auf", + "▁m ental", + "▁men tal", + "▁ment al", + "▁r ang", + "▁ra ng", + "▁ran g", + "▁s ón", + "▁só n", + "▁S oph", + "▁So ph", + ")\" ,", + ") \",", + "Des criptor", + "prep are", + "▁Land kreis", + "H C", + "cr oss", + "cro ss", + "c ross", + "ли за", + "▁Lo gin", + "▁Log in", + "▁ Login", + "on en", + "one n", + "o nen", + "Fe ature", + "▁m useum", + "▁muse um", + "▁ museum", + "ve k", + "v ek", + "▁Nel son", + "▁re jo", + "▁коман ди", + "▁sum mar", + "▁summ ar", + "▁сле ду", + "▁след у", + "äm p", + "ä mp", + "▁G as", + "▁Ga s", + "во м", + "в ом", + "VAL UE", + "in ge", + "ing e", + "per iod", + "lass en", + "las sen", + "lasse n", + "l assen", + "áv al", + "á val", + "▁alt ogether", + "um ph", + "ump h", + "ist ro", + "istr o", + "ą ż", + "▁Ke ep", + "▁Mar co", + "▁Marc o", + "▁ét ant", + "▁D re", + "▁Dr e", + "ge ometry", + "▁K as", + "▁Ka s", + "message s", + "mess ages", + "Co ok", + "C ook", + "▁S ide", + "▁Si de", + "▁Sid e", + "▁ Side", + "▁ко ми", + "▁ком и", + "ст ри", + "стр и", + "с три", + "▁ex cess", + "▁exc ess", + "▁Bi ografia", + "XX XX", + "XXX X", + "X XXX", + "▁N ie", + "▁Ni e", + "ven dor", + "v endor", + "xs d", + "x sd", + "Mil l", + "M ill", + "process ing", + "▁Miss ouri", + "▁perm ett", + "▁permet t", + "▁a par", + "▁ap ar", + "▁cro wd", + "▁crow d", + "fer t", + "fe rt", + "f ert", + "▁D ou", + "▁Do u", + "r í", + "▁C C", + "▁ CC", + "▁pay ment", + "▁ payment", + "▁Hol lywood", + "▁V irtual", + "▁ Virtual", + "▁sp oken", + "▁spoke n", + "▁spo ken", + "▁t ram", + "▁tr am", + "▁tra m", + "▁Comm unity", + "▁Commun ity", + "▁administr ative", + "▁в оло", + "▁во ло", + "gi or", + "gio r", + "g ior", + "vis or", + "▁Укра и", + "st age", + "sta ge", + "stag e", + "▁For mat", + "▁Form at", + "▁ Format", + "▁conven ient", + "Н а", + "▁med ian", + "▁media n", + "▁medi an", + "▁в ра", + "▁ вра", + "▁Пре ма", + "en ig", + "eni g", + "e nig", + "▁Op era", + "▁Oper a", + "ré s", + "r és", + "▁f mt", + "▁ fmt", + "▁effic iency", + "ma le", + "mal e", + "m ale", + "Ma ster", + "M aster", + "Ser ies", + "Se ries", + "S eries", + "▁s yd", + "▁sy d", + "gener ic", + "inter val", + "▁e fect", + "▁inwon ers", + "лим пи", + "ir ement", + "ire ment", + "Er r", + "E rr", + "ö h", + "▁l ying", + "▁ly ing", + "▁ lying", + "▁S ettings", + "▁Setting s", + "▁ Settings", + "! =", + "em atic", + "emat ic", + "arg v", + "▁Bas ic", + "▁ Basic", + "▁consider ation", + "▁h abe", + "▁ha be", + "▁hab e", + "- %", + "▁mount ains", + "▁mountain s", + "▁pe ak", + "▁f allen", + "▁fall en", + "▁fal len", + "ed ed", + "ede d", + "e ded", + "log ic", + "▁mat ched", + "▁match ed", + "▁typ ing", + "▁ty ping", + ")} ,", + ") },", + "▁f ancy", + "▁fan cy", + "▁eleg ant", + "ا ل", + "▁уча ст", + "▁Sa rah", + "▁Sar ah", + "▁V erd", + "▁Ver d", + "▁Ve rd", + "▁t ego", + "▁te go", + "ru les", + "rule s", + "r ules", + "▁mo unted", + "▁mount ed", + "▁і м", + "ер у", + "е ру", + "st off", + "sto ff", + "fa hren", + "fah ren", + "fahr en", + "f ahren", + "dist ance", + "d istance", + "▁Lic ense", + "▁LE FT", + "▁ LEFT", + "▁w p", + "▁ wp", + "/ {", + "▁am azon", + "▁amaz on", + "▁ amazon", + "> &", + "▁els ő", + "qu arters", + "▁sh ock", + "▁sho ck", + "ni ck", + "nic k", + "n ick", + "▁Arch ite", + "▁S quare", + "▁r ates", + "▁ra tes", + "▁rate s", + "▁rat es", + "io re", + "ior e", + "i ore", + "▁N at", + "▁Na t", + "▁Char lot", + "re ichen", + "reich en", + "rei chen", + "reiche n", + "▁var iation", + "▁vari ation", + "os is", + "osi s", + "li fe", + "l ife", + "sl ide", + "s lide", + "ab i", + "a bi", + "uk i", + "u ki", + "my sq", + "mys q", + "▁prim itive", + "▁primit ive", + "▁univers itaire", + "LE NG", + "ale ż", + "eb ook", + "e book", + "s yn", + "▁G egen", + "▁Ge gen", + "▁Geg en", + "▁K ü", + "▁а ле", + "▁ал е", + "▁L ub", + "▁Lu b", + "con current", + "izz ato", + "izza to", + "▁st ub", + "▁i e", + "▁ ie", + "▁' ./", + "▁'. /", + "co d", + "c od", + "▁intern acional", + "▁G las", + "▁Gl as", + "▁Gla s", + "▁m are", + "▁ma re", + "▁mar e", + "▁N eb", + "▁Ne b", + "▁G B", + "▁ GB", + "kw args", + "▁a ument", + "▁au ment", + "WI D", + "W ID", + "▁ро д", + "▁р од", + "▁ род", + "p unkt", + "▁G rad", + "▁Gr ad", + "▁Gra d", + "▁ Grad", + "S N", + "AM P", + "A MP", + "▁B orn", + "▁Bo rn", + "▁Bor n", + "▁Guer re", + "го тов", + "▁med io", + "▁medi o", + "Me d", + "M ed", + "su pp", + "sup p", + "s upp", + "act ual", + "drop down", + "▁ok tober", + "▁ ř", + "▁circ ular", + "▁cir cular", + "▁circul ar", + "▁s kin", + "▁sk in", + "▁ski n", + "▁em phas", + "▁emp has", + "▁го лов", + "▁голо в", + "▁p ue", + "▁pu e", + "▁inform ations", + "▁information s", + "▁Wolf gang", + "▁us eless", + "▁use less", + "и т", + "▁Jo an", + "▁б ор", + "▁бо р", + "▁ бор", + "▁G lad", + "▁Gl ad", + "▁Gla d", + "▁K now", + "▁Kn ow", + "▁Kno w", + "ké nt", + "k ént", + "sp eed", + "spe ed", + "▁Ke vin", + "un ft", + "▁ar qu", + "▁ arqu", + "▁C asa", + "▁Cas a", + "▁Ca sa", + "(. ..", + "( ...", + "▁rapid ly", + "▁pro ble", + "▁prob le", + "▁probl e", + "▁Ви кипеди", + "že n", + "ž en", + "▁N eben", + "▁Ne ben", + "▁Neb en", + "▁M eter", + "▁Me ter", + "▁Met er", + "Child ren", + "ce m", + "c em", + "ig os", + "igo s", + "aj u", + "a ju", + "▁Ret rie", + "▁H ell", + "▁He ll", + "▁Hel l", + "▁g ig", + "▁gi g", + "▁contro vers", + "▁z oom", + "▁zo om", + "▁zoo m", + "▁c ens", + "▁ce ns", + "▁alc uni", + "▁He ader", + "▁Head er", + "▁ Header", + "Me ta", + "Met a", + "M eta", + "Re quired", + "▁ин ститу", + "▁s kup", + "▁sk up", + "▁ing les", + "ég l", + "é gl", + "bi j", + "b ij", + "▁t ér", + "▁té r", + "▁com pag", + "▁comp ag", + "▁comm itted", + "▁commit ted", + "▁process ed", + "▁proc essed", + "▁proces sed", + "Lo wer", + "L ower", + "▁F oreign", + "▁For eign", + "▁Fore ign", + "▁ Foreign", + "▁s eq", + "▁se q", + "▁ seq", + "sheet s", + "she ets", + "▁F em", + "▁Fe m", + "ho z", + "h oz", + "in ks", + "ink s", + "▁k all", + "▁ka ll", + "▁kal l", + "vari ant", + "▁li bro", + "▁lib ro", + "▁cl icks", + "▁click s", + "▁cli cks", + "▁g obierno", + "ie gel", + "ieg el", + "мо го", + "м ого", + "ge me", + "gem e", + "g eme", + "▁t ower", + "▁to wer", + "▁par ish", + "▁T CP", + "▁l s", + "▁ ls", + "▁n ginx", + "▁ng inx", + "▁ nginx", + "Na N", + "▁D ir", + "▁Di r", + "▁ Dir", + "▁Begr iffe", + "▁Begriff e", + "ar ie", + "ari e", + "a rie", + "ím p", + "í mp", + "ic ios", + "ici os", + "icio s", + "i cios", + "▁sh aring", + "▁cin éma", + "be c", + "b ec", + "RE D", + "R ED", + "▁K ra", + "▁Kr a", + "ab ol", + "a bol", + "▁fl ux", + "▁flu x", + "▁exp ensive", + "▁су ще", + "▁` _", + "oc z", + "o cz", + "ли ст", + "▁acqu aint", + "▁w ise", + "▁wis e", + "▁ wise", + "▁pou voir", + "▁pouv oir", + "▁dev ant", + "▁moment um", + "im mer", + "imm er", + "▁C oupe", + "▁Cou pe", + "index Of", + "▁does nt", + "▁doesn t", + "▁за в", + "▁lic ense", + "▁ â", + "CS S", + "C SS", + "▁r ice", + "▁ric e", + "▁ri ce", + "▁ rice", + "Te am", + "▁a no", + "▁an o", + "▁ ano", + "li t", + "l it", + "▁mer ged", + "▁merge d", + "▁C ell", + "▁Ce ll", + "▁Cel l", + "▁ Cell", + "л л", + "bo y", + "b oy", + "as ts", + "ast s", + "▁s ell", + "▁se ll", + "▁sel l", + "▁gro ße", + "▁groß e", + "▁virt uel", + "▁virtue l", + "Can cel", + "▁s j", + "g ment", + ". <", + "ча й", + "i ë", + "ak h", + "a kh", + "iz ers", + "ize rs", + "izer s", + "pr it", + "p rit", + "▁T ib", + "▁Ti b", + "▁elabor ate", + "▁f é", + "▁м еди", + "▁ме ди", + "LENG TH", + "▁prim arily", + "▁sc ores", + "▁score s", + "▁carry ing", + "▁l ake", + "▁la ke", + "▁lak e", + "com pose", + "comp ose", + "compos e", + "▁Town ship", + "un ge", + "ung e", + "▁al berga", + "an ych", + "any ch", + "a nych", + "qu elle", + "que lle", + "quel le", + "q uelle", + "▁Ar k", + "▁p ris", + "▁pr is", + "▁pri s", + "▁v oll", + "▁vo ll", + "▁vol l", + "ш ли", + "Valid ation", + "▁ce ux", + "▁pop ulate", + "▁popula te", + "▁popul ate", + "\" \r", + "▁fem mes", + "▁femme s", + "AN G", + "A NG", + "▁Desp ite", + "вы е", + "в ые", + "is ke", + "isk e", + "i ske", + "zu g", + "z ug", + "на ча", + "▁h atten", + "▁hat ten", + "▁hatte n", + "IN SERT", + "Emp loyee", + "▁mo ments", + "▁moment s", + "▁mom ents", + "▁últ ima", + "▁h older", + "▁hold er", + "▁ho lder", + "▁hol der", + "▁ holder", + "bl ank", + "Col lections", + "Collection s", + "Collect ions", + "ath ers", + "ather s", + "a thers", + "▁g rade", + "▁gr ade", + "▁gra de", + "▁grad e", + "▁ grade", + "▁aff airs", + "▁affair s", + ".$ $", + ". $$", + "▁d elta", + "▁del ta", + "▁ delta", + "▁Jug end", + "▁españ ol", + "▁O UT", + "▁ OUT", + "▁mathemat ical", + "▁m ongo", + "▁mon go", + "▁Ф е", + "ul ing", + "uli ng", + "u ling", + "▁re volution", + "▁revol ution", + "▁c oin", + "▁co in", + "▁sub class", + "\" =>", + "äch e", + "ä che", + "▁p yg", + "▁py g", + "ща я", + "ill ery", + "ille ry", + "iller y", + "▁com enz", + "dep th", + "▁c él", + "▁re size", + "▁res ize", + "▁ resize", + "▁S ame", + "▁Sam e", + "▁Sa me", + "▁st rik", + "▁str ik", + "▁stri k", + "▁t ir", + "▁ti r", + "▁sc arc", + "▁scar c", + "▁M ember", + "▁Mem ber", + "▁ Member", + "sub scribe", + "ó ż", + "út bol", + "ex cept", + "▁dr iving", + "▁dri ving", + "▁driv ing", + "ki e", + "k ie", + "zo ny", + "zon y", + "z ony", + "ème s", + "è mes", + "Da vid", + "D avid", + "iss ant", + "issa nt", + "▁т ы", + "▁ ты", + "▁é lect", + "▁él ect", + "▁re name", + "▁r ename", + "▁ren ame", + "▁R unning", + "▁Run ning", + "▁ Running", + "▁inter faces", + "▁interface s", + "//////// ////////", + "▁Wal ker", + "▁Walk er", + "▁soci été", + "▁as ks", + "▁ask s", + "br id", + "b rid", + "▁je we", + "▁se ines", + "▁sein es", + "▁seine s", + "▁sei nes", + "▁ag ents", + "▁agent s", + "▁M Y", + "▁ MY", + "▁Law rence", + "de ss", + "des s", + "d ess", + "ie sen", + "ies en", + "iese n", + "i esen", + "▁людя х", + "прав и", + "пра ви", + "▁anc est", + "▁wel che", + "ra um", + "r aum", + "▁o rb", + "▁or b", + "▁ orb", + "sc al", + "s cal", + "▁L ear", + "▁Le ar", + "▁w ear", + "▁we ar", + "▁s lave", + "▁sl ave", + "▁sla ve", + "▁re named", + "▁ren amed", + "▁rename d", + "če n", + "č en", + "ma ste", + "mas te", + "m aste", + "ang les", + "angle s", + "▁Am érica", + "▁t i", + "▁ ti", + "▁dem sel", + "▁bene ath", + "bin ary", + "b inary", + "▁ed ición", + "▁kil omet", + "▁kilom et", + "ui ts", + "uit s", + "u its", + "▁cu atro", + "▁ent rance", + "▁entr ance", + "ond issement", + "▁b ag", + "▁ba g", + "▁ bag", + "▁Ar men", + "▁Arm en", + "ij o", + "i jo", + "▁L ors", + "▁Lo rs", + "▁Lor s", + "▁demsel ben", + "ê m", + "▁dis crete", + "▁prom inent", + "▁J ay", + "▁Ja y", + "de cor", + "dec or", + "D L", + "▁d í", + "St ruct", + "Str uct", + "▁P roduction", + "▁Produ ction", + "▁Product ion", + "th ey", + "the y", + "ar ius", + "ari us", + "sch nitt", + "▁C ou", + "▁Co u", + "▁l ex", + "▁le x", + "▁ lex", + "y outube", + "▁рабо та", + "st ation", + "sta tion", + "stat ion", + "se p", + "s ep", + "▁mi rror", + "▁mir ror", + "▁h its", + "▁hit s", + "▁hi ts", + "▁Be ck", + "at ically", + "atic ally", + "▁L az", + "▁La z", + "▁w inner", + "▁win ner", + "DE X", + "D EX", + "▁I NT", + "▁IN T", + "▁ INT", + "}^ {-", + "}^{ -", + "} ^{-", + "▁w egen", + "▁we gen", + "▁weg en", + "ma d", + "m ad", + "An gle", + "Ang le", + "zi ng", + "zin g", + "z ing", + "▁Bay ern", + "▁Bayer n", + "sa l", + "s al", + "äg er", + "ä ger", + "▁bus y", + "▁st ör", + "▁f olk", + "▁fol k", + "▁ folk", + "▁p rix", + "▁pr ix", + "▁pri x", + "▁al located", + "▁alloc ated", + "▁allocate d", + "▁p t", + "▁ pt", + "af fen", + "aff en", + "a ffen", + "cl uster", + "clus ter", + "▁com plement", + "▁comp lement", + "▁comple ment", + "▁compl ement", + "ár s", + "á rs", + "▁Amer ika", + "рі й", + "р ій", + "▁val ley", + "▁vall ey", + "▁valle y", + "▁ro oms", + "▁room s", + "▁ rooms", + "▁m oi", + "▁mo i", + ".\" ,", + ". \",", + ";; ;;", + "▁lo west", + "▁low est", + "no g", + "n og", + "▁land et", + "▁lan det", + "▁program me", + "ch io", + "chi o", + "▁W ährend", + "ánd ez", + "▁дол ж", + "▁o uv", + "▁ou v", + "▁ ouv", + "om ány", + "▁Википеди и", + "▁s ó", + "▁ele ktr", + "De sc", + "Des c", + "D esc", + "▁Be aut", + "▁Beau t", + "на р", + "н ар", + "▁мо же", + "▁мож е", + "P ierre", + "es ota", + "eso ta", + "▁oper ated", + "▁opera ted", + "▁operate d", + "▁f orte", + "▁for te", + "▁fort e", + "ри с", + "р ис", + "▁op position", + "▁opp osition", + "▁oppos ition", + "al ia", + "ali a", + "a lia", + "▁S yl", + "▁Sy l", + "get Name", + "ве ли", + "fi k", + "f ik", + "▁com prom", + "▁comp rom", + "▁compr om", + "▁Text View", + "▁ TextView", + "Sp ring", + "S pring", + "met adata", + "meta data", + "en gu", + "eng u", + "/ ,", + "▁car ri", + "is tol", + "ist ol", + "isto l", + "▁diag onal", + "li sta", + "list a", + "lis ta", + "l ista", + "iz en", + "ize n", + "i zen", + "▁re nde", + "▁r ende", + "▁ren de", + "▁rend e", + "gc c", + "g cc", + "be ck", + "bec k", + "li us", + "l ius", + "ir al", + "ira l", + "i ral", + "Resol ver", + "▁percent age", + "▁at tra", + "▁att ra", + "▁attr a", + "str ings", + "string s", + "wi ąz", + "od s", + "o ds", + "во лю", + "ę ż", + "▁news paper", + "▁newsp aper", + "im iter", + "imi ter", + "imit er", + "AB C", + "A BC", + "▁Man chester", + "[ {", + "Ag ent", + "Age nt", + "A gent", + "▁W or", + "▁Wo r", + "▁K ath", + "▁Kat h", + "▁Ka th", + "▁по ві", + "▁пов і", + "▁ent onces", + "▁n iveau", + "at ted", + "att ed", + "atte d", + "le arn", + "lear n", + "lea rn", + "at iques", + "ati ques", + "atique s", + "▁у би", + "▁qu indi", + "bin ding", + "bind ing", + "b inding", + "▁import ed", + "▁imp orted", + "▁H orn", + "▁Hor n", + "▁Ho rn", + "em berg", + "ember g", + "emb erg", + "com plex", + "comp lex", + "comple x", + "▁ne ural", + "▁neu ral", + "▁neur al", + "in formation", + "▁recogn ition", + "in gt", + "ing t", + "▁inhab itants", + "vu e", + "v ue", + "▁Be völker", + "▁cur ves", + "▁curve s", + "▁curv es", + "▁l eb", + "▁le b", + "▁ leb", + "ді й", + "д ій", + "▁s ow", + "▁so w", + "▁sent iment", + "P H", + "ra che", + "rac he", + "rach e", + "r ache", + "▁- (", + "▁ -(", + "▁e stable", + "▁est able", + "▁es table", + "▁estab le", + "▁esta ble", + "▁Ferd inand", + "▁é crit", + "▁éc rit", + "▁prime iro", + "▁t ex", + "▁te x", + "▁ tex", + "▁inter mediate", + "ve rage", + "ver age", + "vera ge", + "ib us", + "i bus", + "▁s erves", + "▁ser ves", + "▁serv es", + "▁serve s", + "iv as", + "iva s", + "i vas", + "▁b ru", + "▁br u", + "▁ bru", + "▁l um", + "▁lu m", + "att ice", + "atti ce", + "ч ный", + "▁D res", + "▁Dr es", + "▁Dre s", + "▁v ideos", + "▁video s", + "▁vide os", + "d uration", + "▁a bit", + "▁ab it", + "▁e gg", + "▁eg g", + "ograph ical", + "ographic al", + "al ph", + "ST ATE", + "STAT E", + "▁па ра", + "▁пар а", + "▁ пара", + "re ading", + "read ing", + "rea ding", + "▁veh icle", + "▁fort une", + "ult ats", + "▁St oria", + "▁Sto ria", + "mi dt", + "mid t", + "łą cz", + "▁Mem orial", + "▁v as", + "▁va s", + "▁ vas", + "▁з ан", + "▁за н", + "▁ зан", + "▁ut ility", + "▁util ity", + "▁ob sc", + "▁obs c", + "▁rel acion", + "▁rela cion", + "▁relac ion", + "▁run at", + "▁ru nat", + "Re lease", + "ta ke", + "t ake", + "▁O liver", + "▁Ol iver", + "▁Oliv er", + "▁S id", + "▁Si d", + "ul os", + "ulo s", + "u los", + "▁G arc", + "▁Gar c", + "▁Ga rc", + "▁роз та", + "▁S ak", + "▁Sa k", + "P y", + "führ t", + "f ührt", + "▁tra bal", + "▁trab al", + "* {", + "▁z es", + "▁ze s", + "▁ zes", + "▁sz ere", + "▁szer e", + "▁sze re", + "▁v arios", + "▁var ios", + "▁vari os", + "▁va rios", + "▁o tra", + "▁ot ra", + "▁e val", + "▁ev al", + "▁ eval", + "▁situ é", + "▁sit ué", + "▁w ounded", + "▁Vin cent", + "▁вико ри", + "▁en code", + "▁enc ode", + "▁ encode", + "Mod al", + "Mo dal", + "▁f orb", + "▁for b", + "▁fo rb", + "▁dynam ics", + "▁dynamic s", + "▁de pos", + "▁dep os", + "ar de", + "ard e", + "▁street s", + "▁stre ets", + "▁K omm", + "▁Kom m", + "▁Ko mm", + "=$ (", + "= $(", + "▁по вер", + "▁пов ер", + "▁пове р", + "▁d ois", + "▁do is", + "▁doi s", + "▁v itt", + "▁vi tt", + "▁vit t", + "▁automat isch", + "▁re load", + "▁ reload", + "▁Ver walt", + "ber o", + "be ro", + "b ero", + "▁h ub", + "▁hu b", + "▁m os", + "▁mo s", + "▁ mos", + "▁t utto", + "▁tu tto", + "▁tut to", + "▁Freder ick", + "ło w", + "ł ow", + "ant ages", + "anta ges", + "antage s", + "aqu e", + "a que", + "pa per", + "p aper", + "▁ein ige", + "`) ,", + "` ),", + "d j", + "▁P le", + "▁Pl e", + "▁% ,", + "▁ %,", + "▁B itmap", + "▁Bit map", + "▁ Bitmap", + "▁friend ly", + "▁tr uly", + "▁st roke", + "▁str oke", + "▁stro ke", + "▁ stroke", + "ro ph", + "rop h", + "r oph", + "▁en gl", + "▁eng l", + "▁ engl", + "▁c off", + "▁co ff", + "▁d ust", + "▁du st", + "▁dus t", + "▁Jah res", + "▁Jahr es", + "▁Jahre s", + "pp i", + "p pi", + "▁w ys", + "▁wy s", + "fa ctor", + "fact or", + "fac tor", + "f actor", + "sch luss", + "▁дере вня", + "▁дерев ня", + "▁P ast", + "▁Pa st", + "▁Pas t", + "▁до ма", + "CO M", + "C OM", + "▁pu eden", + "▁puede n", + "▁pue den", + "▁g ift", + "▁gi ft", + "▁G la", + "▁Gl a", + "▁trigger ed", + "él y", + "é ly", + "ül és", + "ü lés", + "▁O liv", + "▁Ol iv", + "▁ver so", + "▁vers o", + "▁ verso", + "▁l le", + "▁ll e", + "▁ lle", + "▁G li", + "▁Gl i", + "▁L td", + "o a", + "▁territ orio", + "ord re", + "▁de ck", + "▁dec k", + "▁ deck", + "dr a", + "d ra", + "as zt", + "asz t", + "▁concern ing", + "▁Add itionally", + "▁kter é", + "▁g rund", + "▁gr und", + "▁gru nd", + "▁ grund", + "▁G est", + "▁Ge st", + "▁Ges t", + "▁ Gest", + "▁mis under", + "pr et", + "pre t", + "p ret", + "── ──", + "▁re putation", + "zi a", + "z ia", + "▁у спе", + "▁ус пе", + "▁esc aped", + "▁escape d", + "▁P rag", + "▁Pr ag", + "▁Pra g", + "per form", + "▁a ustral", + "▁aust ral", + "▁V ater", + "▁Va ter", + "ча с", + "▁r aces", + "▁ra ces", + "▁race s", + "▁rac es", + "▁By te", + "▁ Byte", + "Ma sk", + "M ask", + "▁Ter rit", + "▁Terr it", + "ст ю", + "▁V oci", + "▁Vo ci", + "▁Fich ier", + "▁Насе лення", + "▁Unter scheidung", + "te enth", + "teen th", + "▁pi lot", + "▁pil ot", + "▁j i", + "▁ ji", + "▁дву х", + "▁orient ation", + "▁ orientation", + "ind re", + "▁D ort", + "▁Do rt", + "▁Dor t", + "ça s", + "ç as", + "п ли", + "▁re action", + "▁react ion", + "▁cons isting", + "▁consist ing", + "▁fer ro", + "ти сти", + "ya rd", + "yar d", + "y ard", + "▁с ві", + "▁interpret ation", + "i ą", + "ra h", + "r ah", + "▁f and", + "▁fa nd", + "▁fan d", + "Pub lic", + "P ublic", + "▁un iverse", + "▁univers e", + "▁ret ir", + "▁cons cious", + "ar qu", + "▁w aste", + "▁was te", + "▁wa ste", + "▁B ib", + "▁Bi b", + "ycler View", + "▁list ening", + "▁listen ing", + "▁liste ning", + "gle ich", + "g leich", + "nie js", + "niej s", + "▁cor relation", + "▁correl ation", + "▁corre lation", + "▁rece iver", + "▁receive r", + "▁у да", + "▁cour age", + "▁cou rage", + "uch s", + "uc hs", + "u chs", + "fa ss", + "fas s", + "f ass", + "▁ch unk", + "▁ chunk", + "▁An fang", + "▁gro ßen", + "▁große n", + "▁groß en", + "cont inue", + "continu e", + "▁Warsza wa", + "h é", + "i y", + "iv ement", + "ive ment", + "i vement", + "▁ α", + "▁ex posed", + "▁exp osed", + "▁expos ed", + "▁expose d", + "▁z ahl", + "▁za hl", + "▁ zahl", + "▁sa cr", + "▁sac r", + "▁Lo oks", + "▁Look s", + "▁e ager", + "en ten", + "ent en", + "ente n", + "e nten", + "C ursor", + "/ _", + "ix a", + "i xa", + "ре ла", + "зна ча", + "з нача", + "▁фамили ей", + "▁ar gent", + "▁arg ent", + "▁ argent", + "▁An ders", + "▁And ers", + "œuv re", + "▁I sa", + "▁Is a", + "мен та", + "мент а", + "▁ad vers", + "▁adv ers", + "ri ction", + "ric tion", + "rict ion", + "r iction", + "G P", + "▁п ісля", + "▁pre serve", + "▁pres erve", + "▁G arden", + "▁Gar den", + "▁Gard en", + "R ate", + "ap rès", + "a près", + "▁read able", + "in du", + "ind u", + "▁s kill", + "▁sk ill", + "▁ski ll", + "▁hel ping", + "▁help ing", + "ograph ique", + "cl ing", + "cli ng", + "c ling", + "olog ist", + "▁Fil ter", + "▁ Filter", + "▁f inger", + "▁fin ger", + "▁V all", + "▁Val l", + "▁Va ll", + "▁Pol ish", + "▁Po lish", + "l g", + "▁Famil ien", + "▁Familie n", + "▁w aters", + "▁water s", + "▁wa ters", + "▁wat ers", + "▁pse ud", + "az a", + "a za", + "_ )", + "AR Y", + "A RY", + "▁с реди", + "▁сред и", + "▁сре ди", + "▁M ust", + "▁Mus t", + "▁Mu st", + "▁B od", + "▁Bo d", + "an on", + "ano n", + "a non", + "▁l ado", + "▁la do", + "▁lad o", + "▁t ight", + "im en", + "ime n", + "i men", + "ap pen", + "app en", + "appe n", + "a ppen", + "fr ames", + "frame s", + "fra mes", + "fram es", + "in gers", + "ing ers", + "inger s", + "inge rs", + "▁CO VID", + "▁з і", + "▁ зі", + "▁с ве", + "▁ц ь", + "▁ ць", + "▁L eft", + "▁Le ft", + "▁ Left", + "]] ;", + "] ];", + "ч ь", + "фи ка", + "▁с ло", + "▁ сло", + "▁п і", + "▁ пі", + "▁ex iste", + "▁exist e", + "▁Atl antic", + "▁maintain ed", + "▁ir re", + "▁an née", + "▁ann ée", + "▁ année", + "▁comm ented", + "▁comment ed", + "ве ро", + "вер о", + "ber ta", + "bert a", + "b erta", + "▁L ad", + "▁La d", + "▁U pon", + "▁Up on", + "▁p ause", + "▁pa use", + "▁pau se", + "mi ll", + "mil l", + "m ill", + "op ter", + "opt er", + "U K", + "ре с", + "р ес", + "нцикло педи", + "▁along side", + "▁ro bot", + "▁rob ot", + "▁f ert", + "▁fe rt", + "▁fer t", + "▁ fert", + "▁m oy", + "▁mo y", + "▁a de", + "▁ad e", + "▁ ade", + "Map per", + "Mapp er", + "Ma pper", + "M apper", + ")- >", + ") ->", + "ig ua", + "igu a", + "ét ique", + "т ка", + "al ias", + "ali as", + "alia s", + "a lias", + "▁о ри", + "▁ор и", + "▁M agn", + "▁Ma gn", + "▁Mag n", + "▁gehör te", + "▁gehört e", + "im b", + "i mb", + ")} {\\", + ")}{ \\", + ") }{\\", + "▁Wikip édia", + "▁u rs", + "▁ur s", + "▁ urs", + "▁e nde", + "▁en de", + "▁end e", + "▁ ende", + "le b", + "l eb", + "▁G C", + "▁ GC", + "H ol", + "an cing", + "anc ing", + "anci ng", + "Un ion", + "Uni on", + "▁ten ía", + "T T", + "▁e state", + "▁est ate", + "▁esta te", + "▁estat e", + "h á", + "▁по лі", + "▁пол і", + "ul tan", + "ult an", + "▁H ockey", + "ul se", + "uls e", + "▁cho ices", + "▁choice s", + "sch er", + "sc her", + "sche r", + "s cher", + "▁[ ],", + "▁[] ,", + "▁pot entially", + "▁potential ly", + "▁Ü bers", + "▁Über s", + "▁ad mit", + "▁adm it", + "Com ment", + "Comm ent", + "ст я", + "с тя", + "▁V ien", + "▁Vi en", + "▁Vie n", + "▁ц і", + "▁ ці", + "▁per mut", + "▁perm ut", + "c gi", + "▁cr ít", + "Con sole", + "Cons ole", + "ct ic", + "▁ok res", + "aw k", + "foot ball", + "ou est", + "o uest", + "CT YPE", + "C TYPE", + "olog ique", + "▁const it", + "▁cons tit", + "▁inter ests", + "▁interest s", + "▁Pro gress", + "▁ Progress", + "▁M enu", + "▁Me nu", + "▁Men u", + "▁ Menu", + "▁tak é", + "▁ta ké", + "▁As ian", + "▁Asia n", + "▁за щи", + "▁young er", + "▁w ished", + "▁wish ed", + "▁wis hed", + "▁S ort", + "▁So rt", + "▁Sor t", + "▁ Sort", + "▁aud ience", + "▁audi ence", + "am ba", + "amb a", + "▁gehör t", + "▁K ansas", + "ya ume", + "▁Prof essional", + "â ce", + "▁f atto", + "▁fa tto", + "▁fat to", + "to d", + "t od", + "▁data sets", + "▁datas ets", + "▁dataset s", + "▁f are", + "▁far e", + "▁fa re", + "▁ fare", + "▁w aves", + "▁wave s", + "▁wa ves", + "~ /", + "▁measure ment", + "▁w ol", + "▁wo l", + "▁ wol", + "ind ust", + "indu st", + "▁strugg ling", + "▁pull ed", + "▁pul led", + "▁car atter", + "▁Ex terne", + "▁Ext erne", + "▁Extern e", + "▁дей стви", + "cn t", + "c nt", + "li ches", + "lic hes", + "lich es", + "liche s", + "▁Pos sible", + "▁Poss ible", + "▁fa ced", + "▁face d", + "▁fac ed", + "▁hypoth esis", + "▁kil om", + "▁n är", + "▁nä r", + "bo olean", + "P Y", + "am pa", + "amp a", + "▁k iss", + "▁ki ss", + "▁kis s", + "▁as tero", + "▁ast ero", + "▁neg li", + "am ents", + "ament s", + "amen ts", + "a ments", + "▁S tu", + "▁St u", + "at ó", + "a tó", + "▁Const itution", + "▁inter pol", + "▁Un able", + "▁Una ble", + "▁p is", + "▁pi s", + "▁ pis", + "▁p arc", + "▁par c", + "▁pa rc", + "\"] )", + "\" ])", + "ple r", + "pl er", + "p ler", + "▁aut ory", + "▁auto ry", + "▁autor y", + "▁alg unos", + "yw na", + "}) )", + "} ))", + "▁f alls", + "▁fall s", + "▁fal ls", + "▁ falls", + "▁é quip", + "▁e mit", + "▁em it", + "▁ emit", + "▁pro fil", + "▁prof il", + "ge ts", + "get s", + "g ets", + "ф о", + "▁Milit ary", + "▁nombre ux", + "oc t", + "o ct", + "Re place", + "Rep lace", + "▁se asons", + "▁season s", + "▁ch âteau", + "▁type of", + "▁ typeof", + "po lit", + "pol it", + "p olit", + "▁r and", + "▁ra nd", + "▁ran d", + "▁ rand", + "▁qu ar", + "▁erst mals", + "си ни", + "▁pay load", + "▁ payload", + "П о", + "кі н", + "к ін", + "re po", + "rep o", + "▁P av", + "▁Pa v", + "Sc ore", + "S core", + "er ves", + "erv es", + "erve s", + "▁soll te", + "▁мі ж", + "éb ec", + "é bec", + "▁c lip", + "▁cl ip", + "▁cli p", + "▁ clip", + "▁N ice", + "▁Nic e", + "▁Ni ce", + "▁n eben", + "▁ne ben", + "▁ass ass", + "it ories", + "ito ries", + "itor ies", + "itori es", + "▁un ity", + "▁unit y", + "▁ unity", + "▁е н", + "▁ ен", + "▁Inst itut", + "▁Instit ut", + "▁ Institut", + "▁intern ationale", + "▁international e", + "▁на ук", + "▁нау к", + "▁com and", + "▁kle ine", + "▁klein e", + "▁adj acent", + "▁deliver ed", + "▁ш е", + "▁ ше", + "зе м", + "з ем", + "▁c ot", + "▁co t", + "▁ cot", + "vis ual", + "ва ет", + "▁C ensus", + "\\ _", + "▁territ ory", + "чи л", + "ч ил", + "ч ные", + "fl utter", + "Did Load", + "Document s", + "Doc uments", + "▁d ob", + "▁do b", + "▁ dob", + "Br e", + "B re", + "an imate", + "ani mate", + "anim ate", + "▁b iz", + "▁bi z", + "▁b ata", + "▁ba ta", + "▁bat a", + "▁S U", + "▁ SU", + "es o", + "e so", + "▁p riority", + "▁prior ity", + "vá n", + "v án", + "ir as", + "ira s", + "i ras", + "▁char ged", + "▁charge d", + "▁charg ed", + "▁M icro", + "▁Mi cro", + "▁Mic ro", + "at oire", + "ato ire", + "a toire", + "че р", + "ч ер", + "ab ad", + "aba d", + "a bad", + "ur u", + "u ru", + "▁v š", + "dir e", + "di re", + "d ire", + "▁Tw itter", + "▁м ето", + "▁ме то", + "▁мет о", + "). .", + ") ..", + "▁Ц ент", + "▁ent wick", + "▁M ind", + "▁Min d", + "▁Mi nd", + "▁ф унк", + "F uture", + "ls t", + "l st", + "ło ż", + "fl i", + "f li", + "t ensor", + "▁top ology", + "▁ar te", + "▁art e", + "▁ arte", + "ER T", + "E RT", + "▁var iance", + "▁vari ance", + "Im ages", + "Image s", + "▁( @", + "▁ (@", + "Array List", + "O C", + "▁Де мо", + "auc oup", + "▁de notes", + "▁den otes", + "▁denote s", + "im on", + "imo n", + "i mon", + "њ и", + "▁Prz yp", + "▁Z ag", + "▁Za g", + "▁ди ре", + "▁Similar ly", + "б ро", + "▁mil itaire", + "▁milit aire", + "▁т ому", + "▁то му", + "▁том у", + "▁ тому", + "▁John ny", + "▁Мекси ку", + "ћ а", + "Su pp", + "S upp", + "▁jun ior", + "▁junio r", + "▁juni or", + "ol tre", + "olt re", + "o ltre", + "▁Мо ск", + "▁Мос к", + "▁adm itted", + "▁admit ted", + "▁relig ios", + "зя й", + "е го", + "▁t ears", + "▁te ars", + "▁tea rs", + "in go", + "ing o", + "od u", + "o du", + "iv eness", + "ive ness", + "iven ess", + "▁l ogo", + "▁lo go", + "▁log o", + "▁ logo", + "▁últ imo", + "▁al iment", + "▁ali ment", + "▁U ITableView", + "▁ UITableView", + ") !", + "▁n j", + "le tte", + "let te", + "lett e", + "l ette", + "▁res ident", + "▁resid ent", + "▁term ine", + "▁ter mine", + "▁termin e", + "▁у же", + "▁С те", + "▁Ст е", + "off ice", + "▁c arte", + "▁car te", + "▁cart e", + "▁li vre", + "▁liv re", + "▁Мо сков", + "▁Мос ков", + "▁Моск ов", + "▁e lections", + "▁elect ions", + "▁ele ctions", + "▁election s", + "зи ден", + "Tr igger", + "▁Ben jamin", + "add Class", + "ско г", + "▁Ob servable", + "▁Observ able", + "▁ Observable", + "Cl a", + "C la", + "gem ein", + "geme in", + "g emein", + "▁con sent", + "▁cons ent", + "▁conse nt", + "в ри", + "▁un fold", + "▁unf old", + "▁govern or", + "▁gover nor", + "▁governo r", + "на л", + "н ал", + "▁t oda", + "▁to da", + "▁tod a", + "Rem ote", + "ar ias", + "ari as", + "aria s", + "a rias", + "▁in stal", + "▁inst al", + "▁ins tal", + "fix ed", + "f ixed", + "▁dec ay", + "▁де рев", + "▁дере в", + "xy z", + "x yz", + "▁D ATE", + "▁DA TE", + "▁DAT E", + "▁ DATE", + "im ar", + "ima r", + "i mar", + "nt il", + "n til", + "▁start up", + "al ion", + "ali on", + "▁ko lej", + "▁kol ej", + "▁kole j", + "ci os", + "cio s", + "c ios", + "▁r anges", + "▁range s", + "▁ran ges", + "▁rang es", + "▁stup id", + "▁implement ations", + "▁implementation s", + "▁r m", + "▁ rm", + "én ek", + "é nek", + "▁g cc", + "▁ gcc", + "▁sc ène", + "N avigation", + "▁  ", + "▁к ан", + "▁ка н", + "▁ кан", + "▁town s", + "User name", + "Us ername", + "▁ф е", + "▁ фе", + "▁le aders", + "▁lead ers", + "▁leader s", + "oi t", + "o it", + "w är", + "▁d ummy", + "▁ass istant", + "▁assist ant", + "{$ \\", + "{ $\\", + "бі р", + "б ір", + "▁r oy", + "▁ro y", + "▁ roy", + "▁L ayout", + "▁ Layout", + "▁J ung", + "▁Ju ng", + "▁Jun g", + "Line s", + "Lin es", + "Li nes", + "L ines", + "▁Hol land", + "по р", + "п ор", + "▁Г ри", + "▁B ened", + "▁Be ned", + "▁Ben ed", + "▁П од", + "▁По д", + "xl s", + "x ls", + "▁G ol", + "▁Go l", + "▁Al eks", + "▁Ale ks", + "▁ej emplo", + "▁se zon", + "ar ding", + "ard ing", + "ardi ng", + "ardin g", + "foot note", + "▁Cong rès", + "re fer", + "ref er", + "ска та", + "с ката", + "Iter ator", + "▁our selves", + "▁M ic", + "▁Mi c", + "▁c ódigo", + "▁пло ща", + "▁\\ $", + "▁Char lie", + "No des", + "Node s", + "N odes", + "▁p uzz", + "▁pu zz", + "▁Ident ifier", + "▁ Identifier", + "▁fl utter", + "▁ flutter", + "▁pr ü", + "▁ prü", + "▁o rt", + "▁or t", + "▁ ort", + "▁C ort", + "▁Cor t", + "▁Co rt", + "astic search", + "▁С вя", + "▁B ull", + "▁Bu ll", + "▁Bul l", + "ud em", + "ude m", + "u dem", + "▁ap parent", + "▁appar ent", + ":- -", + ": --", + "▁Х ар", + "▁Ха р", + "▁L ap", + "▁La p", + "▁com port", + "▁comp ort", + "mat ically", + "m atically", + "▁cu rios", + "▁cur ios", + "▁мо жет", + "▁мож ет", + "▁може т", + "▁B h", + "ap ping", + "app ing", + "a pping", + "▁b asketball", + "▁basket ball", + "ze tek", + "zet ek", + "▁r unt", + "▁run t", + "▁ru nt", + "▁Mil an", + "▁Mi lan", + "fe ction", + "fect ion", + "f ection", + "rí a", + "r ía", + "▁K in", + "▁Ki n", + "▁s lower", + "▁sl ower", + "▁slow er", + "▁slo wer", + "bo th", + "bot h", + "b oth", + "▁Inst ituto", + "▁Instit uto", + "▁Institut o", + "▁Histor ical", + "▁Historic al", + "▁równ ież", + "mat ches", + "match es", + "yc i", + "y ci", + "▁esp èce", + "▁Schwe izer", + "▁Schweiz er", + "N T", + "S F", + "ac ia", + "aci a", + "a cia", + "for ge", + "f orge", + "Point s", + "Po ints", + "num bers", + "number s", + "▁f alling", + "▁fall ing", + "▁fal ling", + "▁inherit ance", + "▁Er st", + "▁custom ers", + "▁customer s", + "▁a ctu", + "▁act u", + "▁ac tu", + "▁m igration", + "▁migr ation", + "\\ '", + "Pl an", + "P lan", + "M r", + "ot hy", + "oth y", + "o thy", + "▁up grad", + "би ра", + "▁O ffic", + "▁Of fic", + "▁Off ic", + "▁W ait", + "▁Wa it", + "▁ Wait", + "▁to ler", + "ar don", + "ard on", + "ardo n", + "▁s lide", + "▁sl ide", + "▁sli de", + "▁ slide", + ") _", + "▁ста в", + "▁ став", + "▁nu clear", + "▁nuc lear", + "▁nucle ar", + "▁B il", + "▁Bi l", + "ow ner", + "own er", + "o wner", + "▁Har ris", + "▁Harr is", + "In formation", + "▁p ó", + "▁вклю ча", + "▁nu ovo", + "▁C av", + "▁Ca v", + "▁De scri", + "▁Des cri", + "▁а к", + "ód zt", + "▁react js", + "▁Ad ams", + "▁Adam s", + "▁Ada ms", + "▁Altern atively", + "ст рук", + "стру к", + "стр ук", + ")` ,", + ") `,", + "sub string", + "subst ring", + "substr ing", + "▁mass ive", + "▁heav ily", + "▁се зо", + "▁сез о", + "▁A na", + "▁An a", + "▁v ale", + "▁val e", + "▁va le", + "Pa d", + "P ad", + "▁E ither", + "▁r s", + "▁ rs", + "an che", + "anc he", + "anch e", + "▁up loaded", + "▁upload ed", + "▁( /", + "▁ (/", + "▁с пор", + "▁спо р", + "▁сп ор", + "▁redu ction", + "▁Tok yo", + "gr en", + "gre n", + "g ren", + "▁m igli", + "▁mig li", + "▁iter ator", + "▁ iterator", + "st av", + "sta v", + "▁support ing", + "▁ö sterreich", + "▁NS Log", + "ist iques", + "isti ques", + "istique s", + "ri min", + "rim in", + "r imin", + "MO DE", + "}} }\\", + "}}} \\", + "} }}\\", + "▁exp los", + "▁expl os", + "▁explo s", + "от е", + "о те", + "▁( „", + "Sa l", + "S al", + "▁simple st", + "▁simpl est", + "▁gi à", + "▁та н", + "▁т ан", + "▁ тан", + "▁c yl", + "▁cy l", + "bi r", + "b ir", + "▁measure ments", + "▁measurement s", + "Create d", + "Cre ated", + "er ek", + "ere k", + "e rek", + "look up", + "w irtschaft", + "▁В оло", + "▁Во ло", + "▁Вол о", + "ti mer", + "time r", + "tim er", + "t imer", + "de rr", + "der r", + "d err", + "▁ст ала", + "▁ста ла", + "▁стал а", + "▁sc enes", + "▁scen es", + "▁scene s", + "▁per su", + "▁pers u", + "li est", + "lie st", + "lies t", + "l iest", + "▁sch edule", + "▁sched ule", + "ta l", + "t al", + "ле но", + "лен о", + "▁pain ting", + "▁paint ing", + "▁impro vement", + "▁improve ment", + "▁improv ement", + "so ftware", + "soft ware", + "▁govern o", + "▁gover no", + "▁H ir", + "▁Hi r", + "Exec ution", + "▁Ok ay", + "Pro p", + "Pr op", + "P rop", + "lo ster", + "los ter", + "lost er", + "l oster", + "ніципа лі", + "▁peu vent", + "ol u", + "o lu", + "▁Ф а", + "roll o", + "rol lo", + "▁ко ло", + "▁к оло", + "▁ коло", + "▁car rière", + "▁carri ère", + "▁t oggle", + "▁tog gle", + "▁togg le", + "▁ toggle", + "▁( $\\", + "▁($ \\", + "▁aggreg ate", + "▁Б і", + "text area", + "O k", + "it to", + "itt o", + "i tto", + "▁s tim", + "▁st im", + "▁recurs ion", + "▁Feder ation", + ")_ {", + ") _{", + "ate gor", + "ateg or", + "▁dist ribu", + "▁distrib u", + "Cl oud", + "▁m adre", + "▁mad re", + "▁i v", + "▁ iv", + "▁Lie utenant", + "▁subst ant", + "▁le af", + "▁ leaf", + "▁Kont rola", + "V A", + "▁t omb", + "▁to mb", + "▁tom b", + "э н", + "ato es", + "▁god ine", + "▁# >", + "C ert", + "▁em presa", + "▁empres a", + "Pro ps", + "Pr ops", + "Prop s", + "▁pl anned", + "▁plan ned", + "▁random ly", + "j ähr", + "el em", + "ele m", + "e lem", + "▁Oper ation", + "▁Opera tion", + "▁ Operation", + "* `", + "pro tocol", + "proto col", + "() ));", + "()) );", + "())) ;", + "( )));", + "we l", + "w el", + "▁p raw", + "▁pr aw", + "▁pra w", + "▁с им", + "▁си м", + "▁w ob", + "▁wo b", + "▁h ace", + "▁ha ce", + "▁near est", + "dis able", + "▁C ommun", + "▁Com mun", + "▁Comm un", + "▁re vel", + "▁rev el", + "▁reve l", + "Fr ee", + "Fre e", + "F ree", + "▁bra ckets", + "IO Exception", + "▁al to", + "▁alt o", + "▁mar ry", + "▁a uc", + "▁au c", + "▁ auc", + "), \\", + ") ,\\", + "▁typ o", + "▁ty po", + "ed ad", + "eda d", + "ar á", + "a rá", + "ic ator", + "ica tor", + "tat ywna", + "▁b uff", + "▁bu ff", + "▁buf f", + "▁ buff", + "or ders", + "ord ers", + "order s", + "orde rs", + "▁as ynchronous", + "▁e con", + "▁ec on", + "▁f eu", + "▁fe u", + "▁I ron", + "▁Ir on", + "▁r ising", + "▁ris ing", + "▁ri sing", + "Rad ius", + "cl k", + "▁zwe iten", + "▁zwei ten", + "▁zweite n", + "` '", + "▁un iqu", + "▁F M", + "▁ FM", + "▁B ran", + "▁Br an", + "▁Bra n", + "▁f lu", + "▁fl u", + "▁ flu", + "▁sens itive", + "ur re", + "urr e", + "▁I ter", + "▁It er", + "▁ Iter", + "▁S ein", + "▁Se in", + "▁difer entes", + "▁diferen tes", + "▁не го", + "▁н его", + "▁ него", + "ch ia", + "chi a", + "▁An leitung", + "atur day", + "▁sh orter", + "▁short er", + "▁transl ated", + "▁translate d", + "▁R és", + "▁Ré s", + "▁r ode", + "▁ro de", + "▁rod e", + "dr ag", + "dra g", + "d rag", + "▁l ange", + "▁lang e", + "▁lan ge", + "B i", + "ü b", + "le ur", + "l eur", + "▁order ing", + "▁ord ering", + "al ous", + "alo us", + "▁К ор", + "▁Ко р", + "ar char", + "arch ar", + "arc har", + "dest roy", + "erv ation", + "erva tion", + "]] ,", + "] ],", + "Accessor Impl", + "▁autory tatywna", + "Se quence", + "Sequ ence", + "▁pro yect", + "▁b ran", + "▁br an", + "▁bra n", + "▁( +", + "▁K ab", + "▁Ka b", + "▁z em", + "▁ze m", + "▁ zem", + "▁Cal cul", + "▁ Calcul", + "▁se ul", + "▁seu l", + "▁N iger", + "▁Ni ger", + "▁ch iam", + "▁chi am", + "th row", + "▁Plan et", + "▁Pla net", + "bild ung", + "▁z ones", + "▁zo nes", + "▁zone s", + "trans ition", + "ле ний", + "▁m apped", + "▁ma pped", + "▁map ped", + "on aut", + "ona ut", + "Pa ir", + "P air", + "il ian", + "ili an", + "ilia n", + "▁M organ", + "▁Mor gan", + "▁un to", + "▁ unto", + "jo u", + "j ou", + "▁h id", + "▁hi d", + "▁M eta", + "▁Me ta", + "▁Met a", + "▁ Meta", + "▁e lles", + "▁el les", + "▁elle s", + "▁ell es", + "▁ elles", + "Lo u", + "L ou", + "ra ma", + "ram a", + "r ama", + "ge ordnet", + "▁scarc ely", + "▁m int", + "▁min t", + "▁mi nt", + "F ocus", + "▁Al ter", + "▁Alt er", + "▁d io", + "▁di o", + "▁am pl", + "▁amp l", + "ière ment", + "▁ис следова", + "LE D", + "L ED", + "alg orithm", + "▁сай ті", + "▁сайт і", + "▁\" \")", + "▁\"\" )", + "Hi story", + "H istory", + "p k", + "▁W hit", + "▁Wh it", + "▁си стем", + "▁систе м", + "▁Kir chen", + "▁Kirche n", + "▁Kirch en", + "r à", + "AP P", + "A PP", + "▁< %", + "ant ine", + "anti ne", + "antin e", + "▁D isk", + "▁Dis k", + "▁Di sk", + "con v", + "we lt", + "wel t", + "w elt", + "▁F ut", + "▁Fu t", + "▁N om", + "▁No m", + "or do", + "ord o", + "el lij", + "ell ij", + "elli j", + "▁rece ives", + "▁receive s", + "co w", + "c ow", + "yt u", + "y tu", + "▁o bras", + "▁ob ras", + "▁obra s", + "▁p urchase", + "▁purch ase", + "▁ear ned", + "▁acc essed", + "▁access ed", + "ax i", + "a xi", + "▁M ans", + "▁Man s", + "▁Ma ns", + "iv an", + "iva n", + "i van", + "▁t uvo", + "▁tu vo", + "▁T race", + "▁Tr ace", + "▁Tra ce", + "▁ Trace", + "rim onio", + "▁desen vol", + "ér ique", + "éri que", + "é rique", + "▁result ed", + "▁comp uting", + "▁comput ing", + "▁insp ired", + "▁inspir ed", + "▁Pr ize", + "▁Pri ze", + "* \"", + "Com put", + "Comp ut", + "▁ext ensive", + "▁extens ive", + "è g", + "▁Port ály", + "▁cast le", + "▁ castle", + "▁* .", + "▁ *.", + "▁ph otos", + "▁phot os", + "▁photo s", + "▁vo et", + "ON G", + "O NG", + "▁A lle", + "▁Al le", + "▁All e", + "▁thre aten", + "▁threat en", + "st üt", + "▁album s", + "▁alb ums", + "▁d ense", + "▁den se", + "▁dens e", + "fl at", + "f lat", + "cont inu", + "Sub ject", + "Su bject", + "▁read only", + "Op t", + "O pt", + "пи ско", + "пис ко", + "▁A ber", + "▁Ab er", + "▁P osition", + "▁Pos ition", + "▁ Position", + "▁To day", + "▁Tod ay", + "▁m ini", + "▁min i", + "▁mi ni", + "▁B ef", + "▁Be f", + "li sten", + "list en", + "lis ten", + "l isten", + "ствен ного", + "ственно го", + "SU B", + "S UB", + "os sa", + "oss a", + "▁P ope", + "▁Po pe", + "▁Pop e", + "▁Jim my", + "▁Д ру", + "ungs seite", + "▁t ren", + "▁tr en", + "▁tre n", + "op tim", + "opt im", + "it sch", + "its ch", + "▁s amt", + "▁sa mt", + "▁sam t", + "▁испо л", + "▁ис пол", + "& =", + "▁Przyp isy", + "▁про дол", + "C r", + "er mann", + "erm ann", + "erman n", + "▁ма тери", + "▁мате ри", + "▁H ugo", + "▁Hu go", + "▁De ze", + "▁Dez e", + "TR UE", + "▁defe at", + "▁watch ed", + "▁wat ched", + "▁G ent", + "▁Ge nt", + "▁Gen t", + "AU T", + "A UT", + "or ous", + "oro us", + "▁о преде", + "ori entation", + "orient ation", + "▁distingu ished", + "▁distinguish ed", + "▁mes mo", + "▁s li", + "▁sl i", + "ме на", + "мен а", + "м ена", + "mit tel", + "mitt el", + "m ittel", + "ge richt", + "ger icht", + "et on", + "eto n", + "e ton", + "-> {", + "- >{", + "▁w ont", + "▁won t", + "▁wo nt", + "▁w eg", + "▁we g", + "▁ weg", + "▁class ific", + "il us", + "i lus", + "▁M D", + "▁ MD", + "task s", + "▁c him", + "▁ch im", + "▁chi m", + "aw ait", + "awa it", + "a wait", + "▁g ang", + "▁gan g", + "▁ga ng", + "▁ gang", + "▁w ię", + "▁ wię", + "th rough", + "▁Russ ell", + "▁guess ing", + "▁а кт", + "▁ак т", + "б лі", + "c ategories", + "су т", + "с ут", + "▁F en", + "▁Fe n", + "▁му ж", + "▁ne wer", + "▁new er", + "▁A sync", + "▁As ync", + "▁ Async", + "▁t erme", + "▁term e", + "▁ter me", + "> /", + "па ра", + "пар а", + "▁T rust", + "▁Tr ust", + "▁Tru st", + "▁O pt", + "▁Op t", + "▁ Opt", + "▁d ah", + "▁da h", + "▁wonder ful", + "adrat kil", + "▁Г ра", + "ma pping", + "map ping", + "m apping", + "▁disc overy", + "▁discover y", + "▁disco very", + "▁B E", + "▁ BE", + "En able", + "▁Fri end", + "с ня", + "▁cont rolled", + "▁control led", + "чно ї", + "ч ної", + "▁contribution s", + "▁contrib utions", + "j ší", + "▁L ev", + "▁Le v", + "▁franc és", + "▁m ic", + "▁mi c", + "▁ mic", + "zi k", + "z ik", + "▁a lem", + "▁al em", + "▁ale m", + "▁ alem", + "can cel", + "! '", + "▁g rat", + "▁gr at", + "▁gra t", + "▁Begriff sklär", + "Cam era", + "if icación", + "ific ación", + "ifica ción", + "ró d", + "r ód", + "▁Arn old", + "▁bezeichnet er", + "▁f ought", + "▁de put", + "▁dep ut", + "▁D rop", + "▁Dr op", + "▁Dro p", + "▁ Drop", + "ta x", + "t ax", + "d g", + "▁H op", + "▁Ho p", + "G N", + "▁Kir ch", + "▁Б ар", + "▁Ба р", + "In voke", + "Inv oke", + "▁er halten", + "▁ve el", + "▁word press", + "▁ wordpress", + "▁IN NER", + "trans action", + "▁dé jà", + "Fa ct", + "F act", + "▁над мор", + "▁angular js", + "▁á t", + "▁ át", + "▁a lap", + "▁al ap", + "▁P rice", + "▁Pr ice", + "▁Pri ce", + "▁ Price", + "▁eff et", + "▁s phere", + "▁sp here", + "▁spher e", + "Class Loader", + "▁r ugby", + "▁rug by", + "▁king dom", + "▁M ut", + "▁Mu t", + "▁ки но", + "▁re ward", + "ci t", + "c it", + "▁present e", + "▁pres ente", + "St o", + "S to", + "Char acter", + "lo gs", + "log s", + "l ogs", + "▁cent rale", + "▁central e", + "▁m ouv", + "▁mo uv", + "▁mou v", + "▁ok ay", + "▁ap lic", + "Mo re", + "Mor e", + "M ore", + "ény ek", + "▁Kö ln", + "ne tt", + "net t", + "n ett", + "▁исто рии", + "▁истори и", + "▁descri bing", + "▁sold ier", + "▁N eed", + "▁Ne ed", + "L ight", + "▁\" \\<", + "▁\"\\ <", + "▁h av", + "▁ha v", + "▁ hav", + "er mo", + "erm o", + "▁infer ior", + "le a", + "l ea", + "▁g g", + "▁ gg", + "▁кон це", + "fra gment", + "f ragment", + "s b", + "Count ry", + "C ountry", + "▁v ě", + "▁ vě", + "▁B eng", + "▁Be ng", + "▁Ben g", + "▁Э то", + "▁во до", + "ма р", + "м ар", + "STR ING", + "▁ú j", + "multi ple", + "multip le", + "state ment", + "stat ement", + "▁invol ves", + "▁involve s", + "▁te cn", + "▁tec n", + "St udent", + "gr é", + "g ré", + "▁le an", + "▁ lean", + "▁bring ing", + "▁Med ical", + "▁Medic al", + "▁Medi cal", + "▁програ м", + "▁V og", + "▁Vo g", + "▁ж ов", + "▁Sp irit", + "nt h", + "n th", + "▁stand ards", + "▁standard s", + "▁Pro file", + "▁Prof ile", + "▁Profil e", + "▁ Profile", + "▁e z", + "▁ ez", + "▁террито рии", + "▁s tem", + "▁st em", + "▁ste m", + "ui l", + "u il", + "▁O g", + "B tn", + "na l", + "n al", + "▁near by", + "▁produ cing", + "cri v", + "cr iv", + "c riv", + "▁assum ptions", + "▁assumption s", + "▁S park", + "▁Sp ark", + "▁L ot", + "▁Lo t", + "it udes", + "itu des", + "itude s", + "itud es", + "af ka", + "fi ve", + "f ive", + "at io", + "ati o", + "▁distingu ish", + "ro ck", + "roc k", + "r ock", + "égl ise", + "é glise", + "▁rapp res", + "▁rap pres", + ">\\ <", + "> \\<", + "лі й", + "л ій", + "▁ми ни", + "▁ мини", + "▁intitul é", + "}} (\\", + "}}( \\", + "} }(\\", + "▁R out", + "▁Ro ut", + "▁Rou t", + "▁ Rout", + "▁B order", + "▁Bor der", + "▁ Border", + "▁over rid", + "HO ST", + "H OST", + "rit ten", + "ritt en", + "r itten", + "sa y", + "s ay", + "▁Ч и", + "icht ung", + "▁straight forward", + "ob b", + "o bb", + "▁Ter ra", + "▁Terr a", + "▁[ :", + "▁ [:", + "Be n", + "B en", + "▁compos ite", + ")+ \\", + ") +\\", + "▁c rown", + "▁cr own", + "▁cro wn", + "▁crow n", + "dir ection", + "direct ion", + "dire ction", + "d irection", + "▁неско лько", + "▁av ail", + "▁purch ased", + "▁purchase d", + "ho ok", + "h ook", + "et ies", + "eti es", + "e ties", + "▁f ase", + "▁fa se", + "▁fas e", + "▁R um", + "▁Ru m", + "▁ge nom", + "▁gen om", + "▁d ét", + "▁dé t", + "ow ą", + "mp eg", + "▁І н", + "des ktop", + "▁in jection", + "▁inj ection", + "▁inject ion", + "ag le", + "a gle", + "▁E dd", + "▁Ed d", + "_{ (", + "_ {(", + "▁H em", + "▁He m", + "ut os", + "uto s", + "pr oj", + "pro j", + "▁superfic ie", + "Pl ot", + "P lot", + "▁D ocker", + "▁Do cker", + "▁Doc ker", + "ät z", + "ä tz", + "kre ich", + "k reich", + "▁un clear", + "▁uncle ar", + "▁Un ity", + "▁Unit y", + "▁stream s", + "▁stre ams", + "ви д", + "▁simpl ified", + "Fil l", + "Fi ll", + "F ill", + "▁s ant", + "▁sa nt", + "▁san t", + "▁K ommun", + "▁Kom mun", + "▁Komm un", + "▁d uc", + "▁du c", + "▁д ве", + "▁o bs", + "▁ob s", + "▁ obs", + "ž it", + "▁Jane iro", + "б я", + "▁pr esso", + "▁pres so", + "▁press o", + "▁Min istry", + "▁b urst", + "▁bur st", + "▁re aching", + "▁reach ing", + "li ter", + "lit er", + "l iter", + "▁response s", + "▁respons es", + "▁E ug", + "▁Eu g", + "▁s od", + "▁so d", + "▁C ord", + "▁Cor d", + "▁Co rd", + "▁P erm", + "▁Per m", + "▁Pe rm", + "▁ Perm", + "par ts", + "part s", + "p arts", + "ци ма", + "vari ables", + "variable s", + "▁forgot ten", + "Fe rn", + "F ern", + "ost ęp", + "v l", + "▁С м", + "ki m", + "k im", + "aj ąc", + "ają c", + "a jąc", + "на ль", + "нал ь", + "н аль", + "г ле", + "hel per", + "help er", + "du p", + "d up", + "eu w", + "e uw", + "fr a", + "f ra", + "ell ite", + "elli te", + "an ya", + "any a", + "▁re ign", + "▁r eign", + "▁rei gn", + "ges amt", + "се да", + "▁R yan", + "▁Ry an", + "▁form atted", + "▁format ted", + "▁formatt ed", + "▁B org", + "▁Bo rg", + "▁Bor g", + "wal k", + "w alk", + "▁а л", + "▁ ал", + "agnost ics", + "agnostic s", + "▁C ape", + "▁Cap e", + "▁Ca pe", + "▁Fran co", + "▁Franc o", + "▁f ug", + "▁fu g", + ": )", + "ю з", + "F etch", + "▁rough ly", + "▁M is", + "▁Mi s", + "uet ooth", + "▁Venez uela", + "▁a stronom", + "▁astr onom", + "\") `", + "\" )`", + "om bres", + "omb res", + "▁кото рой", + "ó p", + "ow ed", + "owe d", + "o wed", + "H R", + "▁C amer", + "▁Cam er", + "▁Ca mer", + "ки е", + "par ison", + "▁B ij", + "▁Bi j", + "tem plates", + "template s", + "en vironment", + "environ ment", + "iz ação", + "iza ção", + "▁é r", + "▁ ér", + "▁pl enty", + "▁Type Error", + "▁for ty", + "▁fort y", + "ко ном", + "кон ом", + "коно м", + "▁S ed", + "▁Se d", + "▁th ats", + "▁that s", + "▁gra vity", + "▁grav ity", + "▁gravit y", + "▁ gravity", + "▁spirit ual", + "▁dup licates", + "▁duplicate s", + "▁enc ryption", + "▁encrypt ion", + "▁re ven", + "▁r even", + "▁rev en", + "▁reve n", + "▁ reven", + "get Instance", + "äl lor", + "äll or", + "dis k", + "di sk", + "d isk", + "▁th ro", + "▁thr o", + "▁N ak", + "▁Na k", + "▁p oł", + "▁po ł", + "▁her aus", + "in valid", + "s By", + "Bo ot", + "B oot", + "▁bu cket", + "▁ bucket", + "▁P arse", + "▁Par se", + "▁ Parse", + "he x", + "h ex", + "Con ne", + "C onne", + "▁Comp uter", + "▁Comput er", + "zy k", + "z yk", + "▁indu ced", + "▁Br uno", + "▁Bru no", + "▁Brun o", + "▁address ed", + "▁addr essed", + "ma nia", + "man ia", + "m ania", + "▁in clus", + "▁incl us", + "▁inc lus", + "▁inclu s", + "oun ced", + "ounce d", + "script size", + "scripts ize", + "▁E pis", + "▁Ep is", + "▁v ocal", + "▁vo cal", + "▁voc al", + "▁Jon athan", + "у м", + "st aden", + "sta den", + "stad en", + "▁Child ren", + "▁ Children", + "пе й", + "п ей", + "It alia", + "Ital ia", + "reib ung", + "▁n ost", + "▁no st", + "▁nos t", + "▁ nost", + "▁е щё", + "▁Wer ke", + "▁Werk e", + "▁act ress", + "▁Minn esota", + "ri ke", + "rik e", + "r ike", + "▁t ek", + "▁te k", + "▁ tek", + "▁prime ira", + "▁f rat", + "▁fr at", + "▁fra t", + "▁Config uration", + "▁ Configuration", + "▁b id", + "▁bi d", + "▁ bid", + "tr igger", + "Cont ents", + "Content s", + "▁const antly", + "▁constant ly", + "!! !", + "! !!", + "▁d read", + "▁dr ead", + "▁dre ad", + "▁hundred s", + "ist ische", + "isti sche", + "▁card inal", + "T ABLE", + "▁est os", + "▁esto s", + "ass oc", + "asso c", + "gr ay", + "gra y", + "g ray", + "▁Sch loss", + "▁Schl oss", + "▁s che", + "▁sc he", + "▁sch e", + "▁ sche", + "con g", + "co ng", + "c ong", + "▁ko ji", + "ète s", + "èt es", + "è tes", + "▁E ra", + "▁Er a", + "om i", + "o mi", + "▁S R", + "▁ SR", + "▁wr apped", + "▁wra pped", + "▁wrap ped", + "▁tr unc", + "▁a h", + "▁ ah", + "eg os", + "ego s", + "ok i", + "o ki", + "mo uth", + "m outh", + "log ging", + "▁f asc", + "▁fa sc", + "▁fas c", + "▁S ample", + "▁Sam ple", + "▁ Sample", + "▁c onte", + "▁con te", + "▁cont e", + "▁v illa", + "▁vi lla", + "▁vill a", + "▁vil la", + "▁ villa", + "com ments", + "comm ents", + "comment s", + "▁b atal", + "▁ba tal", + "▁bat al", + "▁bata l", + "▁Garc ía", + "▁N orte", + "▁Nor te", + "▁we chsel", + "▁Muse o", + "▁enf ants", + "▁whis per", + "na ke", + "nak e", + "n ake", + "▁jed nak", + "l ês", + "en ders", + "end ers", + "ender s", + "ende rs", + "▁ä l", + "▁ äl", + "▁V B", + "▁ VB", + "▁cook ies", + "▁cookie s", + "ze ti", + "zet i", + "z eti", + "at um", + "atu m", + "▁d edu", + "▁de du", + "▁ded u", + "▁arr anged", + "▁arrang ed", + "la z", + "l az", + "▁cu enta", + "ym l", + "y ml", + "▁f lav", + "▁fl av", + "▁fla v", + "M R", + "em et", + "eme t", + "e met", + "бі ль", + "б іль", + "cm p", + "c mp", + "it uto", + "itu to", + "itut o", + "ze tt", + "zet t", + "z ett", + "▁en vi", + "▁env i", + "▁k ot", + "▁ko t", + "$ :", + "up per", + "upp er", + "u pper", + "▁Al berto", + "▁Albert o", + "k b", + "An al", + "A nal", + "ör t", + "ö rt", + "▁[ -", + "▁ [-", + "▁führ te", + "▁führt e", + "ia h", + "i ah", + "▁T un", + "▁Tu n", + "▁и скус", + "uw e", + "u we", + "is pecies", + "i species", + "P ub", + "Syn c", + "S ync", + "▁Colomb ia", + "ak ers", + "ake rs", + "aker s", + "▁Imper ial", + "ov ing", + "ovi ng", + "o ving", + "▁int elligence", + "▁intellig ence", + "▁equip ment", + "ei n", + "e in", + "dag ger", + "d agger", + "▁Ed ge", + "▁ Edge", + "▁Рес публи", + "adratkil ometer", + "▁An to", + "▁Ant o", + "▁char ges", + "▁charge s", + "▁charg es", + "▁O cean", + "▁simpl ify", + "▁m iesz", + "▁mi esz", + "▁mie sz", + "run ning", + "r unning", + "▁L ac", + "▁La c", + "gen ommen", + "▁represent ative", + "= .", + "▁P red", + "▁Pr ed", + "▁Pre d", + "▁ Pred", + "▁sp ite", + "ci ale", + "cial e", + "cia le", + "c iale", + "▁n ave", + "▁na ve", + "▁nav e", + "▁ext ens", + "▁neut ral", + "▁кото рая", + ".< /", + ". : :", + "> ::", + "ш ёл", + "▁princip ales", + "▁principal es", + "▁principale s", + "▁ц ар", + "▁t ied", + "▁ti ed", + "▁tie d", + "▁al ta", + "▁alt a", + "▁C it", + "▁Ci t", + "li ned", + "line d", + "lin ed", + "l ined", + "ma jor", + "▁p unk", + "▁pun k", + "▁cin co", + "ick ý", + "▁r aggi", + "▁ra ggi", + "▁rag gi", + "ty pen", + "type n", + "typ en", + "тель ство", + "▁con ference", + "▁confer ence", + "▁с іль", + "▁сі ль", + "▁he ut", + "i š", + "ет а", + "е та", + "vel ope", + "velop e", + "h box", + "no wn", + "now n", + "n own", + "▁z ar", + "▁za r", + "▁ zar", + "kt iv", + "ie ß", + "▁с тре", + "▁ст ре", + "▁ стре", + "▁Event Args", + "▁ EventArgs", + "▁I ra", + "▁Ir a", + "▁V BA", + "▁VB A", + "▁S anto", + "▁San to", + "▁Sant o", + "▁F ach", + "▁Fa ch", + "▁Fac h", + "▁F F", + "▁ FF", + "▁Ray mond", + "ме ц", + "im plementation", + "▁bro thers", + "▁brother s", + "▁cô té", + "▁cont rollers", + "▁control lers", + "▁controller s", + "▁C le", + "▁Cl e", + "▁c able", + "▁ca ble", + "▁cab le", + "▁con fer", + "▁conf er", + "▁{ -", + "▁ {-", + "▁cz ł", + "▁Fil ip", + "at orio", + "ator io", + "ato rio", + "atori o", + "▁w icht", + "▁be aucoup", + "▁L it", + "▁Li t", + "▁s essions", + "▁session s", + "▁sess ions", + "▁Su ccess", + "▁ Success", + "▁ro uting", + "▁rout ing", + "▁rou ting", + "ni u", + "n iu", + "▁V ice", + "▁Vi ce", + "▁Vic e", + "▁k rit", + "▁kr it", + "up dated", + "update d", + "▁In valid", + "▁ Invalid", + "▁Mann schaft", + "▁a os", + "▁ao s", + "▁t udi", + "▁tu di", + "▁tud i", + "▁des prés", + "▁desp rés", + "qu a", + "q ua", + "Cont ains", + "Comp any", + "▁person a", + "▁pers ona", + "ad apter", + "с ни", + "▁v oj", + "▁vo j", + "▁ voj", + "▁e scri", + "▁es cri", + "▁esc ri", + "ag t", + "a gt", + "▁с тво", + "▁ст во", + "▁ ство", + "▁dist rito", + "ap an", + "apa n", + "a pan", + "▁aspect s", + "▁z al", + "▁za l", + ")^ {\\", + ")^{ \\", + ") ^{\\", + "▁syst ème", + "▁а на", + "▁ан а", + "▁ ана", + "ium s", + "iu ms", + "i ums", + "▁prem iers", + "▁premi ers", + "▁premier s", + "▁по э", + "▁m ère", + "▁G un", + "▁Gu n", + "ap ing", + "api ng", + "a ping", + "▁R ain", + "▁Ra in", + "▁ig ual", + "▁process or", + "▁proc essor", + "▁ processor", + "') `", + "' )`", + "bl ing", + "b ling", + "▁m ism", + "▁mi sm", + "▁mis m", + "br áz", + "▁close st", + "▁clos est", + "▁Re ading", + "▁Read ing", + "▁по пу", + "con o", + "co no", + "c ono", + "▁k ult", + "▁! !", + "▁ !!", + "▁Ex pression", + "▁Exp ression", + "▁Express ion", + "▁ Expression", + "▁indu ction", + "▁induct ion", + "ah ren", + "ahr en", + "a hren", + "▁c p", + "▁ cp", + "▁viol ence", + "ient í", + "cent e", + "cen te", + "c ente", + "▁D ob", + "▁Do b", + "ja ck", + "j ack", + "so ng", + "son g", + "s ong", + "bu cket", + "▁de port", + "▁dep ort", + "ки ми", + "ким и", + "l m", + "▁in noc", + "▁inn oc", + "Ch anges", + "Change s", + "▁pro hib", + "ang ol", + "ango l", + "isecond s", + "i seconds", + "▁п ор", + "▁по р", + "▁ пор", + "▁h ip", + "▁hi p", + "▁ hip", + "▁p ů", + "en dorf", + "end orf", + "endo rf", + "endor f", + "▁sch eduled", + "▁schedule d", + "▁Fl ug", + "ac yj", + "acy j", + "▁Fil ms", + "▁Film s", + "athed ral", + "Po wer", + "P ower", + "ar din", + "ard in", + "ardi n", + "ka p", + "k ap", + "ic ken", + "ick en", + "i cken", + "re size", + "res ize", + "eu s", + "e us", + "r r", + "ля н", + "л ян", + "▁H av", + "▁Ha v", + "▁o ra", + "▁or a", + "▁ ora", + "FR OM", + "F ROM", + "ло ся", + "▁te rug", + "▁ter ug", + "▁W idth", + "▁ Width", + "▁accept s", + "бе н", + "б ен", + "▁m ich", + "▁mi ch", + "▁mic h", + "▁C zech", + "▁Cz ech", + "▁B edeut", + "▁ви д", + "▁ вид", + "ô me", + "▁L oop", + "▁Lo op", + "▁ Loop", + "sp ect", + "spe ct", + "spec t", + "s pect", + "ü k", + "es ton", + "est on", + "esto n", + "e ston", + "▁s lot", + "▁sl ot", + "▁slo t", + "▁został a", + "▁Charlot te", + "▁состав ляет", + "▁составля ет", + "▁Prom ise", + "▁e po", + "▁ep o", + "▁d iction", + "▁di ction", + "▁dict ion", + "▁dic tion", + "▁ diction", + "▁Frank lin", + "▁R iv", + "▁Ri v", + "ру г", + "ci da", + "cid a", + "c ida", + "▁Ex plorer", + "cook ie", + "▁former ly", + "▁municip ality", + "▁municipal ity", + "▁Ste fan", + "▁Stef an", + "list s", + "lis ts", + "l ists", + "CO MP", + "COM P", + "Le n", + "L en", + "▁Sta at", + "▁N BA", + "de ns", + "den s", + "d ens", + "▁osc ill", + "! .", + "▁P O", + "▁ PO", + "ô ne", + "es es", + "ese s", + "▁на циональ", + "vo or", + "v oor", + "▁ко пи", + "▁по зи", + "▁ пози", + "ul u", + "u lu", + "Const raint", + "Constra int", + "▁сво ей", + "▁algebra ic", + "ч ня", + "Di ct", + "D ict", + "▁appear ing", + "▁appe aring", + "▁p rav", + "▁pr av", + "▁pra v", + "▁Univers al", + "B rowser", + "▁Sing ap", + "ennes see", + "] _", + "▁S of", + "▁So f", + "▁C ad", + "▁Ca d", + "oun ce", + "▁cost s", + "▁cos ts", + "]{ \\", + "] {\\", + "../ ../", + "ськ ій", + "ські й", + "üh l", + "ü hl", + "ie ty", + "iet y", + "i ety", + "п р", + "▁interpre ted", + "▁interpret ed", + "aj n", + "col og", + "co log", + "colo g", + "c olog", + "Y S", + "ma ns", + "man s", + "m ans", + "▁met rics", + "▁metric s", + "▁reg istr", + "▁ registr", + "ist ance", + "istan ce", + "▁По ль", + "▁an onymous", + "▁ anonymous", + "▁institution s", + "▁instit utions", + "▁z dob", + "▁zd ob", + "pr üng", + "prü ng", + "▁ар ти", + "▁e stat", + "▁est at", + "▁es tat", + "▁esta t", + "ac ci", + "acc i", + "▁academ ic", + "▁ch iesa", + "▁chi esa", + "▁G ian", + "▁Gi an", + "▁Gia n", + "cont rib", + "contr ib", + "um ed", + "ume d", + "u med", + "▁G ir", + "▁Gi r", + "▁base ball", + "numer ic", + "n umeric", + "Gener ator", + "G M", + "▁t iny", + "▁ti ny", + "▁tin y", + "▁ tiny", + "▁dist inction", + "▁distinct ion", + "ге р", + "г ер", + "▁r ust", + "▁ru st", + "▁rus t", + "▁ rust", + "▁FI FA", + "▁Pro perties", + "▁ Properties", + "^ -", + "▁э кс", + "▁эк с", + "▁Sta nis", + "▁Stan is", + "▁A jax", + "es cape", + "esc ape", + "▁con sp", + "▁cons p", + "▁C hen", + "▁Ch en", + "▁Che n", + "▁N aval", + "▁Na val", + "▁Nav al", + "Bi t", + "B it", + "▁b ât", + "ски ми", + "ским и", + "с кими", + "dr ive", + "dri ve", + "d rive", + "▁R ound", + "▁Ro und", + "▁Rou nd", + "ph oto", + "▁Le vel", + "▁Lev el", + "▁ Level", + "▁g eg", + "▁ge g", + "▁ geg", + "To m", + "T om", + "▁M obile", + "▁ Mobile", + "▁T rop", + "▁Tr op", + "▁Tro p", + "Dir ection", + "Direct ion", + "D irection", + "is an", + "isa n", + "i san", + ")^ {-", + ")^{ -", + ") ^{-", + "▁Set ting", + "▁ Setting", + "▁Pro bably", + "ль я", + "л ья", + "▁as sets", + "▁ass ets", + "▁asse ts", + "▁asset s", + "▁ assets", + "▁a tte", + "▁at te", + "▁att e", + "▁ atte", + "▁b ulk", + "▁bul k", + "és t", + "é st", + "▁w ing", + "▁win g", + "▁ wing", + "ni us", + "niu s", + "n ius", + "▁w ins", + "▁win s", + "▁l ud", + "▁lu d", + "us hing", + "ush ing", + "▁d even", + "▁de ven", + "▁dev en", + "▁deve n", + "огра ф", + "о граф", + "burg er", + "bur ger", + "b urger", + "▁em bar", + "▁emb ar", + "Filter Chain", + "▁t um", + "▁tu m", + "▁ö ss", + "▁nom mé", + "▁p ir", + "▁pi r", + "▁l uc", + "▁lu c", + "db o", + "d bo", + "ag ues", + "ague s", + "agu es", + "▁al can", + "▁alc an", + "ou wen", + "ouw en", + "▁Stan ley", + "ци али", + "▁g rown", + "▁gr own", + "▁gro wn", + "▁grow n", + "▁pres erved", + "▁preserve d", + "▁s olar", + "▁so lar", + "▁sol ar", + "▁Насе ление", + "▁perform ances", + "▁performance s", + "▁C ow", + "▁Co w", + "▁engine ering", + "▁engineer ing", + "▁sc aling", + "▁scal ing", + "at omic", + "ato mic", + "atom ic", + "end ance", + "▁a ce", + "▁ac e", + "▁ ace", + "än gen", + "äng en", + "änge n", + "An im", + "A nim", + "ph ase", + "pha se", + "phas e", + "z burg", + "O ld", + "▁serv ant", + "▁geme ins", + "▁Ob serv", + "trans late", + "▁cover ing", + "▁cov ering", + "▁est án", + "▁está n", + "▁problem a", + "▁proble ma", + "▁probl ema", + "▁у станов", + "▁l lev", + "▁ll ev", + "▁lle v", + "▁c zerw", + "é al", + "me z", + "m ez", + "RE E", + "R EE", + "ER R", + "ту ри", + "тур и", + "se gu", + "seg u", + "s egu", + "▁pro fit", + "▁prof it", + "▁multip lication", + "kom men", + "k ommen", + "▁f aut", + "▁fa ut", + "▁candid ates", + "▁candidate s", + "▁U ri", + "▁Ur i", + "▁ Uri", + "▁La ura", + "▁Laur a", + "▁Lau ra", + "▁s ap", + "▁sa p", + "▁ви сини", + "▁Bet ween", + "fa de", + "f ade", + "▁res erved", + "▁reserve d", + "▁invol ving", + "▁M are", + "▁Mar e", + "▁Ma re", + "▁Cont ainer", + "▁ Container", + "▁на зна", + "▁DE BUG", + "▁ DEBUG", + "▁h urt", + "▁hur t", + "▁hu rt", + "▁Pol ski", + "▁l ux", + "▁lu x", + "C B", + "wa ch", + "w ach", + "▁пери од", + "▁перио д", + "▁C atherine", + "▁g anz", + "▁gan z", + "uch te", + "ucht e", + "u chte", + "▁cons umer", + "▁consum er", + "▁consume r", + "▁cross ed", + "ord ered", + "order ed", + "orde red", + "aw ay", + "awa y", + "a way", + "te chn", + "tech n", + "▁sub scri", + "▁subs cri", + "▁short cut", + "▁произ вод", + "▁simultane ously", + "▁r ating", + "▁ra ting", + "▁rat ing", + "▁ rating", + "▁K ings", + "▁King s", + "▁Kin gs", + "▁relations hips", + "▁relation ships", + "▁relationship s", + "▁S ex", + "▁Se x", + "▁T ool", + "▁To ol", + "▁ Tool", + "ag h", + "a gh", + "ac ters", + "act ers", + "acter s", + "log ger", + "hom me", + "en gers", + "eng ers", + "enger s", + "▁R i", + "ear ance", + "ea rance", + "▁appear ances", + "▁appearance s", + "Re al", + "▁p asse", + "▁pass e", + "▁pas se", + "ic lopedia", + "ч ко", + "ter re", + "▁Ont ario", + "▁пере да", + "▁перед а", + "fo oter", + "foo ter", + "foot er", + "arch ivi", + "archiv i", + "if iz", + "ifi z", + "▁Pro test", + "▁Prote st", + "▁L IN", + "▁LI N", + "▁ LIN", + "unn able", + "▁cent uries", + "▁B ayer", + "▁Ba yer", + "▁Bay er", + "ці ю", + "ов ин", + "ови н", + "о вин", + "▁And rea", + "▁Andre a", + "se lection", + "select ion", + "sel ection", + "▁c alm", + "▁cal m", + "▁ca lm", + "▁mod ification", + "▁modific ation", + "▁short ly", + "in aire", + "ina ire", + "i naire", + "▁f usion", + "▁fus ion", + "▁feel ings", + "▁feeling s", + "▁fee lings", + "P K", + "▁Ro berto", + "▁Robert o", + "г не", + "Sh ared", + "▁mehr ere", + "▁N iem", + "▁Ni em", + "▁Nie m", + "om p", + "o mp", + "En v", + "▁Art icle", + "▁P ok", + "▁Po k", + "▁V ARCHAR", + "▁d il", + "▁di l", + "▁af ford", + "▁aff ord", + "▁con front", + "▁conf ront", + "ow anie", + "owa nie", + "owan ie", + "▁min istre", + "▁minist re", + "▁mini stre", + "ad esh", + "ade sh", + "ades h", + "▁P oly", + "▁Pol y", + "▁Po ly", + "▁Ра спо", + "▁Рас по", + "▁Gru ppe", + "▁H elen", + "▁He len", + "▁Hel en", + "▁c c", + "▁ cc", + "▁port rait", + "be w", + "b ew", + "▁b eta", + "▁be ta", + "▁bet a", + "▁ beta", + "▁W ir", + "▁Wi r", + "▁A udio", + "▁Aud io", + "▁ Audio", + "▁( \\<", + "▁(\\ <", + "rior ity", + "▁n it", + "▁ni t", + "▁ nit", + "▁пред стави", + "▁представ и", + "▁V ie", + "▁Vi e", + "▁w ür", + "▁ wür", + "▁H old", + "▁Hol d", + "▁Ho ld", + "▁ Hold", + "▁S ad", + "▁Sa d", + "▁To chter", + "▁o ltre", + "▁ol tre", + "▁ oltre", + "▁Act iv", + "▁ Activ", + "▁J ason", + "▁Ja son", + "▁Jas on", + "▁wie ku", + "▁reg ards", + "▁regard s", + "▁t aste", + "▁ta ste", + "agnost ic", + "ла ся", + "▁S elf", + "▁Sel f", + "▁ Self", + "▁a pr", + "▁ap r", + "▁De ep", + "sc op", + "s cop", + "Act iv", + "▁type def", + "▁typed ef", + "Content View", + "comp iler", + "compile r", + "▁R oth", + "▁Ro th", + "▁Rot h", + "x c", + "зи к", + "▁l argo", + "▁lar go", + "▁larg o", + "▁R ena", + "▁Re na", + "▁Ren a", + "he iten", + "heit en", + "▁platform s", + "▁plat forms", + "ul la", + "ull a", + "u lla", + "▁gl ance", + "▁mas cul", + "▁m ex", + "▁me x", + "▁J orge", + "▁fun cion", + "▁func ion", + "cho ose", + "▁re views", + "▁review s", + "▁Al ban", + "▁Alb an", + "▁G lo", + "▁Gl o", + "▁S pecies", + "▁Spe cies", + "▁Spec ies", + "▁F ame", + "▁Fa me", + "▁Fam e", + "▁R oll", + "▁Ro ll", + "▁Rol l", + "▁P uerto", + "▁\\ )", + "▁ \\)", + "ym nas", + "ymn as", + "en viron", + "▁i phone", + "▁Wrest ling", + "ał y", + "a ły", + "▁Ind iana", + "▁India na", + "▁Indian a", + "Rad io", + "V S", + "▁independ ence", + "та й", + "▁de code", + "▁dec ode", + "▁ decode", + "Wh ite", + "▁j ourn", + "▁jo urn", + "▁jou rn", + "▁jour n", + "ícul o", + "í culo", + "▁Bar b", + "▁Ba rb", + "▁Ev angel", + "▁An dy", + "▁And y", + "▁Wel come", + "▁De vice", + "▁Dev ice", + "▁ Device", + "ge f", + "g ef", + "▁remember ed", + "▁vari ations", + "▁variation s", + "▁Ad olf", + "it aine", + "ita ine", + "▁надмор ској", + "▁s team", + "▁ste am", + "▁concern s", + "▁` |", + "▁би о", + "тель ства", + "▁qu attro", + "ext end", + "▁trab ajo", + "▁trabaj o", + "en berg", + "▁scen arios", + "▁scenario s", + "ân t", + "â nt", + "▁kom mt", + "▁komm t", + "▁dom estic", + "▁B asketball", + "▁Co oper", + "so ck", + "s ock", + "дер жа", + "д ержа", + "={ \\", + "= {\\", + "▁in ici", + "▁P hill", + "▁Ph ill", + "▁Phil l", + "▁гене рал", + "archivi ato", + "ъ н", + "Ro b", + "R ob", + "▁t ong", + "▁to ng", + "▁ton g", + "▁character istics", + "▁characteristic s", + "▁a maz", + "▁am az", + "▁M ode", + "▁Mod e", + "▁Mo de", + "▁ Mode", + "▁inaug ur", + "we hr", + "ra nt", + "ran t", + "r ant", + "ion ali", + "ional i", + "iona li", + "▁M other", + "▁Mo ther", + "▁Mot her", + "M a", + "é qu", + "▁K elly", + "▁Kel ly", + "ci le", + "cil e", + "c ile", + "▁beste ht", + "▁estim ates", + "▁estimate s", + "rugu ay", + "▁A ns", + "▁An s", + "Ma d", + "M ad", + "▁на в", + "▁d onnées", + "▁donn ées", + "▁donné es", + "▁ données", + "▁trop ical", + "▁Sever al", + "el ter", + "elt er", + "elte r", + "▁P ho", + "▁Ph o", + "ke m", + "k em", + "▁Custom er", + "▁ Customer", + "▁скла ді", + "▁c ourses", + "▁course s", + "▁cours es", + "Pl atform", + "nav bar", + "le arning", + "lear ning", + "learn ing", + "▁Sw edish", + "▁z ast", + "▁za st", + "▁zas t", + "▁L ig", + "▁Li g", + "man agement", + "▁l od", + "▁lo d", + "uff le", + "Text ure", + "Te xture", + "ar ga", + "arg a", + "át um", + "▁D DR", + "ні ї", + "н ії", + "▁Soci été", + "▁dom ains", + "▁domain s", + "▁perm itted", + "▁permit ted", + "▁ex terne", + "▁ext erne", + "▁extern e", + "▁quel que", + "v t", + "ym an", + "y man", + "▁W ard", + "▁War d", + "▁Wa rd", + "▁ag li", + "▁ agli", + "▁and ra", + "▁an dra", + "▁ andra", + "S napshot", + "▁m å", + "▁ye ah", + "де на", + "ден а", + "д ена", + "ęp u", + "ę pu", + "ask ell", + "▁Ré publique", + "in ject", + "▁' ;", + "▁ ';", + "än n", + "ä nn", + "▁z elf", + "▁Ent wicklung", + "ár ia", + "á ria", + "on omy", + "ono my", + "onom y", + "▁s vil", + "▁sv il", + "ie se", + "ies e", + "i ese", + "▁con ser", + "▁cons er", + "▁conse r", + "▁n im", + "▁ni m", + "▁ nim", + "▁r ész", + "▁ré sz", + "▁rés z", + "▁И тали", + "▁part ici", + "▁partic i", + "▁parti ci", + "▁L ion", + "▁Li on", + "s r", + "al ways", + "▁Влади мир", + "че ские", + "[ ,", + "▁Def inition", + "▁ Definition", + "na nt", + "nan t", + "n ant", + "oe m", + "o em", + "Id s", + "I ds", + "▁в не", + "▁[ ...]", + "▁на прав", + "▁нап рав", + "▁G O", + "▁ GO", + "▁å rs", + "▁år s", + "▁ut án", + "▁out ros", + "▁reg ión", + "▁M ong", + "▁Mon g", + "▁Mo ng", + "▁fil me", + "▁film e", + "▁tri ple", + "▁trip le", + "▁sp ons", + "▁spo ns", + "De velop", + "▁out come", + "▁B ible", + "▁Bi ble", + "▁Bib le", + "▁и мени", + "▁име ни", + "▁имен и", + "Can vas", + "пу та", + "cur r", + "cu rr", + "c urr", + "ás ok", + "){ \\", + ") {\\", + "ning ar", + "` ;", + "▁Fl ash", + ": #", + "mu st", + "mus t", + "m ust", + "cp u", + "c pu", + "▁form ats", + "▁format s", + "▁forma ts", + "Ha r", + "H ar", + "▁epis odio", + "▁R osa", + "▁Ro sa", + "▁Ros a", + "▁d ès", + "em it", + "emi t", + "e mit", + "rit eria", + "rite ria", + "riter ia", + "An notation", + "Fl ag", + "F lag", + "g mail", + "▁N ormal", + "▁Nor mal", + "▁Norm al", + "▁ Normal", + "oll ary", + "ollar y", + "▁f oss", + "▁fo ss", + "▁fos s", + "▁con current", + "▁conc urrent", + "▁ concurrent", + "▁crash es", + "▁ви де", + "▁вид е", + "▁Min or", + "▁Mi nor", + "▁S it", + "▁Si t", + "▁S N", + "▁ SN", + "▁s car", + "▁sc ar", + "▁ scar", + "▁fe min", + "▁fem in", + "▁spec ification", + "▁specific ation", + "so ap", + "▁o perate", + "▁oper ate", + "▁opera te", + "▁principal mente", + "▁a ust", + "▁au st", + "▁aus t", + "ib ile", + "ibil e", + "it ime", + "iti me", + "i time", + "ле жа", + "if rame", + "i frame", + "▁concept s", + "▁conce pts", + "▁t ack", + "▁ta ck", + "▁v iss", + "▁vis s", + "▁vi ss", + "▁car bon", + "ter y", + "te ry", + "t ery", + "▁n aming", + "▁na ming", + "▁nam ing", + "▁Or ts", + "▁Ort s", + "id ente", + "ident e", + "iden te", + "▁Cap it", + "▁Ca pit", + "▁ex pr", + "▁exp r", + "▁ expr", + "▁насе љу", + "▁Select ed", + "▁Sel ected", + "▁Sele cted", + "▁ Selected", + "▁h inter", + "▁hint er", + "▁hin ter", + "▁i frame", + "▁if rame", + "▁ iframe", + "▁z b", + "index Path", + "col l", + "co ll", + "c oll", + "▁wr ześ", + "▁a cht", + "▁ac ht", + "▁ach t", + "▁ acht", + "▁grad ually", + "▁gradu ally", + "▁ч у", + "▁ чу", + "зе й", + "з ей", + "ha ft", + "h aft", + "▁t ran", + "▁tr an", + "▁tra n", + "▁la quelle", + "yt ics", + "ID E", + "I DE", + "▁py game", + "▁pyg ame", + "▁P ackage", + "▁Pack age", + "▁ Package", + "▁class Name", + "▁ className", + "B al", + "pe rl", + "per l", + "ти на", + "тин а", + "O cc", + "▁in frastr", + "▁Champion s", + "▁Champ ions", + "▁class ic", + "▁R aw", + "▁Ra w", + "▁ Raw", + "▁partial ly", + "▁parti ally", + "▁T ed", + "▁Te d", + "▁sto let", + "ra ined", + "rain ed", + "raine d", + "rai ned", + "r ained", + "WH ERE", + "W HERE", + "▁v all", + "▁val l", + "▁va ll", + "▁Jul ia", + "▁Ju lia", + "▁Juli a", + "za t", + "z at", + "▁surr ounded", + "SE E", + "S EE", + "▁walk ing", + "▁wal king", + "B ad", + "FO R", + "F OR", + "con tre", + "cont re", + "contr e", + "▁Pal est", + "▁Pale st", + "át ico", + "▁engine er", + "▁part ners", + "▁partner s", + "▁Je ws", + "▁Jew s", + "il ers", + "ile rs", + "iler s", + "i lers", + "▁c erem", + "▁ce rem", + "▁cer em", + "▁inter actions", + "▁interaction s", + "▁interact ions", + "ac u", + "a cu", + "st y", + "s ty", + "▁Prince ss", + "▁Prin cess", + "sh arp", + "sha rp", + "▁Sing les", + "▁Single s", + "▁ї х", + "ch ez", + "che z", + "c hez", + "Rece iver", + "Receive r", + "▁pat ients", + "▁patient s", + "string ify", + "▁compet ed", + "be y", + "b ey", + "$ ;", + "▁B d", + "had oop", + "h adoop", + "▁Div isión", + "öl d", + "ö ld", + "▁restrict ed", + "▁comm ander", + "▁command er", + "▁comma nder", + "▁High way", + "▁Č esk", + "▁m yth", + "▁my th", + "ча н", + "ч ан", + "ra ham", + "rah am", + "▁en qu", + "▁p og", + "▁po g", + "▁com una", + "▁comun a", + "▁print ln", + "▁ println", + "▁к руп", + "▁de pois", + "▁dep ois", + "▁se ats", + "▁sea ts", + "▁seat s", + "▁neigh b", + "ци она", + "цион а", + "ag ine", + "agi ne", + "agin e", + "▁cloth es", + "▁clo thes", + "▁P rior", + "▁Pr ior", + "▁Pri or", + "Br ain", + "Bra in", + "B rain", + "FF FF", + "': '", + "' :'", + "fe atures", + "feature s", + "▁file system", + "▁files ystem", + "▁sing les", + "▁single s", + "▁Mel bourne", + "▁dest ruction", + "▁destruct ion", + "▁destru ction", + "▁Ly on", + "▁In sel", + "▁Ins el", + "Na v", + "N av", + "▁Re place", + "▁Rep lace", + "▁ Replace", + "▁l é", + "▁ lé", + "Wh o", + "W ho", + "▁E stad", + "▁Est ad", + "▁Esta d", + "▁dim ensional", + "▁dimension al", + "▁ dimensional", + "▁ö ff", + "▁ öff", + "▁gr ands", + "▁gran ds", + "▁grand s", + "дж а", + "д жа", + "pl ane", + "plan e", + "pla ne", + "p lane", + "но сті", + "ност і", + "нос ті", + "▁Or igin", + "▁Ori gin", + "▁Orig in", + "▁ Origin", + "W I", + "än ner", + "änn er", + "▁C ry", + "▁Cr y", + "IT ION", + "▁fö dd", + "▁cult ura", + "▁R ank", + "▁Ran k", + "▁v uel", + "▁vue l", + "▁vu el", + "▁z ag", + "▁za g", + "▁Ma xim", + "▁Max im", + "он у", + "о ну", + "() ))", + "()) )", + "( )))", + "R aw", + "kir che", + "k irche", + "▁a demás", + "▁t ie", + "▁ti e", + "▁St yle", + "▁ Style", + "ско в", + "ск ов", + "с ков", + "ist ant", + "ista nt", + "istan t", + "ol ph", + "▁Z ür", + "▁In fo", + "▁Inf o", + "▁ Info", + "DO M", + "D OM", + "us c", + "u sc", + "na hm", + "nah m", + "▁Ф едера", + "▁F ot", + "▁Fo t", + "▁spec ifying", + "▁specify ing", + "▁tit olo", + "▁Bo ys", + "▁Boy s", + "ie ch", + "iec h", + "i ech", + "Pl ace", + "P lace", + "▁H off", + "▁Ho ff", + "▁Hof f", + "▁c ached", + "▁ca ched", + "▁cache d", + "ва ль", + "вал ь", + "в аль", + "is her", + "ish er", + "roll ing", + "rol ling", + "op ens", + "ope ns", + "open s", + "▁h r", + "▁ hr", + "-- ----", + "---- --", + "--- ---", + "----- -", + "- -----", + "▁mag gior", + "▁maggio r", + "▁trans actions", + "▁transaction s", + "▁c riminal", + "▁crim inal", + "▁re tre", + "▁ret re", + "▁retr e", + "▁Camp bell", + ")) :", + ") ):", + "▁n ed", + "▁ne d", + "▁ ned", + "Page r", + "Pa ger", + "P ager", + "▁H ero", + "▁He ro", + "▁Her o", + "(_ _", + "( __", + "▁un cle", + "▁re aches", + "▁reach es", + "ar to", + "art o", + "▁h ello", + "▁hel lo", + "▁hell o", + "▁ hello", + "Pre ferences", + "▁за тем", + "Name d", + "Na med", + "N amed", + "▁re aders", + "▁read ers", + "▁reader s", + "х і", + "ke rn", + "ker n", + "k ern", + "▁у по", + "ки н", + "к ин", + "▁l av", + "▁la v", + "▁ lav", + "▁n ob", + "▁no b", + "▁se cre", + "▁sec re", + "▁List View", + "▁ ListView", + "ва ния", + "▁May or", + "bo rough", + "bor ough", + "▁fil osof", + "не ння", + "нен ня", + "фр и", + "ф ри", + "▁p atr", + "▁pat r", + "▁pa tr", + "F M", + "▁a cid", + "▁ac id", + "▁Salv ador", + "▁a bb", + "▁ab b", + "▁ abb", + "▁G raham", + "▁Gra ham", + "pol icy", + "neg ative", + "ński ego", + "ń skiego", + "▁He imat", + "▁d azu", + "▁da zu", + "▁m ely", + "▁me ly", + "▁mel y", + "▁r ide", + "▁rid e", + "▁ri de", + "▁ ride", + "▁du ties", + "▁dut ies", + "ov ery", + "over y", + "ove ry", + "o very", + "▁Pro position", + "▁Prop osition", + "▁Pa olo", + "/ '", + "▁M au", + "▁Ma u", + "im enti", + "iment i", + "imen ti", + "Sa int", + "S aint", + "fa ther", + "f ather", + "▁equ ilib", + "ph ony", + "phon y", + "▁c las", + "▁cl as", + "▁cla s", + "▁от ли", + "▁Buffer ed", + "▁Buff ered", + "re k", + "r ek", + "▁m itt", + "▁mit t", + "▁mi tt", + "▁ mitt", + "▁H ur", + "▁Hu r", + "▁Har vard", + "▁demonstr ate", + "ua rio", + "u ario", + "▁do lor", + "▁dol or", + "▁reject ed", + "▁M üller", + "▁n ac", + "▁na c", + "▁B elle", + "▁Be lle", + "▁Bel le", + "▁Bell e", + "▁gather ed", + "n r", + "fr ika", + "fri ka", + "öl l", + "ö ll", + "▁chem ical", + "ni g", + "n ig", + "▁cal c", + "▁ calc", + "▁DE FAULT", + "▁ DEFAULT", + "▁philosoph y", + "▁Lar avel", + "▁al ignment", + "▁align ment", + "E V", + "e or", + "▁d zie", + "▁dz ie", + "▁ dzie", + "▁m est", + "▁me st", + "▁mes t", + "▁I o", + "CR E", + "C RE", + "з ви", + "▁M edic", + "▁Me dic", + "▁Med ic", + "▁Medi c", + "▁n ä", + "▁z ab", + "▁za b", + "▁S lov", + "▁Sl ov", + "▁Slo v", + "ut lich", + "▁am plit", + "▁ampl it", + "▁amp lit", + "▁Fran kreich", + "▁Frank reich", + "▁к іль", + "▁кі ль", + "IN D", + "I ND", + "exec ution", + "▁Kar riere", + "d ostęp", + "▁r éal", + "▁ré al", + "en go", + "eng o", + "▁se vere", + "▁sever e", + "зм а", + "з ма", + "▁тур ни", + "▁C arter", + "▁Car ter", + "▁Cart er", + "▁Rob inson", + "▁Robin son", + "getElement sBy", + "▁pro totype", + "▁proto type", + "▁ prototype", + "▁jap on", + "▁ja pon", + "führ ung", + "f ührung", + "▁con segu", + "▁cons egu", + "▁conse gu", + "▁st udi", + "▁stud i", + "▁l ire", + "▁li re", + "▁ lire", + "▁sch ließ", + "▁ schließ", + "▁B uff", + "▁Bu ff", + "▁red und", + "▁redu nd", + "▁e rn", + "▁er n", + "▁ ern", + "▁my ster", + "▁myst er", + "▁prop rio", + "▁propri o", + "ate ful", + "▁Par ent", + "▁Pa rent", + "▁ Parent", + "▁lad ies", + "ra ck", + "rac k", + "r ack", + "ти ка", + "тик а", + "en burg", + "▁каче стве", + "▁E F", + "▁ EF", + "▁st am", + "▁sta m", + "▁nue va", + "▁fil tered", + "▁filter ed", + "re ten", + "ret en", + "r eten", + "▁I an", + "▁Matt hew", + "▁Matth ew", + "ki h", + "k ih", + "▁ ő", + "▁ком пози", + "▁for ever", + "▁fore ver", + "oir es", + "oi res", + "oire s", + "o ires", + ":\\ \\", + ": \\\\", + "▁ét udes", + "▁s oup", + "▁so up", + "▁sou p", + "▁p leased", + "▁please d", + "▁ple ased", + ")} (", + ") }(", + "▁S top", + "▁St op", + "▁Sto p", + "▁ Stop", + "Set ter", + "S etter", + "▁He lp", + "▁Hel p", + "▁ Help", + "▁b ars", + "▁bar s", + "▁ba rs", + "▁ bars", + "▁ER R", + "▁ ERR", + "▁( ?", + "▁ (?", + "▁po etry", + "▁poet ry", + "▁U til", + "▁Ut il", + "▁ Util", + "A K", + "▁f ick", + "▁fi ck", + "▁fic k", + "▁I M", + "▁ IM", + "▁pro ud", + "▁pr oud", + "но си", + "нос и", + "▁m uerte", + "▁mu erte", + "▁Palmar ès", + "▁N as", + "▁Na s", + "щи х", + "щ их", + "▁qu er", + "▁que r", + "▁q uer", + "▁ quer", + "▁a penas", + "▁ap enas", + "][ '", + "] ['", + "▁Kon st", + "по н", + "п он", + "▁Sch iff", + "▁m p", + "▁ mp", + "▁б лаго", + "fr am", + "fra m", + "f ram", + "▁house hold", + "▁t ract", + "▁tr act", + "▁tra ct", + "▁trac t", + "enc oding", + "▁und ert", + "▁under t", + "▁ undert", + "▁A ug", + "▁Au g", + "ов ан", + "ова н", + "о ван", + "▁Ar ten", + "▁Art en", + "▁Arte n", + "▁inv oked", + "▁invoke d", + "▁d ynast", + "▁fle et", + "че ство", + "▁Mur ray", + "▁g ut", + "▁gu t", + "eli hood", + "▁S SH", + "▁SS H", + "от вет", + "▁person ally", + "▁personal ly", + "при я", + "п рия", + "▁fin anci", + "▁finan ci", + "▁Thom pson", + "al u", + "a lu", + "id entity", + "ident ity", + "▁G rab", + "▁Gr ab", + "▁Gra b", + "add le", + "É t", + "▁T ob", + "▁To b", + "▁ver lor", + "▁verl or", + "▁Saint e", + "▁Sa inte", + "▁Sain te", + "▁d op", + "▁do p", + "▁в ере", + "▁ве ре", + "▁вер е", + "__ _", + "_ __", + "▁prom otion", + "▁- =", + "▁от де", + "▁amb igu", + "▁ ambigu", + "OR DER", + "ORD ER", + "▁Comm unic", + "▁Commun ic", + "▁im ply", + "▁imp ly", + "▁impl y", + "on ed", + "one d", + "o ned", + "clud ing", + "▁coll ision", + "▁fragment s", + "▁frag ments", + "script ion", + "scri ption", + "s cription", + "▁' {", + "ля х", + "л ях", + "▁h ans", + "▁ha ns", + "▁han s", + "у с", + "wi re", + "w ire", + "name space", + "names pace", + "▁s word", + "▁sw ord", + "▁swo rd", + "ref resh", + "▁kw am", + "z s", + "comm ons", + "common s", + "▁c osa", + "▁co sa", + "▁cos a", + "▁reg ime", + "gr ep", + "gre p", + "g rep", + "▁di oc", + "▁dio c", + "▁Cont act", + "▁ Contact", + "▁est as", + "▁esta s", + "▁Ste wart", + "▁v iele", + "▁vi ele", + "▁vie le", + "▁viel e", + "то ва", + "тов а", + "т ова", + "▁R an", + "▁Ra n", + "an nes", + "ann es", + "anne s", + "id ay", + "ida y", + "i day", + "▁s napshot", + "▁snap shot", + "or row", + "orr ow", + "▁za č", + "▁участи е", + "▁prom ised", + "▁promise d", + "Ass embly", + "▁champion ship", + "▁champions hip", + "▁Def ine", + "▁e ren", + "▁er en", + "▁ere n", + "▁ eren", + "▁но во", + "▁н ово", + "▁нов о", + "▁ ново", + "▁th inks", + "▁think s", + "▁thin ks", + "Ag e", + "A ge", + "▁g ev", + "▁ge v", + "var char", + "v archar", + "iv ità", + "com pos", + "comp os", + "▁M utter", + "▁Mut ter", + "CO NT", + "CON T", + "arm ée", + "ag net", + "agn et", + "agne t", + "▁B row", + "▁Br ow", + "▁Bro w", + ". —", + "▁Tele vision", + "▁Д ля", + "▁v m", + "▁ vm", + "▁or din", + "▁ord in", + "▁ ordin", + "▁Миха й", + "▁apro xim", + "') ->", + "' )->", + "▁z oo", + "▁zo o", + "ip pi", + "ipp i", + "i ppi", + "▁s ino", + "▁si no", + "▁sin o", + "▁Qu ébec", + "ra ges", + "rag es", + "rage s", + "r ages", + "ä ck", + "ei ng", + "ein g", + "e ing", + "ar lo", + "pi os", + "pio s", + "p ios", + "▁C han", + "▁Ch an", + "▁Cha n", + "▁el li", + "▁ell i", + "▁ elli", + "▁in cons", + "▁inc ons", + "▁incon s", + "gest ellt", + "g estellt", + "pp ers", + "pper s", + "ppe rs", + "p pers", + "Je an", + "anst alt", + "▁D ance", + "▁Dan ce", + "▁to en", + "▁toe n", + "▁de cis", + "▁dec is", + "▁Ре зу", + "▁official ly", + "▁offici ally", + "ät ze", + "ätz e", + "▁до ро", + "▁e numer", + "▁en umer", + "▁enum er", + "▁trois ième", + "ty p", + "t yp", + "of fs", + "off s", + "бо ль", + "od n", + "o dn", + "▁Z ar", + "▁Za r", + "▁дру го", + "qu ia", + "qui a", + "▁Nicol as", + "▁Nic olas", + "▁Nicola s", + "пи су", + "пис у", + "▁m ob", + "▁mo b", + "pa ces", + "pace s", + "p aces", + "нь ого", + "ньо го", + "Al g", + "A lg", + "éro ï", + "Error s", + "Err ors", + "▁г ре", + "▁ гре", + "▁жен щи", + "in ch", + "inc h", + "▁Kore an", + "▁Korea n", + "▁A post", + "▁Ap ost", + "▁L iver", + "▁Li ver", + "▁Live r", + "▁Liv er", + "▁element ary", + "▁D I", + "▁ DI", + "ви си", + "▁so il", + "▁D LL", + "▁r isp", + "▁ris p", + "▁ri sp", + "▁Sh akespe", + "▁G aussian", + "▁K urt", + "▁Kur t", + "▁Ku rt", + "Ver tex", + "Vert ex", + "eb ol", + "e bol", + "organ isation", + "är en", + "äre n", + "ä ren", + "▁Y ES", + "▁ YES", + "C UR", + "▁нача ль", + "▁по стро", + "▁пос тро", + "▁Lu igi", + "▁c aching", + "prevent Default", + "am d", + "a md", + "▁V it", + "▁Vi t", + "sub st", + "su bst", + "▁ст рои", + "▁C ampion", + "▁Camp ion", + "ch r", + "c hr", + "фе ре", + "фер е", + "ф ере", + "▁С писок", + "N F", + "▁c ím", + "▁cí m", + "▁h é", + "▁ hé", + "re bbe", + "reb be", + "oc y", + "o cy", + "be low", + "bel ow", + "▁by lo", + "▁byl o", + "▁У и", + "▁\\ ({\\", + "▁\\( {\\", + "▁` :", + "▁ `:", + "gi ore", + "gio re", + "gior e", + "g iore", + "Sa n", + "S an", + "▁G ate", + "▁Ga te", + "▁в с", + "▁o limp", + "▁ol imp", + "▁Mat rix", + "▁ Matrix", + "▁he aring", + "▁hear ing", + "ri i", + "r ii", + "tf rac", + "t frac", + "▁allem and", + "▁V ue", + "л н", + "▁comp iling", + "▁E ns", + "▁En s", + "▁investig ation", + "▁A x", + "▁ch ars", + "▁char s", + "▁cha rs", + "▁target s", + "▁tar gets", + "▁l oud", + "▁lo ud", + "us ement", + "use ment", + "▁N ether", + "▁Ne ther", + "▁Net her", + "com merce", + "IG HT", + "oc oa", + "oco a", + "if ecycle", + "ife cycle", + "▁Le o", + "pr iv", + "p riv", + "▁go ods", + "▁good s", + "ad amente", + "ada mente", + "A ustral", + "▁re boot", + "▁reb oot", + "Ge st", + "G est", + "▁represent ations", + "▁representation s", + "ce u", + "c eu", + "▁do ctrine", + "ce rs", + "cer s", + "c ers", + "▁K rak", + "▁Kr ak", + "▁Kra k", + "▁adv oc", + "▁squad ra", + "▁arbeit ete", + "üs t", + "ü st", + "▁p ill", + "▁pi ll", + "▁pil l", + "An swer", + "▁к віт", + "▁W a", + "um ann", + "uman n", + "uma nn", + "u mann", + "▁D ynam", + "▁Dy nam", + "Fa mil", + "F amil", + "▁t ennis", + "▁ten nis", + "▁Engine ering", + "▁circ les", + "▁cir cles", + "▁circle s", + "▁Mary land", + "▁b esta", + "▁be sta", + "▁best a", + "▁bes ta", + "▁b ases", + "▁bas es", + "▁base s", + "▁znaj du", + "ктор а", + "кто ра", + "к тора", + "▁ar rest", + "▁arr est", + "ле р", + "л ер", + "▁G ia", + "▁Gi a", + "▁remark able", + "▁мо гу", + "▁Sup reme", + "▁` %", + "do r", + "d or", + "▁au jourd", + "▁w is", + "WID TH", + "▁mis ma", + "▁mism a", + "▁fl uid", + "▁flu id", + "▁pet ite", + "▁petit e", + "▁T ow", + "▁To w", + "Reg istry", + "em ed", + "eme d", + "e med", + "▁Wis consin", + "▁R acing", + "▁Ra cing", + "▁reg istration", + "▁registr ation", + "/ %", + "th ird", + "▁mon uments", + "▁monument s", + "че й", + "ч ей", + "▁j et", + "▁je t", + "▁ jet", + "▁Ur ban", + "ál va", + "▁mil ieu", + "▁poss ess", + "▁g erm", + "▁ge rm", + "▁ger m", + "dep endencies", + "▁enem ies", + "▁s amen", + "▁sa men", + "▁same n", + "▁sam en", + "▁W erner", + "▁Wer ner", + "▁h izo", + "▁hi zo", + "▁t d", + "▁ td", + "▁y esterday", + "▁А д", + "▁ha sn", + "▁has n", + "cel lation", + "cell ation", + "ov ání", + "ová ní", + "li ka", + "lik a", + "l ika", + "We ek", + "▁I ng", + "▁In g", + "▁E mail", + "▁Em ail", + "▁ Email", + "▁m ètres", + "▁O CLC", + "▁among st", + "▁spl end", + "fu r", + "f ur", + "ant ics", + "anti cs", + "antic s", + "▁X XX", + "▁XX X", + "▁ XXX", + "▁груп пы", + "la ch", + "lac h", + "l ach", + "▁c ousin", + "▁cou sin", + "▁in variant", + "▁invari ant", + "ђ у", + "▁Be ispiel", + "▁Bei spiel", + "▁hard er", + "▁har der", + "▁b ell", + "▁be ll", + "▁bel l", + "▁ bell", + "▁or ch", + "▁ orch", + "t b", + "Foot note", + "re gon", + "reg on", + "Mart in", + "▁in con", + "▁inc on", + "▁attack ed", + "_{ -", + "_ {-", + "▁T ras", + "▁Tr as", + "▁Tra s", + "par ty", + "part y", + "ite it", + "▁s aint", + "▁sa int", + "▁sain t", + "rás ok", + "r ások", + "▁contain ers", + "▁container s", + "M o", + "▁S n", + "quant ity", + "▁r as", + "▁ra s", + "▁ ras", + "▁C anal", + "▁Can al", + "▁Ca nal", + "cc ion", + "c cion", + "uv o", + "u vo", + "▁i dx", + "▁id x", + "▁ idx", + "type name", + "typen ame", + "typ ename", + "▁R ugby", + "▁Se ems", + "▁See ms", + "▁trans mit", + "▁transm it", + "▁Pr äsident", + "з не", + "▁B aker", + "▁Ba ker", + "▁Bak er", + "in th", + "int h", + "i nth", + "▁tö bb", + "ver ein", + "vere in", + "▁espe cie", + "▁espec ie", + ", (", + "▁t éc", + "▁té c", + "▁W ITH", + "▁u nos", + "▁un os", + "▁uno s", + "▁ unos", + "▁polit ics", + "create Element", + "▁st ats", + "▁stat s", + "▁sta ts", + "▁ stats", + "▁T ennessee", + "▁Bedeut ung", + "▁S creen", + "▁Sc reen", + "▁ Screen", + "▁Stra ße", + "an ze", + "anz e", + "▁part ly", + "man uel", + "ol ation", + "ola tion", + "o lation", + "hor izontal", + "érie ure", + "érieur e", + "am pio", + "amp io", + "▁ст рук", + "▁ струк", + "We ight", + "La nd", + "L and", + "po ly", + "pol y", + "p oly", + "▁D ak", + "▁Da k", + "▁Ass ume", + "\". $", + "\" .$", + "▁c asi", + "▁cas i", + "▁ca si", + "▁g ross", + "▁gr oss", + "▁gro ss", + "▁gros s", + "▁ent ertain", + "▁enter tain", + "▁déc ada", + "'. $", + "' .$", + "en cer", + "ence r", + "enc er", + "▁guarante ed", + "▁guarantee d", + "]$ .", + "] $.", + "ли ся", + "▁accept able", + "ra ise", + "rai se", + "rais e", + "ir us", + "i rus", + "we it", + "wei t", + "▁А на", + "▁Ан а", + "▁h ills", + "▁hill s", + "ip age", + "i page", + "BI T", + "B IT", + "▁nu cle", + "▁nuc le", + "▁ut ilis", + "▁util is", + "CA A", + "C AA", + "ène s", + "èn es", + "è nes", + "▁Schwe iz", + "▁A A", + "▁ AA", + "ning er", + "n inger", + "▁b ands", + "▁band s", + "▁ban ds", + "▁t ender", + "▁te nder", + "▁ten der", + "▁tend er", + "so m", + "s om", + "W arning", + "▁B ischof", + "▁A rc", + "▁Ar c", + "▁W oman", + "▁Wo man", + "▁trans mission", + "▁transm ission", + "ч ни", + "is tre", + "ist re", + "istr e", + "i stre", + "B Y", + "▁S I", + "▁ SI", + "▁П ар", + "▁Па р", + "▁} ).", + "▁}) .", + "▁ }).", + "▁present a", + "▁pres enta", + "▁Re né", + "▁Ren é", + "▁happ iness", + "▁P unk", + "col s", + "co ls", + "c ols", + "▁Des de", + "рё х", + "▁м она", + "▁мо на", + "▁scr atch", + "▁t cp", + "▁ tcp", + "ête s", + "êt es", + "ê tes", + "it ated", + "ita ted", + "itat ed", + "itate d", + "▁dif eren", + "▁difer en", + "ge h", + "g eh", + "na hmen", + "nah men", + "nahme n", + "nahm en", + "П е", + "ck i", + "c ki", + "▁Te atro", + "▁Re member", + "▁Rem ember", + "▁f right", + "▁fr ight", + "▁Y am", + "▁Ya m", + "west ern", + "le ted", + "let ed", + "lete d", + "▁в стре", + "▁вс тре", + "▁telep ülés", + "зи н", + "з ин", + "▁Qu ant", + "▁ Quant", + "▁su pre", + "▁sup re", + "áj a", + "á ja", + "ді я", + "д ія", + "▁car rera", + "▁carre ra", + "kre t", + "kr et", + "k ret", + "par a", + "pa ra", + "p ara", + "▁S UM", + "▁SU M", + "▁ SUM", + "▁p it", + "▁pi t", + "▁ pit", + "ź dz", + "é o", + "ре ння", + "рен ня", + "▁C hor", + "▁Ch or", + "▁Cho r", + "▁vo ix", + "▁exec utive", + "▁execut ive", + "▁all erdings", + "May be", + "▁д ень", + "▁де нь", + "▁f lying", + "▁fl ying", + "▁fly ing", + "▁par liament", + "жда н", + "ж дан", + "▁f ram", + "▁fr am", + "▁fra m", + "▁ fram", + "▁жов т", + "▁u gly", + "▁бу ду", + "ig ny", + "ign y", + "\\| _{", + "\\ |_{", + "▁b itter", + "▁bit ter", + "sc e", + "s ce", + "▁p ole", + "▁po le", + "▁pol e", + "▁ pole", + "Ver lag", + "▁total ité", + "▁found ation", + "j t", + "▁s lice", + "▁sl ice", + "▁sli ce", + "▁ slice", + "if ique", + "ifi que", + "▁integr ate", + "▁integra te", + "st rij", + "str ij", + "▁asym pt", + "▁е му", + "▁pert urb", + "▁F low", + "▁Fl ow", + "▁Flo w", + "▁ Flow", + "jb oss", + "RI G", + "R IG", + "▁A less", + "▁Al ess", + "▁Ale ss", + "XX X", + "X XX", + "▁s umm", + "▁su mm", + "▁sum m", + "sql ite", + "▁che er", + "pr ob", + "pro b", + "p rob", + "▁G PU", + "▁GP U", + "zi ł", + "z ił", + "(* )", + "( *)", + "▁in duct", + "▁ind uct", + "▁indu ct", + "RA Y", + "bl att", + "bla tt", + "qu esta", + "que sta", + "quest a", + "ques ta", + "or u", + "o ru", + "▁In side", + "▁Ins ide", + "▁Mc G", + "▁N ep", + "▁Ne p", + "м п", + "▁in ve", + "▁inv e", + "▁An imal", + "▁Anim al", + "▁s ob", + "▁so b", + "▁ sob", + "ít ott", + "loy ment", + "▁b und", + "▁bu nd", + "▁ bund", + "St ation", + "Stat ion", + "▁B EGIN", + "▁part iellement", + "ig g", + "i gg", + "est ore", + "esto re", + "e store", + "▁co inc", + "▁coin c", + "▁Som mer", + "▁m d", + "▁ md", + "▁loc ked", + "▁lock ed", + "▁ locked", + "math char", + "ar ma", + "arm a", + "pe nt", + "pen t", + "p ent", + "ar ium", + "ari um", + "a rium", + "▁e ars", + "▁ear s", + "▁ ears", + "▁S ongs", + "▁Son gs", + "▁Song s", + "▁similar ly", + "▁liter ally", + "▁literal ly", + "▁in ches", + "▁inc hes", + "▁af fection", + "▁aff ection", + "▁affect ion", + "l p", + "▁con cluded", + "▁conclude d", + "▁му ніципалі", + "▁па мя", + "est aur", + "esta ur", + "▁J osh", + "▁Jo sh", + "▁Jos h", + "▁F ritz", + "▁Fr itz", + "▁Fri tz", + "DB C", + "D BC", + "д ён", + "pos a", + "po sa", + "p osa", + "▁gold en", + "▁gol den", + "▁p c", + "▁ pc", + "▁com te", + "▁Z iel", + "▁Zie l", + "▁prés ente", + "▁présent e", + "mar ks", + "mark s", + "m arks", + "ig neur", + "ign eur", + "igne ur", + "▁D rive", + "▁Dr ive", + "▁neg lect", + "▁roz p", + "▁F ive", + "sp aces", + "space s", + "s paces", + "▁M edi", + "▁Me di", + "▁Med i", + "▁ex isted", + "▁exist ed", + "▁existe d", + "▁by ła", + "▁był a", + "дж и", + "д жи", + "▁fr ente", + "т ник", + "od d", + "o dd", + "▁answer ing", + "bi an", + "bia n", + "b ian", + "▁E ugen", + "▁Eu gen", + "▁Eug en", + "▁Public ations", + "▁Pub lications", + "▁D ia", + "▁Di a", + "l á", + "▁' _", + "▁ '_", + "▁rec uper", + "ом у", + "о му", + "▁App end", + "▁Ap pend", + "▁ Append", + "ob ar", + "oba r", + "o bar", + "▁employ ees", + "▁employee s", + "▁comp ens", + "eme tery", + "emet ery", + "▁э лект", + "MO N", + "M ON", + "ol in", + "oli n", + "o lin", + "▁histor ic", + "hi s", + "h is", + "ą d", + "n m", + "▁G oth", + "▁Go th", + "▁Got h", + "▁st ress", + "▁str ess", + "▁stre ss", + "▁parte cip", + "▁A w", + "▁s ar", + "▁sa r", + "▁h u", + "▁ hu", + "▁mat plotlib", + "▁M yst", + "▁My st", + "▁Mys t", + "() ;`", + "(); `", + "( );`", + "sch ein", + "sc hein", + "sche in", + "Long rightarrow", + "▁р я", + "▁ ря", + "▁Is ra", + "[ ^", + "no u", + "n ou", + "▁syn d", + "▁sy nd", + "work ing", + "wor king", + "▁N ation", + "▁Na tion", + "▁Nat ion", + "▁P ent", + "▁Pe nt", + "▁Pen t", + "▁k lass", + "▁kl ass", + "▁klas s", + "▁applic able", + "▁D iam", + "▁Di am", + "▁Dia m", + "▁bras ile", + "▁p ac", + "▁pa c", + "▁He ight", + "▁ Height", + "P ut", + "▁int ro", + "▁intr o", + "▁ intro", + "▁unus ual", + "na s", + "n as", + "▁Geb äude", + "▁be am", + "▁R ect", + "▁Re ct", + "▁Rec t", + "▁ Rect", + "▁Prim era", + "▁Prime ra", + "▁h aut", + "▁ha ut", + "▁t rait", + "▁tr ait", + "▁tra it", + "prü ft", + "in ación", + "ina ción", + "▁configuration s", + "▁configur ations", + "▁g ilt", + "▁gi lt", + "▁territ oire", + "he z", + "h ez", + "▁al te", + "▁alt e", + "rel ative", + "Ex cel", + "▁W right", + "G V", + "по ли", + "пол и", + "Qu ant", + "▁ga uge", + "▁gau ge", + "▁multi ply", + "▁multip ly", + "AS S", + "A SS", + "ствен но", + "ан у", + "а ну", + "▁j eden", + "▁je den", + "▁jed en", + "▁liter ary", + "▁D ro", + "▁Dr o", + "▁adv ise", + "▁advis e", + "it zen", + "itz en", + "▁dis ag", + "web site", + "▁д ія", + "▁ді я", + "▁ дія", + "▁ob server", + "▁obser ver", + "▁observ er", + "▁observe r", + "▁janu ár", + "v ě", + "ku p", + "k up", + "▁S es", + "▁Se s", + "▁woj ew", + "▁st ages", + "▁stage s", + "▁sta ges", + "▁stag es", + "▁вре мени", + "▁време ни", + "łu ż", + "но с", + "н ос", + "Down load", + "ip o", + "i po", + "▁g raf", + "▁gr af", + "▁gra f", + "▁ро бо", + "▁Nik ol", + "▁Ni kol", + "▁f ic", + "▁fi c", + "▁ fic", + "▁jo ining", + "▁join ing", + "▁divers os", + "▁LI KE", + "▁F itz", + "▁d imin", + "▁di min", + "▁dim in", + "▁dist rib", + "Sa m", + "S am", + "ko z", + "k oz", + "▁al phabet", + "▁alpha bet", + "os er", + "ose r", + "o ser", + "OU R", + "O UR", + "uk a", + "u ka", + "ка я", + "▁ste el", + "▁` --", + "▁`- -", + "▁t ener", + "▁te ner", + "▁ten er", + "mar ker", + "mark er", + "▁He aven", + "new command", + "▁prison ers", + "▁prisoner s", + "▁K night", + "▁Kn ight", + "▁present s", + "▁pres ents", + "▁qu esti", + "▁quest i", + "▁tr ains", + "▁tra ins", + "▁train s", + "op era", + "ope ra", + "oper a", + "▁Li near", + "▁Lin ear", + "▁Line ar", + "▁ Linear", + "▁M E", + "▁ ME", + "▁B uc", + "▁Bu c", + "Le g", + "L eg", + "▁ag ua", + "▁ agua", + "▁Gr iff", + "ol g", + "o lg", + "ds t", + "d st", + ". \r", + "▁person es", + "▁pers ones", + "▁persone s", + "Ma l", + "M al", + "бе ре", + "бер е", + "б ере", + "fol ge", + "folg e", + "▁ac ab", + "ct u", + "c tu", + "pt ic", + "▁N avigation", + "▁ Navigation", + "R uss", + "га ль", + "г аль", + "▁F ul", + "▁Fu l", + "▁ма є", + "чна я", + "ч ная", + "wn er", + "w ner", + "con tra", + "cont ra", + "contr a", + "▁jou eur", + "▁joue ur", + "▁J ess", + "▁Je ss", + "▁Jes s", + "▁re new", + "▁ren ew", + "▁l ap", + "▁la p", + "▁ lap", + "▁cas ting", + "▁cast ing", + "ga l", + "g al", + "▁tém atu", + "▁на зыва", + "за х", + "ч не", + ")- \\", + ") -\\", + "▁ча сто", + "▁час то", + "▁част о", + "}$ -", + "} $-", + "▁l icz", + "▁li cz", + "▁lic z", + "▁e mot", + "▁em ot", + "ha rm", + "har m", + "h arm", + "▁occasion ally", + "▁hor ror", + "▁ho rror", + "ea st", + "e ast", + "▁pr inter", + "▁print er", + "▁prin ter", + "ar an", + "ara n", + "a ran", + "▁Miss iss", + "fol low", + "f ollow", + "▁Bar ry", + "▁investig ate", + "go w", + "g ow", + "▁Amer icans", + "▁American s", + "▁America ns", + "S ince", + "▁від о", + "▁ві до", + "▁re un", + "os ci", + "osc i", + "o sci", + "▁Ch apter", + "▁Chap ter", + "▁b ay", + "▁ba y", + "▁ bay", + "ро ме", + "ром е", + "et he", + "eth e", + "e the", + "éd ie", + "é die", + "com ot", + "co mot", + "como t", + "▁miejs cowo", + "▁stud ierte", + "▁studi erte", + "ou vert", + "ouv ert", + "ouve rt", + "ouver t", + "▁к ур", + "▁ку р", + "▁ кур", + "▁DE SC", + "▁DES C", + "▁touch ed", + "▁tou ched", + "▁Jer ry", + "ue se", + "ues e", + "u ese", + "ли ще", + "auth entication", + "authentic ation", + "▁col le", + "▁co lle", + "▁coll e", + "he art", + "▁reg iment", + "▁regime nt", + "cri bed", + "cribe d", + "▁Бо ль", + "▁про ис", + "ce ae", + "▁mass es", + "▁sc rolling", + "▁scroll ing", + "us to", + "ust o", + "u sto", + "S W", + "ov at", + "ova t", + "o vat", + "▁gr âce", + "▁Архи в", + "▁Се вер", + "av ait", + "ava it", + "▁Marsh all", + "▁Mars hall", + "▁Hash Map", + "▁ HashMap", + "ac on", + "aco n", + "a con", + "ück en", + "ücke n", + "ü cken", + "[] )", + "[ ])", + "▁ev angel", + "et zung", + "etz ung", + "tt emberg", + "st ers", + "ste rs", + "ster s", + "s ters", + "T M", + "▁ли тера", + "qu ot", + "Pr ed", + "Pre d", + "P red", + "▁w erk", + "▁wer k", + "▁ werk", + "▁ha ber", + "▁hab er", + "▁habe r", + "la va", + "lav a", + "l ava", + "vo us", + "v ous", + "▁L ate", + "▁La te", + "▁Lat e", + "cy cle", + "cyc le", + "c ycle", + "ти рова", + "▁про ду", + "▁прод у", + "▁pop ulations", + "▁population s", + "▁popul ations", + "▁Y an", + "▁Ya n", + "Pre fix", + "P refix", + "actér istiques", + "+ '", + "() `](", + "()` ](", + "▁Л ь", + "фи ль", + "▁жи зни", + "ft p", + "f tp", + "▁все х", + "▁g dzie", + "▁v idea", + "▁vid ea", + "▁vide a", + "oa uth", + "o auth", + "▁p id", + "▁pi d", + "▁ pid", + "ů m", + "▁p esso", + "▁pes so", + "▁track ing", + "▁trac king", + "iz in", + "izi n", + "i zin", + "▁Mor ris", + "щи й", + "▁Provin z", + "▁M itte", + "▁Mit te", + "▁Mi tte", + "▁Mitt e", + "▁artific ial", + "bráz ky", + "▁до сти", + "▁rest ored", + "▁restore d", + "▁resto red", + "▁commun icate", + "▁communic ate", + "ag it", + "agi t", + "a git", + "Rec ogn", + "▁l on", + "▁lo n", + "▁ lon", + "▁за ня", + "▁зан я", + "▁Arg ument", + "▁ Argument", + "fl ush", + "flu sh", + "ма на", + "ман а", + "м ана", + "sec onds", + "second s", + "U C", + "▁R uth", + "▁Ru th", + "▁t ub", + "▁tu b", + "▁B ret", + "▁Br et", + "▁Bre t", + "▁P ere", + "▁Per e", + "▁Pe re", + "▁respons ibility", + "ńcz y", + "ń czy", + "▁environment s", + "▁environ ments", + "ke e", + "k ee", + "▁g root", + "▁gr oot", + "▁gro ot", + "▁pain ted", + "▁paint ed", + "▁Éd itions", + "cp y", + "c py", + "ár t", + "á rt", + "lich keit", + "ar da", + "ard a", + "B atch", + "▁Leop old", + "re ason", + "rea son", + "reas on", + "n oreferrer", + "se ns", + "sen s", + "s ens", + "▁ro cks", + "▁rock s", + "▁Hit ler", + "ла т", + "л ат", + "▁qu oted", + "▁quot ed", + "▁quote d", + "▁ко лле", + "▁у ров", + "ba g", + "b ag", + ".\" )", + ". \")", + "▁M L", + "▁ ML", + "▁kom t", + "▁ko mt", + "▁[ _", + "▁ [_", + "▁spect ral", + "ed o", + "e do", + "▁in sieme", + "▁suffer ing", + "▁suff ering", + "sl ider", + "slide r", + "▁Kenn edy", + "ol ate", + "ola te", + "o late", + "▁P atri", + "▁Pa tri", + "▁Pat ri", + "зи и", + "O H", + "▁те а", + "▁пра ва", + "▁прав а", + "ма х", + "re write", + "rew rite", + "r ewrite", + "▁Eins atz", + "ex ternal", + "ext ernal", + "hol ds", + "hold s", + "h olds", + "▁P laces", + "▁Pl aces", + "▁Pla ces", + "▁Place s", + "at ype", + "aty pe", + "a type", + "▁vul ner", + "▁abandon ed", + "Or igin", + "Ori gin", + "▁max imal", + "▁maxim al", + "AA AA", + "▁Base ball", + "▁C lose", + "▁Cl ose", + "▁Clo se", + "▁ Close", + "▁pa inter", + "▁pain ter", + "▁paint er", + "▁assign ing", + "N B", + "bl ast", + "bla st", + "b last", + "▁K ünstler", + ")] (", + ") ](", + "fa ch", + "fac h", + "f ach", + "▁Const antin", + "▁Constant in", + "ok es", + "oke s", + "o kes", + "▁no body", + "▁nob ody", + "▁subt ract", + "▁fos se", + "▁foss e", + "▁cert ific", + "▁m use", + "▁mus e", + "▁mu se", + "/) ,", + "/ ),", + "▁Pro fil", + "▁Prof il", + "▁pro xim", + "▁Jer usalem", + "▁simp licity", + "▁simpl icity", + "▁w sz", + "▁ws z", + "NUM BER", + "utt avia", + "U ITableView", + "ich ter", + "icht er", + "ichte r", + "i chter", + "жа н", + "ж ан", + "▁L av", + "▁La v", + "it chen", + "itch en", + "▁Ч ем", + "▁Че м", + "T u", + "▁ge om", + "▁zv uky", + "▁Sur vey", + "AN CE", + "▁enc rypted", + "▁encrypt ed", + "pr of", + "pro f", + "▁d are", + "▁da re", + "▁dar e", + "▁L oren", + "▁Lo ren", + "▁Lor en", + "т в", + "▁А лек", + "▁Ал ек", + "▁comput ers", + "▁computer s", + "▁compute rs", + "▁expect ation", + "▁substant ial", + "▁Д ми", + "▁` {", + "▁д ра", + "▁др а", + "▁ дра", + "ub ble", + "▁per forms", + "▁perform s", + "▁Kr ieg", + "▁Krie g", + "▁in coming", + "▁inc oming", + "▁Class ification", + "Web View", + "▁epis odes", + "▁episode s", + "ap per", + "app er", + "appe r", + "a pper", + "äu fig", + "▁gi ov", + "▁De part", + "▁Dep art", + "бо ра", + "бор а", + "ed ly", + "os pod", + "osp od", + "▁p tr", + "▁pt r", + "▁ ptr", + "▁d átum", + "▁est imation", + "▁estim ation", + "ic ole", + "ico le", + "icol e", + "i cole", + "▁- ---", + "▁-- --", + "▁--- -", + "▁ ----", + "▁prin ces", + "▁prince s", + "HE AD", + "▁diff usion", + "▁diffus ion", + "▁d rie", + "▁dr ie", + "▁dri e", + "▁A da", + "▁Ad a", + "ни це", + "ниц е", + "ng inx", + "n ginx", + "sh al", + "sha l", + "s hal", + "▁febru ari", + "▁T at", + "▁Ta t", + "lo oking", + "look ing", + "ku nd", + "k und", + "▁De an", + "m ongodb", + "вши х", + "в ших", + "▁A ur", + "▁Au r", + "▁Fl ora", + "▁Flor a", + "▁Flo ra", + "▁Stud ios", + "▁Studio s", + "ци је", + "ei l", + "e il", + "Inst all", + "▁f ranch", + "▁fr anch", + "▁fran ch", + "▁franc h", + "▁H MS", + "▁pract ices", + "▁practice s", + "le j", + "l ej", + "da le", + "dal e", + "d ale", + "▁po ste", + "▁pos te", + "▁post e", + "▁H els", + "▁He ls", + "▁Hel s", + "▁reli able", + "źdz ier", + "▁ver se", + "▁vers e", + "▁ verse", + "er meister", + "erme ister", + "▁qu it", + "▁qui t", + "▁q uit", + "▁ quit", + "ét ico", + "il is", + "ili s", + "i lis", + "ed or", + "edo r", + "e dor", + "▁Cult ural", + "▁Cultura l", + "дж е", + "д же", + "▁li ked", + "▁like d", + "▁lik ed", + "▁m ongodb", + "▁mongo db", + "▁ mongodb", + "▁Broad way", + "▁I R", + "▁ IR", + "es zt", + "esz t", + "ho v", + "h ov", + "▁m íst", + "▁mí st", + "re iche", + "reich e", + "rei che", + "▁k B", + "ст ом", + "сто м", + "с том", + "▁SQL ite", + "▁tor neo", + "\\ .", + "Or d", + "O rd", + "▁Admin istration", + "▁Administr ation", + "▁з да", + "▁ зда", + "▁H inter", + "▁Hin ter", + "▁V ia", + "▁Vi a", + "Dec imal", + "or ious", + "ori ous", + "orio us", + "▁nécess aire", + "w x", + "▁t ej", + "▁te j", + "▁t ema", + "▁te ma", + "▁tem a", + "O brázky", + "ри те", + "рит е", + "▁build s", + "▁l aten", + "▁la ten", + "▁lat en", + "▁late n", + "▁г г", + "Vis ibility", + "lä u", + "l äu", + "▁se chs", + "▁sec hs", + "▁лу ч", + "ce ra", + "cer a", + "c era", + "Co uld", + "C ould", + "▁tra ject", + "}} ^{", + "}}^ {", + "} }^{", + "▁Jap on", + "▁Ja pon", + "an other", + "ano ther", + "I K", + "▁belong ing", + "▁fac ilities", + "▁facil ities", + "▁D aily", + "▁Da ily", + "▁de ce", + "▁dec e", + "int ro", + "▁слу ча", + "Name space", + "Names pace", + "▁B ak", + "▁Ba k", + "loc ale", + "local e", + "U G", + "=$ {", + "= ${", + "▁comp añ", + "ją c", + "j ąc", + "▁ar ithmetic", + "fo rum", + "for um", + "f orum", + "▁por ta", + "▁port a", + "on k", + "▁g ender", + "▁ge nder", + "▁gen der", + "▁ gender", + "▁expect s", + "б ка", + "▁n ak", + "▁na k", + "▁ nak", + "▁G race", + "▁Gr ace", + "▁Gra ce", + "▁st ro", + "▁str o", + "ivid ual", + "▁C OM", + "▁CO M", + "▁ COM", + "▁F arm", + "▁Fa rm", + "▁Far m", + "▁c anton", + "▁can ton", + "▁cant on", + "то му", + "том у", + "т ому", + "java x", + "jav ax", + "се й", + "с ей", + "▁brief ly", + "Fa ce", + "F ace", + "rot ate", + "const ant", + "▁g allery", + "▁gall ery", + "ast ro", + "astr o", + "all ery", + "alle ry", + "aller y", + "▁D J", + "char ge", + "charg e", + "ходи ть", + "ходит ь", + "C ent", + "\\\" ,", + "\\ \",", + "▁d onna", + "▁don na", + "▁donn a", + "ar ca", + "arc a", + "la de", + "lad e", + "l ade", + "zi n", + "z in", + "▁N ed", + "▁Ne d", + "▁host ing", + "▁hos ting", + "id or", + "ido r", + "i dor", + "it ative", + "itat ive", + "ig s", + "i gs", + "▁п ря", + "▁пр я", + "▁t icket", + "▁tick et", + "▁ti cket", + "▁stud ying", + "▁study ing", + "▁des igner", + "▁design er", + "lap sed", + "lapse d", + "laps ed", + "l apsed", + "▁la at", + "▁d ix", + "▁di x", + "▁integr ated", + "▁integrate d", + "▁integra ted", + "▁in formed", + "▁inform ed", + "▁be have", + "▁beh ave", + "▁behav e", + "▁la bour", + "▁lab our", + "est ellt", + "cal endar", + "▁k illing", + "▁kil ling", + "▁kill ing", + "▁tw itter", + "▁ twitter", + "ia e", + "i ae", + "▁histor ique", + "DE FAULT", + "ia ła", + "iał a", + "i ała", + "▁theoret ical", + "▁un ders", + "▁und ers", + "▁under s", + "ля ет", + "at an", + "ata n", + "a tan", + "▁s urname", + "▁sur name", + "▁inter cept", + "гла сно", + "▁општи ни", + "▁t ired", + "▁tir ed", + "▁ti red", + "▁B eth", + "▁Be th", + "▁Bet h", + "▁ад министратив", + "L i", + "▁Т ур", + "▁Ту р", + "▁Sc anner", + "▁S tern", + "▁St ern", + "▁Ste rn", + "▁Ster n", + "▁вме сте", + "▁report ing", + "▁s ull", + "▁su ll", + "▁sul l", + "ци ей", + "ber ts", + "bert s", + "og onal", + "ogo nal", + "ő k", + "▁i psum", + "▁ip sum", + "▁seu lement", + "▁seul ement", + "▁seule ment", + "▁Se iten", + "▁Seit en", + "▁Seite n", + "word press", + "▁fe aturing", + "ist ischen", + "isti schen", + "istische n", + "ju b", + "j ub", + "▁é tr", + "▁ét r", + "▁ étr", + "▁t ea", + "▁te a", + "▁adapt ed", + "▁sc ales", + "▁scale s", + "▁scal es", + "▁n an", + "▁na n", + "▁ nan", + "get Value", + "▁Bl ues", + "▁Blue s", + "ac les", + "acle s", + "a cles", + "▁st ati", + "▁stat i", + "▁sta ti", + "▁ent itled", + "▁R alph", + "gra vity", + "▁entre pr", + "któ ber", + "li mat", + "lim at", + "l imat", + "li s", + "l is", + "De mo", + "D emo", + "re lation", + "rel ation", + "▁n ep", + "▁ne p", + "pro wad", + "it is", + "iti s", + "i tis", + "▁p up", + "▁pu p", + "neh mer", + "nehm er", + "▁disapp oint", + "▁et was", + "▁etwa s", + "an non", + "ann on", + "anno n", + "▁appro ved", + "▁cl ever", + "▁cle ver", + "Lo ading", + "Load ing", + "▁ver z", + "▁ve rz", + "res se", + "ress e", + "r esse", + "▁insp ir", + "▁sam pling", + "▁B ek", + "▁Be k", + "}) $.", + "})$ .", + "} )$.", + "▁г рома", + "▁spe cie", + "▁spec ie", + "▁re pub", + "▁rep ub", + "▁lo ader", + "▁load er", + "▁ loader", + "▁e rf", + "▁er f", + "▁should er", + "ra is", + "rai s", + "r ais", + "▁ма те", + "▁мат е", + "▁Mon th", + "▁Mont h", + "▁Mo nth", + "▁ Month", + "Sc ene", + "▁block ing", + "▁o cean", + "ge ben", + "geb en", + "g eben", + "▁Kil ometer", + "▁b edeut", + "▁M ix", + "▁Mi x", + "fm t", + "f mt", + "▁Nor weg", + "▁ID s", + "par allel", + "▁ant icip", + "▁anti cip", + "▁re vis", + "▁rev is", + "ха н", + "х ан", + "▁с вет", + "▁све т", + "CA SE", + "C ASE", + "▁f ührt", + "▁führ t", + "▁ führt", + "▁at omic", + "▁atom ic", + "▁ atomic", + "▁dark ness", + "▁Fußball spieler", + "▁Ж и", + "quis ition", + "▁S ieg", + "▁Sie g", + "▁Si eg", + "C irc", + "▁c ientí", + "ne lle", + "nel le", + "nell e", + "n elle", + "SH A", + "S HA", + "▁u rb", + "▁ur b", + "▁ urb", + "▁k si", + "leq slant", + "▁ф рон", + "▁de fect", + "▁def ect", + "▁defe ct", + "▁r á", + "▁ rá", + "▁strong er", + "▁p ł", + "▁commun ities", + "ни на", + "нин а", + "en as", + "ena s", + "e nas", + "ienne nt", + "ienn ent", + "▁safe ly", + "▁saf ely", + "▁т я", + "▁ тя", + "▁ben chmark", + "▁Bra un", + "method s", + "arg ument", + "vo s", + "v os", + "ob ox", + "o box", + "ро ви", + "ров и", + "р ови", + "▁recher che", + "m n", + "▁br ings", + "▁bring s", + "m achine", + "CE SS", + "CES S", + "host s", + "hos ts", + "▁N Y", + "Aut ow", + "Auto w", + "▁сов ремен", + "▁G ary", + "▁Gar y", + "▁Ga ry", + "▁s ensor", + "▁sens or", + "▁document ed", + "▁pr endre", + "▁prend re", + "▁pe er", + "en ix", + "eni x", + "ha i", + "h ai", + "ar be", + "цен т", + "ц ент", + "_ (", + "▁U RI", + "▁ URI", + "ев а", + "е ва", + "▁Re gie", + "▁Reg ie", + "▁Mon ument", + "▁onder werp", + "B ag", + "ti t", + "t it", + "▁st ir", + "▁n erv", + "▁ne rv", + "▁ner v", + "стор ія", + "▁s ov", + "▁so v", + "▁writ ers", + "▁write rs", + "▁writer s", + "▁sort s", + "▁sor ts", + "ab solute", + "▁difficult ies", + "▁par lament", + "▁parl ament", + "▁IE numerable", + "▁dis sol", + "▁diss ol", + "▁CH ECK", + "ar ina", + "ari na", + "arin a", + "in burgh", + "D M", + "▁e ind", + "▁ein d", + "▁bud get", + "▁cert ains", + "▁certain s", + "▁för sta", + "▁först a", + "an ja", + "a nja", + "▁го дов", + "▁год ов", + "▁т ек", + "▁те к", + "▁ тек", + "▁D uch", + "▁Du ch", + "▁Duc h", + "gu i", + "g ui", + "▁Te ams", + "▁Team s", + "▁мно ги", + "Mar ie", + "Ma rie", + "M arie", + "In tegr", + "Int egr", + "Thread Pool", + "ru st", + "rus t", + "r ust", + "í k", + "% \"", + "en f", + "sp l", + "s pl", + "▁be gun", + "▁beg un", + "lo u", + "l ou", + "▁Rewrite Rule", + "tu ple", + "ane ous", + "▁mar ine", + "▁mari ne", + "▁ marine", + "at tan", + "att an", + "atta n", + "ik al", + "ika l", + "i kal", + "▁gradu ated", + "il lé", + "ill é", + "▁про ве", + "▁пров е", + "▁пр ове", + "▁Р оз", + "▁Ро з", + "', \r", + "' ,\r", + "▁Pf arr", + "▁n ivel", + "▁ni vel", + "▁пра цю", + "mus ic", + "▁set Timeout", + "ER S", + "E RS", + "▁E rik", + "▁Er ik", + "pi t", + "p it", + "▁Х ро", + "▁p ił", + "▁pi ł", + "▁p eri", + "▁per i", + "▁pe ri", + "до к", + "д ок", + "us zt", + "usz t", + "▁B ear", + "▁Be ar", + "Class Name", + "▁Par lament", + "▁a ix", + "▁ai x", + "▁inv ited", + "▁P ATH", + "▁PA TH", + "▁ PATH", + "xt er", + "x ter", + "▁R ace", + "▁Ra ce", + "▁h echo", + "▁he cho", + "▁T ower", + "▁To wer", + "▁Tow er", + "▁u tf", + "▁ut f", + "▁ utf", + "act ly", + "▁бу де", + "▁ang les", + "▁angle s", + "▁ angles", + "ня я", + "ouv elles", + "ouve lles", + "ouvel les", + "ouvelle s", + "▁cl imate", + "▁cli mate", + "▁clim ate", + "▁sing ing", + "▁sin ging", + "▁navig ate", + ">' ;", + "> ';", + "ad ows", + "ado ws", + "adow s", + "▁l eta", + "▁le ta", + "▁let a", + "▁S itz", + "▁Si tz", + "▁Sit z", + "▁part itions", + "▁partition s", + "▁d ock", + "▁do ck", + "▁doc k", + "▁ż y", + "▁ ży", + "▁alloc ate", + "▁benef its", + "▁benefit s", + "▁n ieder", + "▁nie der", + "▁ni eder", + "xp ath", + "x path", + "me ck", + "äl le", + "äll e", + "ä lle", + "▁cou pling", + "▁coup ling", + "жи л", + "ж ил", + "For Key", + "ar gent", + "arg ent", + "cl ou", + "clo u", + "c lou", + "▁instru ments", + "▁instrument s", + "▁ent hus", + "▁m ég", + "▁mé g", + "▁Па в", + "▁R ach", + "▁Ra ch", + "-- ---", + "---- -", + "--- --", + "- ----", + "▁API s", + "▁AP Is", + "▁V ier", + "▁Vi er", + "▁Vie r", + "C md", + "it ore", + "ito re", + "itor e", + "▁C uba", + "▁Cu ba", + "▁Cub a", + "▁dátum mal", + "▁embed ding", + "std io", + "▁Gil bert", + "▁ge prüft", + "▁st ating", + "▁stat ing", + "▁sta ting", + "▁stati ng", + "▁trigger s", + "▁trig gers", + "+ =", + "▁spé cial", + "▁del iber", + "▁deli ber", + "ми н", + "м ин", + "Pro du", + "Pr odu", + "P rodu", + "▁St ati", + "▁Stat i", + "▁Sta ti", + "▁z us", + "▁zu s", + "kt ionen", + "ktion en", + "Dispatch er", + "id al", + "ida l", + "i dal", + "▁L P", + "▁ LP", + "op tera", + "opt era", + "opter a", + "▁e star", + "▁est ar", + "▁es tar", + "▁esta r", + "▁зна чи", + "с мо", + "ous es", + "ouse s", + "o uses", + "eng ono", + "engo no", + "▁W PF", + "pub lish", + "▁t eor", + "▁te or", + "el if", + "eli f", + "▁e rg", + "▁er g", + "▁ erg", + "▁separ ation", + "Pa n", + "P an", + "▁Or chestra", + "Pe ter", + "P eter", + "bound s", + "b ounds", + "▁Shakespe are", + "▁cant ante", + "▁d emi", + "▁de mi", + "▁dem i", + "▁Pop ular", + "ф р", + "ar ring", + "arr ing", + "ци н", + "ц ин", + "▁И с", + "vo n", + "v on", + "▁subst itution", + "▁lí nea", + "\\}$ .", + "\\} $.", + "\\ }$.", + "com o", + "co mo", + "c omo", + "▁ва ж", + "wa gen", + "w agen", + "▁rare ly", + "▁period s", + "▁peri ods", + "gl ob", + "g lob", + "▁F rid", + "▁Fr id", + "▁Fri d", + "▁T err", + "▁Te rr", + "▁Ter r", + "▁Re lease", + "▁ Release", + "Brain z", + "▁гра ф", + "▁ граф", + "DI S", + "D IS", + "compat ible", + "▁po č", + "LI N", + "L IN", + "▁K ällor", + "▁A rizona", + "pp y", + "p py", + "Se q", + "S eq", + "▁A in", + "▁T ourn", + "▁To urn", + "▁Tour n", + "br ow", + "bro w", + "b row", + "▁K ör", + "▁Kö r", + "▁a sh", + "▁as h", + "▁ ash", + "ogene ous", + "▁dia lect", + "▁насе ља", + "mysql i", + "mysq li", + "цо в", + "ц ов", + "▁f lor", + "▁fl or", + "▁flo r", + "▁ф ло", + "IA B", + "I AB", + "▁With in", + "▁Wit hin", + "^ (", + "▁b ois", + "▁bo is", + "▁t ank", + "▁tan k", + "▁aff ili", + "▁h ijo", + "▁hij o", + "▁hi jo", + "▁K ate", + "▁Kat e", + "▁Ka te", + "▁Ver l", + "▁Ve rl", + "▁M iami", + "▁Mi ami", + "▁type script", + "▁types cript", + "њ у", + "▁V ern", + "▁Ver n", + "▁Ve rn", + "▁ви со", + "ie mann", + "iem ann", + "i emann", + "▁co verage", + "▁cover age", + "br ie", + "b rie", + "▁Start ing", + "▁Star ting", + "num py", + "▁J enkins", + "▁Jen kins", + "▁k ét", + "▁ké t", + "▁g rup", + "▁gr up", + "▁gru p", + "▁S cient", + "▁Sc ient", + "▁Sci ent", + "▁inter rupt", + "▁b lob", + "▁bl ob", + "▁blo b", + "▁ blob", + "ug el", + "uge l", + "u gel", + "▁Or th", + "▁Ort h", + "ab ama", + "aba ma", + "▁B apt", + "▁Ba pt", + "ow nik", + "own ik", + "▁бы ть", + "▁Jul ius", + "▁Ju lius", + "▁Juli us", + "▁П рез", + "▁Пре з", + "▁subst itute", + "support ed", + "supp orted", + "ch y", + "c hy", + "egy zetek", + "▁Per formance", + "▁Perform ance", + "less ly", + "Con structor", + "▁ext ending", + "▁extend ing", + "▁Mus lim", + "Over flow", + "▁J enn", + "▁Je nn", + "▁Jen n", + "▁produ z", + "▁prod uz", + "мі ї", + "м ії", + "▁país es", + "▁e ux", + "▁eu x", + "▁f ate", + "▁fa te", + "▁fat e", + "ol oge", + "olog e", + "olo ge", + "у к", + "▁wo bei", + "▁wob ei", + "▁S achsen", + "▁Sach sen", + "▁са йт", + "▁сай т", + "Mod els", + "Model s", + "Mode ls", + "▁F ast", + "▁Fa st", + "bes ondere", + "▁F R", + "▁ FR", + "▁a con", + "▁ac on", + "▁ acon", + "▁Den kmal", + "▁an ch", + "▁anc h", + "▁ anch", + "▁públic o", + "▁T as", + "▁Ta s", + "▁c and", + "▁can d", + "▁ca nd", + "▁pa ździer", + "▁М он", + "▁Мо н", + "▁vers us", + "ru t", + "r ut", + "G T", + "▁insert ing", + "▁inser ting", + "▁can ad", + "▁ca nad", + "є м", + "▁M etro", + "▁Met ro", + "▁Herz og", + "Ign ore", + "▁decre ase", + "▁п ун", + "▁пу н", + "▁F ischer", + "▁M all", + "▁Ma ll", + "▁Mal l", + "▁n örd", + "io stream", + "i ostream", + "▁Lux emb", + "pay load", + "▁Ze itung", + "▁Zeit ung", + "▁mod ifying", + "▁modify ing", + "▁C her", + "▁Ch er", + "▁Che r", + "▁Lu ci", + "▁Luc i", + "n x", + "▁lo ose", + "▁top ics", + "▁topic s", + "▁var ied", + "▁vari ed", + "▁va ried", + "▁p g", + "▁ pg", + "aj es", + "aje s", + "a jes", + "um m", + "u mm", + "View s", + "▁B eau", + "▁Be au", + "MA P", + "M AP", + "ip eline", + "ipe line", + "▁Inter est", + "ar ith", + "ari th", + "▁seg ún", + "▁Geme ins", + "▁Att ribute", + "▁ Attribute", + "comm unity", + "▁цент р", + "▁kil ometer", + "▁kilomet er", + "▁kilom eter", + "▁é conom", + "▁éc onom", + "lar ation", + "▁к ъ", + "▁car riage", + "▁carri age", + "▁L ane", + "▁La ne", + "▁Lan e", + "▁не об", + "ku r", + "k ur", + "▁A F", + "▁ AF", + "IN TER", + "INT ER", + ")) $", + ") )$", + "▁be ide", + "▁bei de", + "dest ination", + "▁font s", + "▁fon ts", + "▁ fonts", + "append Child", + "▁M AR", + "▁MA R", + "▁g ay", + "▁ga y", + "mi l", + "m il", + "le sh", + "les h", + "l esh", + "è t", + "▁W ang", + "▁Wa ng", + "▁Y ears", + "▁Year s", + "▁Ye ars", + "▁S ymbol", + "▁Sym bol", + "▁ Symbol", + "Li ve", + "L ive", + "qu ency", + "▁U sers", + "▁Use rs", + "▁User s", + "▁Us ers", + "▁ Users", + "▁Un icode", + "▁S au", + "▁Sa u", + "▁t ons", + "▁to ns", + "▁ton s", + "▁ tons", + "▁Н і", + "▁кра ї", + "▁ краї", + "AX I", + "▁P ick", + "▁Pi ck", + "▁Pic k", + "A I", + "▁h ath", + "▁ha th", + "▁hat h", + "▁a inda", + "▁ain da", + "▁p apa", + "▁pa pa", + "▁pap a", + "▁C enso", + "▁B ald", + "▁Ba ld", + "▁Bal d", + "▁Насе ље", + "▁sim ulations", + "▁simulation s", + "▁j aren", + "▁ja ren", + "▁jar en", + "▁inher ited", + "▁inherit ed", + "▁то й", + "▁ той", + "▁fe els", + "▁feel s", + "▁fee ls", + "ress ion", + "r ession", + "▁o któber", + "bi d", + "b id", + "ás i", + "á si", + "▁m uss", + "▁mus s", + "▁mu ss", + "vent ory", + "▁me ist", + "▁b ore", + "▁bo re", + "▁bor e", + "▁sl ider", + "▁slide r", + "▁sli der", + "▁ slider", + "де ли", + "\\ ;", + "▁extra cted", + "▁extract ed", + "ку р", + "к ур", + "Ed ge", + "▁per f", + "▁pe rf", + "▁Brig ade", + "▁гра д", + "▁ град", + "ie nie", + "ien ie", + "i enie", + "▁N orden", + "▁Nor den", + "▁Nord en", + "▁c ancer", + "▁can cer", + "\" /", + "C ur", + "▁С ере", + "▁Се ре", + "▁Сер е", + "▁liqu id", + "str ucture", + "struct ure", + "▁cho osing", + "▁Per l", + "▁Pe rl", + "Si de", + "S ide", + "ü s", + "ри тор", + "рито р", + "рит ор", + "▁k ost", + "▁ko st", + "▁pa ckets", + "▁pack ets", + "▁packet s", + "▁кото рого", + "▁Com un", + "▁Co mun", + "▁f ingers", + "▁fin gers", + "▁finger s", + "ográ fica", + "> :", + "▁champion nat", + "▁bl ieb", + "▁S itu", + "▁Si tu", + "▁Sit u", + "▁su ic", + "an dis", + "and is", + "Fr e", + "F re", + "▁C onc", + "▁Con c", + "▁Co nc", + "▁re public", + "▁rep ublic", + "▁repub lic", + "▁ar med", + "▁arm ed", + "▁h ell", + "▁he ll", + "▁hel l", + "▁ hell", + "▁h ög", + "▁hö g", + "rag ma", + "▁en se", + "▁ens e", + "▁ ense", + "▁ac res", + "▁В ід", + "▁Ві д", + "▁Re form", + "▁Ref orm", + "Main Activity", + "ke eper", + "keep er", + "kee per", + "er b", + "e rb", + "▁mon aster", + "sub subsection", + "▁Ди в", + "▁cre ature", + "▁indic ating", + "▁url s", + "▁ur ls", + "▁ urls", + "▁k ein", + "▁ke in", + "об раз", + "обра з", + "pi ck", + "pic k", + "p ick", + "▁Ad mir", + "▁old est", + "▁ol dest", + "▁m uz", + "▁mu z", + "▁contra diction", + "▁contrad iction", + "▁contradict ion", + "▁prob abil", + "illi ant", + "▁p av", + "▁pa v", + "▁pa pel", + "▁pap el", + "ub s", + "u bs", + "▁ж ена", + "▁же на", + "▁жен а", + "▁ жена", + "AM L", + "A ML", + "▁re cip", + "▁rec ip", + "▁reci p", + "▁C OL", + "▁CO L", + "▁ COL", + "ad ded", + "add ed", + "▁cl ue", + "▁Uk raine", + "▁Ukrain e", + "▁jel ent", + "че нь", + "чен ь", + "ч ень", + "▁mathemat ics", + "Ac cept", + "▁с от", + "▁со т", + "▁се вер", + "▁isol ated", + "▁по я", + "w ür", + "Ro uter", + "Route r", + "Rout er", + "R outer", + "CA T", + "C AT", + "rg b", + "r gb", + "▁L ov", + "▁Lo v", + "mu table", + "mut able", + "m utable", + "▁W es", + "▁We s", + "▁Ital ien", + "Dra g", + "Dr ag", + "D rag", + "en ium", + "eni um", + "at ting", + "att ing", + "atti ng", + "tc p", + "t cp", + "▁erfolg te", + "▁Be it", + "▁Bei t", + "га то", + "▁System s", + "▁Syst ems", + "▁re serve", + "▁res erve", + "er ee", + "ere e", + "e ree", + "▁Па ри", + "▁Пар и", + "▁з али", + "▁за ли", + "▁re nt", + "▁r ent", + "▁ren t", + "▁ rent", + "▁s unt", + "▁su nt", + "▁sun t", + "▁G irls", + "▁Girl s", + "▁Gir ls", + "▁Er nest", + "▁Ern est", + "▁f its", + "▁fi ts", + "▁fit s", + "▁op pon", + "▁opp on", + "▁живе ло", + "▁av aient", + "▁Flor ence", + "▁Flo rence", + "▁чи сле", + "▁eng ines", + "▁engine s", + "D ynamic", + "▁stycz nia", + "▁b ias", + "▁bi as", + "▁Ex change", + "ди й", + "▁histor iques", + "▁historique s", + "▁H ä", + "ho d", + "h od", + "▁w ł", + "sch ap", + "▁l ac", + "▁la c", + "▁ lac", + "▁F oi", + "▁Fo i", + "▁d well", + "▁dw ell", + "▁Unter nehmen", + "UR N", + "▁kilomet res", + "▁Одна ко", + "к ли", + "▁S ri", + "▁Sr i", + "Gr oups", + "Group s", + "min d", + "mi nd", + "m ind", + "os lov", + "fer n", + "fe rn", + "f ern", + "eg u", + "e gu", + "abel ed", + "abe led", + "F iddle", + "▁Cent ury", + "/ -", + "▁J egyzetek", + "He n", + "H en", + "ens emble", + "▁G ut", + "▁Gu t", + "_{ {\\", + "_ {{\\", + "▁ran king", + "▁rank ing", + "+ $", + "ал а", + "а ла", + "▁# {", + "▁ #{", + "im ientos", + "imiento s", + "ach im", + "ac him", + "achi m", + "ri des", + "ride s", + "rid es", + "r ides", + "▁K laus", + "▁Kl aus", + "▁int end", + "▁inte nd", + "▁inten d", + "▁Kent ucky", + "ci pe", + "cip e", + "c ipe", + "▁D ienst", + "▁Di enst", + "▁situ ated", + "▁pó ź", + "▁s crit", + "▁sc rit", + "▁scr it", + "▁scri t", + "cl ip", + "cli p", + "c lip", + "не т", + "н ет", + "ta bles", + "table s", + "tab les", + "t ables", + "▁N ied", + "▁Ni ed", + "▁Nie d", + "▁Mc K", + "▁pow st", + "▁kun nen", + "▁Ev ans", + "▁Eva ns", + "ж ды", + "ва ть", + "ват ь", + "uch ar", + "uc har", + "ucha r", + "u char", + "▁res idents", + "▁resid ents", + "▁resident s", + "ia k", + "i ak", + "▁Re sol", + "▁Res ol", + "▁ Resol", + "▁ve ces", + "▁vec es", + "▁satisf ying", + "▁satisfy ing", + "IN F", + "I NF", + "▁с ин", + "▁си н", + "▁cross ing", + "ib en", + "ibe n", + "i ben", + "▁ши ро", + "pt o", + "p to", + "IL L", + "I LL", + "▁ро ль", + "▁a ktiv", + "▁akt iv", + "▁обра щения", + "Wik ispecies", + "▁Hö he", + "cr o", + "c ro", + "══ ══", + "al tra", + "alt ra", + "▁FI LE", + "▁ FILE", + "▁u ps", + "▁up s", + "▁ ups", + "▁al location", + "▁all ocation", + "▁alloc ation", + "▁allo cation", + "Mich ael", + "▁acknow led", + "Lin ux", + "▁met ros", + "▁ metros", + "tt e", + "t te", + "af en", + "a fen", + "▁x code", + "▁тра ди", + "spe cies", + "spec ies", + "s pecies", + "▁inj ury", + "▁са мы", + "▁сам ы", + "▁l attice", + "M aterial", + "and enburg", + "anden burg", + "▁huvud staden", + "st ory", + "sto ry", + "stor y", + "▁var ying", + "▁vary ing", + "▁kö vet", + "▁Росси йской", + "ir se", + "irs e", + "▁d rum", + "▁dr um", + "▁dru m", + "Pr essed", + "Press ed", + "Pres sed", + "La r", + "L ar", + "▁A gu", + "▁Ag u", + "▁w eil", + "▁we il", + "▁comm ence", + "▁Seg ún", + "Gest ure", + "Sh ape", + "S hape", + "▁V ors", + "▁Vo rs", + "▁Vor s", + "▁succ ès", + "▁correct ed", + "▁corre cted", + "▁corr ected", + "K ar", + "▁cr uel", + "▁cru el", + "▁polit ico", + "▁Schrift steller", + "▁ris ult", + "et u", + "e tu", + "arch iv", + "▁gén ero", + "▁gé nero", + "▁L ü", + "▁tri umph", + "OR S", + "O RS", + "L u", + "▁person nel", + "▁personn el", + "▁personne l", + "▁H ills", + "▁Hill s", + "▁Hil ls", + "as set", + "ass et", + "asse t", + "do min", + "dom in", + "d omin", + "Rece ive", + "▁O ak", + "▁K no", + "▁Kn o", + "▁The ory", + "ir ie", + "iri e", + "i rie", + "ow an", + "owa n", + "o wan", + "▁est ava", + "▁esta va", + "▁exec utes", + "▁execute s", + "▁execut es", + "й т", + "óp ez", + "ó pez", + "по ло", + "пол о", + "п оло", + "ét ica", + "▁назва ние", + "▁conver ges", + "▁not re", + "▁no tre", + "▁pop ulated", + "▁popula ted", + "▁popul ated", + "▁populate d", + "▁mov ements", + "▁move ments", + "▁movement s", + "▁statist ical", + "▁Zwe iten", + "qu in", + "qui n", + "▁import antes", + "▁important es", + "▁importante s", + "▁k lein", + "▁kle in", + "▁kl ein", + "▁Seg unda", + "schließ end", + "Fail ure", + "na r", + "n ar", + "da g", + "d ag", + "▁ru olo", + "▁f iction", + "▁fi ction", + "▁fic tion", + "▁fict ion", + "▁исполь зу", + "▁cr isis", + "▁Get ting", + ", %", + "▁ар мии", + "▁cam pus", + "▁camp us", + "▁fo oter", + "▁foot er", + "▁foo ter", + "▁ footer", + "▁d ías", + "▁día s", + "▁dí as", + "ба н", + "б ан", + "▁liber ty", + "▁libert y", + "▁g h", + "▁ gh", + "▁cham ber", + "▁district s", + "▁exc ited", + "▁can ción", + "ter o", + "te ro", + "t ero", + "▁Work ing", + "▁Wor king", + "▁czę ści", + "ль ный", + "▁f orum", + "▁for um", + "▁fo rum", + "▁ forum", + "▁E he", + "▁ка та", + "▁ ката", + "it ations", + "itation s", + "itat ions", + "To ols", + "Tool s", + "T ools", + "ach iv", + "achi v", + "▁c res", + "▁cre s", + "▁cr es", + "as to", + "ast o", + "a sto", + "▁re ver", + "▁r ever", + "▁rev er", + "▁reve r", + "▁n azionale", + "▁naz ionale", + "▁do ors", + "▁door s", + "▁N ancy", + "▁Nan cy", + "▁is lands", + "▁island s", + "Im p", + "I mp", + "▁Ch air", + "▁Cha ir", + "▁v orm", + "▁vo rm", + "▁vor m", + "se in", + "s ein", + "▁до ку", + "er set", + "ers et", + "▁tät ig", + "▁K rit", + "▁Kr it", + "▁п я", + "▁cons ervation", + "▁conserv ation", + "▁Part ido", + "▁Parti do", + "min ipage", + "Valid ator", + "▁rec overy", + "▁recover y", + "▁NA SA", + "▁NAS A", + "▁br east", + "▁bre ast", + "il ty", + "ilt y", + "an aly", + "ana ly", + "anal y", + "el ines", + "eli nes", + "eline s", + "elin es", + "e lines", + "▁S aturday", + "em ark", + "e mark", + "ce j", + "c ej", + "Ze ro", + "Z ero", + "▁Tur ner", + "▁Turn er", + "sec ure", + "Ex ists", + "▁R ick", + "▁Ric k", + "▁Ri ck", + "ev alu", + "eval u", + "e valu", + "ct rl", + "ctr l", + "c trl", + "▁com pression", + "▁comp ression", + "▁compr ession", + "▁compress ion", + "▁C URL", + "text color", + ")\\ ,", + ") \\,", + "long rightarrow", + "▁Fern seh", + "▁ Fernseh", + "ic ha", + "ich a", + "i cha", + "▁l oi", + "▁lo i", + "▁О те", + "▁От е", + "▁c ave", + "▁ca ve", + "▁cav e", + "▁do zen", + "▁expla ining", + "▁expl aining", + "▁explain ing", + "▁in nov", + "▁inn ov", + "▁Nich olas", + "▁dia meter", + "▁diam eter", + "▁M arian", + "▁Mar ian", + "▁Ma rian", + "▁Maria n", + "▁Mari an", + "▁f ires", + "▁fire s", + "▁fi res", + "▁fir es", + "▁art ifact", + "▁ artifact", + "▁Par ker", + "▁Park er", + "▁B und", + "▁Bu nd", + "▁Bun d", + "▁v erte", + "▁ver te", + "▁vert e", + "▁ verte", + "▁tal ent", + "▁tale nt", + "▁Lu cas", + "▁Luc as", + "re verse", + "▁folg enden", + "▁S ah", + "▁Sa h", + "ject ions", + "je ctions", + "jection s", + "▁inve ce", + "▁cost itu", + "▁s sl", + "▁ss l", + "▁ ssl", + "}} ^", + "} }^", + "▁viol ent", + "▁s pos", + "▁sp os", + "▁spo s", + "Ro ut", + "R out", + "jd k", + "j dk", + "▁за ме", + "▁f urent", + "▁fur ent", + "▁fu rent", + "an dal", + "and al", + "anda l", + "H om", + "▁Sen ior", + "▁p ounds", + "▁Disc ogs", + "▁з е", + "▁ зе", + "'} [", + "' }[", + "▁Napole on", + "ordin ates", + "ordinate s", + "à n", + "▁k urz", + "▁kur z", + "▁v ere", + "▁ver e", + "▁ve re", + "▁ vere", + "▁re use", + "▁Г ен", + "▁Ге н", + "▁S yst", + "▁Sy st", + "▁disapp eared", + "▁disappear ed", + "▁W atch", + "▁Wat ch", + "▁ Watch", + "bibli othek", + "▁кор пу", + "▁C s", + "▁} `", + "▁ }`", + "▁r ör", + "▁де ла", + "▁ дела", + "V B", + "▁calcul us", + "▁calc ulus", + "ро да", + "род а", + "▁jud gment", + "at ile", + "ati le", + "▁long ue", + "▁lon gue", + "▁H us", + "▁Hu s", + "J ac", + "}} )", + "} })", + "RI PT", + "IAB ot", + "▁ap ós", + "▁a ston", + "▁as ton", + "▁ast on", + "Web achiv", + "▁URL s", + "▁co at", + "▁э коно", + "▁l ear", + "▁le ar", + "▁ lear", + "ext ensions", + "extension s", + "▁Class ic", + "T I", + "▁T age", + "▁Tag e", + "▁Ta ge", + "▁l á", + "▁ lá", + "▁s emb", + "▁se mb", + "▁sem b", + "▁développ ement", + "IS TS", + "IST S", + "▁sol ves", + "▁solve s", + ",\\ ,", + ", \\,", + "▁чем пі", + "ord inary", + "ordin ary", + "▁B av", + "▁Ba v", + "▁much os", + "▁mu chos", + "▁mucho s", + "S elf", + "▁Ма й", + "▁D iet", + "▁Die t", + "▁Di et", + "▁necess ity", + "ві д", + "в ід", + "▁m ano", + "▁ma no", + "▁man o", + "▁С р", + "▁car re", + "▁Cam era", + "▁Camer a", + "▁ Camera", + "▁N arod", + "▁Na rod", + "▁Nar od", + "▁Ph one", + "▁Pho ne", + "▁ Phone", + "▁pol ym", + "▁poly m", + "im ore", + "imo re", + "i more", + "is Empty", + "▁Hou ston", + "▁Re ce", + "▁Rec e", + "▁ Rece", + "▁present ation", + "▁pres entation", + "▁presenta tion", + "▁ presentation", + "ни ципа", + "ници па", + "▁D b", + "▁ Db", + "▁conf ident", + "▁} {", + "▁ }{", + "▁bul let", + "▁ bullet", + "▁{ },", + "▁{} ,", + "AN GE", + "ANG E", + "▁No tre", + "▁Not re", + "ch in", + "chi n", + "c hin", + "▁Dr agon", + "▁Drag on", + "▁Dra gon", + "er ca", + "erc a", + "ia li", + "ial i", + "i ali", + "▁as set", + "▁ass et", + "▁asse t", + "▁ asset", + "▁mu ito", + "▁muit o", + "▁deep ly", + "▁rest riction", + "▁restrict ion", + "▁com merce", + "▁commer ce", + "▁ commerce", + "▁B omb", + "▁Bo mb", + "▁Bom b", + "c aught", + "q q", + "▁A rag", + "▁Ar ag", + "▁Ara g", + "▁не мец", + "▁Anal ysis", + "▁člán ku", + "▁b aby", + "▁ba by", + "▁e chter", + "▁о дного", + "▁од ного", + "▁одно го", + "же на", + "жен а", + "ж ена", + "▁white space", + "▁whites pace", + "ç u", + "LI ST", + "L IST", + "fr ique", + "fri que", + "f rique", + "▁v arias", + "▁var ias", + "▁vari as", + "▁va rias", + "▁W it", + "▁Wi t", + "▁Lic encia", + "Ex it", + "▁sie rp", + "▁sier p", + "▁ass emb", + "▁asse mb", + "▁split ting", + "▁spl itting", + "▁pa lace", + "▁pal ace", + "▁b locked", + "▁block ed", + "▁bound aries", + "▁iter ations", + "▁iteration s", + "▁Rot ten", + "▁Ver kehr", + "▁we er", + "Test s", + "T ests", + "if ting", + "ift ing", + "▁reg ul", + "▁pers ist", + "▁Sol ution", + "p b", + "▁col lapse", + "▁ collapse", + "▁arr ested", + "▁arrest ed", + "▁pred icate", + "▁Z one", + "▁Zo ne", + "▁ Zone", + "▁in gen", + "▁ing en", + "▁ ingen", + "zá lez", + "▁b anks", + "▁bank s", + "▁ban ks", + "pl ant", + "plan t", + "pla nt", + "p lant", + "▁N ella", + "▁Ne lla", + "▁Nel la", + "▁Nell a", + "▁б ан", + "▁ба н", + "▁ бан", + "▁S now", + "▁Sn ow", + "▁Kre uz", + "í cio", + "▁en ters", + "▁ent ers", + "▁enter s", + "▁ex pose", + "▁exp ose", + "▁expos e", + "č i", + "ши е", + "Qu al", + "Q ual", + "▁lands cape", + "▁пода цима", + "ma i", + "m ai", + "st ag", + "sta g", + "s tag", + "ова ний", + "DE F", + "D EF", + "[] {", + "[ ]{", + "▁derni ère", + "ic ut", + "i cut", + "▁X ml", + "▁ Xml", + "▁sub group", + "▁Pol sce", + "▁W arning", + "▁War ning", + "▁ Warning", + "▁veh icles", + "▁vehicle s", + "io t", + "i ot", + "▁d ll", + "▁ dll", + "ro nt", + "ron t", + "r ont", + "▁Lou ise", + "▁Louis e", + "▁a ra", + "▁ar a", + "▁ ara", + "▁S cala", + "▁Sc ala", + "▁canon ical", + "▁pl acing", + "▁pla cing", + "ER Y", + "E RY", + "▁J ag", + "▁Ja g", + "▁v irus", + "▁vi rus", + "▁vir us", + "em u", + "e mu", + "▁} );\r", + "▁}); \r", + "▁}) ;\r", + "▁м м", + "▁Tr ying", + "▁Try ing", + "▁Lex ikon", + "ab ord", + "abor d", + "▁exped ition", + "▁demand ed", + "▁demande d", + "Z yg", + "le in", + "lei n", + "l ein", + "▁verw endet", + "ри на", + "рин а", + "wo l", + "w ol", + "▁p ivot", + "▁одна ко", + "▁propri et", + "▁a wards", + "▁aw ards", + "▁award s", + "to ut", + "t out", + "▁as sim", + "▁ass im", + "▁St orm", + "▁Sto rm", + "Li mit", + "L imit", + "el in", + "eli n", + "e lin", + "we alth", + "ue z", + "u ez", + "▁rap present", + "▁rappres ent", + "▁re sta", + "▁r esta", + "▁res ta", + "▁rest a", + "▁gegründ et", + "▁journal ist", + "is ie", + "isi e", + "▁fac ility", + "▁facil ity", + "il led", + "ill ed", + "ille d", + "ul k", + "▁P K", + "▁ PK", + "An chor", + "▁_ )", + "▁ _)", + "V F", + "LA B", + "L AB", + "▁n å", + "od os", + "odo s", + "▁bill ion", + "vir ti", + "virt i", + "▁Je ux", + "юз а", + "ю за", + "tom cat", + "▁ch arts", + "▁char ts", + "▁chart s", + "▁ charts", + "▁B undle", + "▁Bund le", + "▁ Bundle", + "▁l st", + "▁ls t", + "▁ lst", + "▁ex er", + "▁fem ales", + "▁female s", + "▁oblig ed", + "▁a by", + "▁ab y", + "▁ aby", + "roll ed", + "rol led", + "rolle d", + "dr i", + "d ri", + "▁S che", + "▁Sch e", + "▁Sc he", + "▁vess els", + "▁vessel s", + "IMA RY", + "IM ARY", + "▁reason ing", + "▁про те", + "▁пр оте", + "FI LES", + "FILE S", + "ver k", + "v erk", + "os os", + "oso s", + "▁ком му", + "ді ї", + "д ії", + "▁d d", + "▁ dd", + "▁со ответ", + "▁IO Exception", + "▁ IOException", + "sk ých", + "ský ch", + "▁C LI", + "▁CL I", + "▁ CLI", + "▁ ње", + "C M", + "T D", + "▁possib ilities", + "▁possibil ities", + "▁Com pos", + "▁Comp os", + "hal f", + "h alf", + "▁web page", + "▁s wing", + "▁sw ing", + "▁ swing", + "▁z as", + "▁za s", + "▁ zas", + "▁cy cl", + "le id", + "lei d", + "ist ica", + "istic a", + "isti ca", + "▁In sert", + "▁Ins ert", + "▁ Insert", + "▁Sw eden", + "▁want ing", + "▁ ال", + "▁e euw", + "▁Admin istr", + "▁War ren", + "▁b s", + "▁ bs", + "▁p am", + "▁pa m", + "an us", + "anu s", + "Dr a", + "D ra", + "ex pl", + "exp l", + "▁K ant", + "▁Kan t", + "▁Ka nt", + "▁Aust in", + "▁c sak", + "▁cs ak", + "▁the atre", + "▁compat ibility", + "ма тиче", + "мати че", + "set State", + "б ю", + "}{ |", + "} {|", + "▁D y", + "▁Zw ischen", + "Al t", + "A lt", + "CLA RE", + "st eps", + "ste ps", + "step s", + "▁L age", + "▁La ge", + "▁Lag e", + "▁M itt", + "▁Mit t", + "▁Mi tt", + "▁Dub lin", + "▁рабо ты", + "de ep", + "▁fl ows", + "▁flow s", + "▁flo ws", + "▁Pa lace", + "▁Pal ace", + "▁Pala ce", + "un ix", + "uni x", + "re fs", + "ref s", + "um ar", + "uma r", + "u mar", + "as et", + "ase t", + "a set", + "co v", + "c ov", + "▁p ing", + "▁pi ng", + "▁pin g", + "▁ ping", + "▁Saf ari", + "fl ug", + "flu g", + "cre ens", + "creen s", + "c reens", + "{ #", + "▁ре а", + "ad ors", + "ado rs", + "ador s", + "▁a mor", + "▁am or", + "uc e", + "u ce", + "de mic", + "dem ic", + "▁Nether lands", + "▁cluster s", + "▁clust ers", + "▁en for", + "▁enf or", + "mar ine", + "▁b ugs", + "▁bu gs", + "▁bug s", + "izz ata", + "izza ta", + "▁s cra", + "▁sc ra", + "▁scr a", + "Le s", + "L es", + "qu ick", + "qui ck", + "▁turn o", + "▁tur no", + "_ *", + "ер а", + "е ра", + "Gener ated", + "> [", + "▁e stre", + "▁est re", + "▁es tre", + "▁ estre", + "or de", + "ord e", + "▁v erg", + "▁ver g", + "▁ve rg", + "ро з", + "р оз", + "▁p au", + "▁pa u", + "in cludes", + "include s", + "includ es", + "as sa", + "ass a", + "ad ers", + "ader s", + "ade rs", + "a ders", + "▁Гер ма", + "▁est aven", + "▁esta ven", + "▁ear liest", + "▁res ultado", + "▁result ado", + "mu n", + "m un", + "▁pl ots", + "▁plot s", + "▁ plots", + "di n", + "d in", + "sort ed", + "s orted", + "▁p reference", + "▁pre ference", + "▁prefer ence", + "ri ó", + "r ió", + "ту ре", + "тур е", + "▁L igue", + "▁Li gue", + "▁Lig ue", + "▁за вер", + "▁зав ер", + "ph r", + "p hr", + "▁p ocket", + "▁po cket", + "▁poc ket", + "▁par l", + "▁pa rl", + "▁l ak", + "▁la k", + "▁ lak", + "▁p owie", + "▁po wie", + "▁pow ie", + "▁al tres", + "▁alt res", + "▁altre s", + "$} ;", + "$ };", + "pl ain", + "pla in", + "p lain", + "▁C red", + "▁Cre d", + "▁Cr ed", + "▁ Cred", + "it za", + "itz a", + "pe rp", + "per p", + "Gr een", + "Gre en", + "G reen", + "▁dev oted", + "product ion", + "produ ction", + "p roduction", + "work er", + "wor ker", + "el sen", + "els en", + "else n", + "▁v ern", + "▁ver n", + "▁ve rn", + "▁ vern", + "▁már cius", + "▁Conf eder", + "▁Liver pool", + "▁му зи", + "▁em ails", + "▁email s", + "▁dist ances", + "▁distance s", + "▁seg ments", + "▁segment s", + "▁a nth", + "▁an th", + "▁ant h", + "▁ anth", + "▁w rest", + "▁wr est", + "▁ho og", + "▁cin ema", + "rr or", + "r ror", + "▁geb oren", + "▁é c", + "▁ éc", + "Mar ker", + "Mark er", + "▁Com pet", + "▁Comp et", + "▁ли сто", + "all owed", + "allow ed", + "allo wed", + "vol ume", + "Esp agne", + "Z e", + "▁fix es", + "▁fi xes", + "▁r ond", + "▁ro nd", + "▁arrang ement", + "/ ~", + ".] (", + ". ](", + "▁For rások", + "▁weiter en", + "▁weit eren", + "▁weitere n", + "ex cel", + "▁з мі", + "▁mod erne", + "▁modern e", + "▁moder ne", + "Eng lish", + "▁Transfer markt", + "▁be aring", + "▁bear ing", + "▁cl eared", + "▁clear ed", + "▁cle ared", + "▁са м", + "▁di vs", + "▁div s", + "ć i", + "▁э той", + "▁это й", + "▁Ге ор", + "sc ene", + "sce ne", + "▁a ges", + "▁ag es", + "▁age s", + "▁ ages", + "GE N", + "G EN", + "rä n", + "r än", + "▁T oul", + "▁To ul", + "▁A bs", + "▁Ab s", + "j át", + "▁med iante", + "▁medi ante", + "▁median te", + "▁em pres", + "▁emp res", + "▁Emp loyee", + "▁ Employee", + "▁polynomial s", + "▁optim ize", + "▁вы ступа", + "fa re", + "far e", + "f are", + "ве й", + "в ей", + "x f", + "qu ez", + "que z", + "q uez", + "▁bo tan", + "▁bot an", + "▁def end", + "▁defe nd", + "▁Qu art", + "Mon t", + "Mo nt", + "M ont", + "v b", + "ti ck", + "t ick", + "W D", + "min e", + "mi ne", + "m ine", + "▁mod ific", + "not ification", + "▁d enn", + "▁de nn", + "▁den n", + "▁al go", + "▁alg o", + "▁S po", + "▁Sp o", + "▁m istrzost", + "/ :", + "▁a present", + "▁apr esent", + "▁п род", + "▁про д", + "▁пр од", + "Vol ume", + "sk ą", + "s ką", + "prote cted", + "▁Turk ish", + "az y", + "a zy", + "▁p ouv", + "▁po uv", + "▁pou v", + "▁perí odo", + "sk og", + "sko g", + "▁ent ropy", + "▁entr opy", + "ze d", + "z ed", + "то ри", + "тор и", + "▁l ij", + "▁li j", + "▁ lij", + "bo ards", + "board s", + "▁ста ту", + "Bo ol", + "B ool", + "▁pol ity", + "▁polit y", + "@\" ,", + "@ \",", + "▁рі к", + "né e", + "n ée", + "▁Z ug", + "▁Zu g", + "▁Un iti", + "▁Unit i", + "ém et", + "é met", + "at ience", + "ati ence", + "di men", + "dim en", + "d imen", + "▁St even", + "▁Ste ven", + "▁Steve n", + "H a", + "ACT ION", + "A CTION", + "▁w and", + "▁wa nd", + "▁ wand", + "▁Na var", + "▁Nav ar", + "▁сі чня", + "W atch", + "▁Stu art", + "▁z de", + "▁zd e", + "▁кон тро", + "data set", + "dat aset", + "datas et", + "y ó", + "▁B ush", + "▁Bu sh", + "▁Bus h", + "▁се бя", + "▁wor thy", + "▁worth y", + "▁B le", + "▁Bl e", + "▁pro por", + "▁prop or", + "▁Vill age", + "▁Villa ge", + "▁Vil lage", + "▁r y", + "▁ ry", + "▁v oit", + "▁vo it", + "▁копи я", + "▁z p", + "▁c ura", + "▁cu ra", + "▁cur a", + "▁H tml", + "▁ Html", + "▁Die ser", + "▁Dies er", + "▁Diese r", + "▁D ays", + "▁Da ys", + "▁Day s", + "▁ Days", + "on nes", + "onn es", + "onne s", + "▁ant igu", + "▁anti gu", + "▁Sta aten", + "▁Staat en", + "▁f aint", + "▁fa int", + "on gs", + "ong s", + "▁ö st", + "▁ öst", + "Re direct", + "Red irect", + "ел ь", + "е ль", + "at orial", + "ator ial", + "ato rial", + "atori al", + "▁b other", + "▁bo ther", + "▁both er", + "▁bot her", + "Edit Text", + "▁Gi ul", + "▁за во", + "▁зав о", + "▁pue blo", + "▁Mississ ippi", + "ja k", + "j ak", + "▁w ings", + "▁win gs", + "▁wing s", + "on c", + "o nc", + "ív el", + "í vel", + "ien cia", + "i encia", + "ent licht", + "entlich t", + "▁B TW", + "or nal", + "orn al", + "▁Ко ро", + "▁Кор о", + "▁од ним", + "▁sa lv", + "▁sal v", + "▁f inden", + "▁find en", + "▁fin den", + "ge o", + "▁а виа", + "att ung", + "vi v", + "v iv", + "▁L uther", + "▁Lu ther", + "▁об щи", + "▁Ro lle", + "▁Rol le", + "▁Roll e", + "▁Ab raham", + "▁cent ered", + "▁center ed", + "▁sl ash", + "▁sla sh", + "▁ slash", + "is at", + "isa t", + "em ann", + "ema nn", + "eman n", + "e mann", + "O s", + "пар та", + "▁P ablo", + "▁Pa blo", + "▁collabor ation", + "path s", + "pat hs", + "éd ition", + "▁view ed", + "▁vie wed", + "▁cons isted", + "▁consist ed", + "▁recover ed", + "▁Mex ican", + "▁F ix", + "▁sp ell", + "▁spe ll", + "▁spel l", + "Spec ial", + "Spe cial", + "▁С т", + "ess eur", + "esse ur", + "▁Украи ны", + "form er", + "for mer", + "▁ś w", + "▁z eros", + "▁ze ros", + "▁zero s", + "▁Stra ßen", + "▁Straße n", + "▁organ isation", + "▁organis ation", + "▁ organisation", + "üss en", + "üs sen", + "▁S ierra", + "▁Se ason", + "▁Sea son", + "▁vol ont", + "Bean Factory", + "▁помо щ", + "▁pres sing", + "▁press ing", + "▁equival ence", + "▁c att", + "▁ca tt", + "▁cat t", + "ic ity", + "ici ty", + "i city", + "▁accompl ished", + "▁accomp lished", + "▁accomplish ed", + "▁y o", + "▁ yo", + "▁s ic", + "▁si c", + "▁im ports", + "▁import s", + "▁accom mod", + "▁Port o", + "▁Por to", + "▁я ка", + "▁як а", + "▁lo an", + "ти ки", + "тик и", + "▁check out", + "▁ass ess", + "▁asse ss", + "▁Pop ulation", + "ur ent", + "ure nt", + "uren t", + "u rent", + "clo jure", + "▁Sant os", + "▁Santo s", + "▁inform áció", + "PO S", + "P OS", + "▁g are", + "▁gar e", + "▁ga re", + "▁k ick", + "▁ki ck", + "▁rad ical", + "▁radi cal", + "▁Pe ace", + "▁stream ing", + "▁stre aming", + "ca mp", + "cam p", + "c amp", + "zą t", + "го вор", + "гов ор", + "гово р", + "▁Reg ierung", + "▁proceed ed", + "f m", + "ле ны", + "лен ы", + "▁ear nest", + "▁Par ad", + "▁Pa rad", + "▁Para d", + "request s", + "▁R aum", + "▁Ra um", + "š č", + "▁polic ies", + "▁T ig", + "▁Ti g", + "▁s itt", + "▁si tt", + "▁sit t", + "▁Ener gy", + "▁pur ely", + "▁pure ly", + "▁H aut", + "▁Ha ut", + "▁Sp eed", + "▁Spe ed", + "▁ Speed", + "bi o", + "b io", + "▁o range", + "▁or ange", + "▁big gest", + "▁britann ique", + "▁No table", + "▁Not able", + "v u", + "ле нии", + "би н", + "б ин", + "▁N ash", + "▁Na sh", + "▁Nas h", + "ще ние", + "▁c iel", + "▁ci el", + "adém ie", + "▁гру дня", + "▁jo ue", + "▁jou e", + "▁v oted", + "▁vo ted", + "▁vot ed", + "▁vote d", + "ri co", + "ric o", + "r ico", + "▁го р", + "▁г ор", + "▁ гор", + "▁коман ду", + "it ivity", + "iti vity", + "▁щ е", + "▁ ще", + "▁de finite", + "▁defin ite", + "▁definit e", + "uro pa", + "urop a", + "!\" );", + "! \");", + "Default s", + "▁неко торы", + "éd ération", + "▁s illy", + "▁sil ly", + "▁talk ed", + "▁tal ked", + "re u", + "r eu", + "▁L omb", + "▁Lo mb", + "▁stat ue", + "кт а", + "к та", + "ю р", + "um ably", + "▁горо де", + "▁город е", + "▁R untime", + "▁Run time", + "▁ Runtime", + "▁di agn", + "▁diag n", + "▁dia gn", + "▁r etro", + "▁ret ro", + "▁retr o", + "▁Sver ige", + "▁in icial", + "▁inici al", + "ien za", + "i enza", + "▁fig lio", + "▁z og", + "▁zo g", + "▁re y", + "▁r ey", + "▁ rey", + "▁R und", + "▁Run d", + "▁Ru nd", + "т ный", + "▁ce ased", + "er no", + "ern o", + "▁e sa", + "▁es a", + "▁ esa", + "▁tr ouv", + "▁tro uv", + "▁trou v", + "▁Gemeinde n", + "▁Geme inden", + "▁comer cial", + "sk ap", + "ska p", + "s kap", + "en ario", + "ena rio", + "▁ju ris", + "▁jur is", + "T B", + "на ла", + "нал а", + "н ала", + "▁v ij", + "▁vi j", + "V O", + "▁c lin", + "▁cl in", + "▁cli n", + "jö r", + "j ör", + "са н", + "с ан", + "ow ała", + "owa ła", + "ował a", + "rib ución", + "ribu ción", + "▁urs prüng", + "▁con dem", + "▁cond em", + "▁St age", + "▁Sta ge", + "▁ Stage", + "▁mix ing", + "▁рі з", + "▁f ans", + "▁fa ns", + "▁fan s", + "há z", + "h áz", + "so cial", + "soci al", + "za n", + "z an", + "▁с вой", + "▁сво й", + "Cook ie", + "▁Ro land", + "▁Rol and", + "az ionale", + "▁Sl oven", + "▁Slo ven", + "▁Slov en", + "▁F iche", + "▁Fich e", + "▁S é", + "h ä", + "▁official s", + "▁offici als", + "▁î nt", + "▁în t", + "Inter ceptor", + "Table s", + "Tab les", + "T ables", + "▁da von", + "▁dav on", + "init ialize", + "initial ize", + "]= \"", + "] =\"", + "▁B ody", + "▁Bo dy", + "▁Bod y", + "▁ Body", + "▁U pper", + "▁Up per", + "▁ Upper", + "▁Col lect", + "▁Coll ect", + "▁ Collect", + "▁Zür ich", + "Hor izontal", + "Ty p", + "T yp", + "▁polít ico", + "▁Rewrite Cond", + "▁h oped", + "▁hope d", + "▁ho ped", + "▁hop ed", + "▁anx ious", + "Li ter", + "L iter", + "ja hr", + "j ahr", + "▁ass emble", + "▁assemb le", + "▁c rypt", + "▁cry pt", + "lah oma", + "AS H", + "A SH", + "▁Б ри", + "▁C ic", + "▁Ci c", + "tw itter", + "hy per", + "▁T ell", + "▁Te ll", + "▁Tel l", + "іль ки", + "во бо", + "▁ba zie", + "▁baz ie", + "▁contempor ary", + "▁Param eter", + "▁Para meter", + "▁ Parameter", + "st wa", + "▁bek end", + "co ck", + "c ock", + "pre vious", + "prev ious", + "en ska", + "ens ka", + "ensk a", + "▁c aller", + "▁cal ler", + "▁call er", + "]] )", + "] ])", + "▁R az", + "▁Ra z", + "▁Se lon", + "▁Sel on", + "▁propos al", + "▁b ý", + "▁S ied", + "▁Sie d", + "▁Si ed", + "▁Arbe its", + "▁Arbeit s", + "▁p ride", + "▁pr ide", + "▁pri de", + "▁sl ope", + "▁slo pe", + "id é", + "grad ient", + "▁Дже рела", + "▁S H", + "▁ SH", + "▁раз рабо", + "ivers ity", + "спо дар", + "\\{ \\", + "\\ {\\", + "▁с тали", + "▁ст али", + "▁ста ли", + "▁стал и", + "▁Ein zel", + "▁Einz el", + "▁rg ba", + "▁A nim", + "▁An im", + "▁ Anim", + "▁a lles", + "▁al les", + "▁all es", + "▁alle s", + "▁ alles", + "ба р", + "б ар", + "er te", + "ert e", + "▁réalis é", + "▁réal isé", + "Inst itut", + "▁mar kup", + "▁mark up", + "▁v ars", + "▁var s", + "▁va rs", + "▁ vars", + "▁g am", + "▁ga m", + "▁Васи ль", + "iz za", + "izz a", + "i zza", + "▁C ob", + "▁Co b", + "▁M etal", + "▁Me tal", + "▁Met al", + "▁Meta l", + "▁le ak", + "▁L anc", + "▁La nc", + "▁Lan c", + "Sw itch", + "De lay", + "Del ay", + "at uur", + "atu ur", + "▁че ты", + "▁анг лий", + "▁leg acy", + "▁desar roll", + "▁top ological", + "▁jewe ils", + "▁Nederland se", + "▁atmos phere", + "ur ban", + "urb an", + "▁s lov", + "▁sl ov", + "▁slo v", + "▁law yer", + "pe cially", + "▁altern ate", + "▁para met", + "▁param et", + "▁establish ment", + "▁wood s", + "▁wo ods", + "P D", + "▁на и", + "▁m ang", + "▁ma ng", + "▁man g", + "▁wechsel te", + "сь ку", + "ськ у", + ". =", + "▁fif teen", + "SU M", + "S UM", + "▁F ro", + "▁Fr o", + "▁L ED", + "▁LE D", + "▁ LED", + "ow ano", + "owa no", + "owan o", + "стви е", + "▁D onnées", + "to l", + "t ol", + "ży n", + "ż yn", + "cre f", + "cr ef", + "c ref", + "стви и", + "ho rn", + "hor n", + "h orn", + "▁со об", + "▁обо ро", + "▁Comp lete", + "▁Comple te", + "▁ Complete", + "“ )", + "▁kind ly", + "▁Cham ber", + "s ég", + "W H", + "▁amb ient", + "к ро", + "▁ch eval", + "▁che val", + "▁на писа", + "fl u", + "f lu", + "▁Off iz", + "ma te", + "mat e", + "m ate", + "nat ural", + "n atural", + "se par", + "sep ar", + "em pre", + "emp re", + "View Holder", + "f w", + "▁le tech", + "▁let ech", + "▁tra iling", + "▁trail ing", + "at ri", + "atr i", + "a tri", + "▁G ó", + "▁B onn", + "▁Bo nn", + "▁Bon n", + "▁un likely", + "▁unlike ly", + "RA M", + "R AM", + "en st", + "ens t", + "St ats", + "Stat s", + "▁поли тиче", + ")- -(", + ")-- (", + "▁t rom", + "▁tr om", + "▁tro m", + "!. ..", + "! ...", + "▁Mean while", + "ст ана", + "ста на", + "стан а", + "▁Re ino", + "▁Rein o", + "▁A rist", + "▁Ar ist", + "▁Ari st", + "$} }%", + "$ }}%", + "▁so lem", + "▁sol em", + "▁sole m", + "clos ure", + "ign ation", + "ło d", + "ł od", + "▁di vor", + "▁div or", + "▁между народ", + "=\" ", + "▁== >", + "Ori entation", + "ci d", + "c id", + "Car t", + "Ca rt", + "C art", + "▁m urm", + "▁mu rm", + "▁mur m", + "▁ass ez", + "▁asse z", + "▁l inking", + "▁link ing", + "▁lin king", + "build ing", + "▁rec onna", + "▁recon na", + "▁s hook", + "▁sh ook", + "▁sho ok", + "man aged", + "mana ged", + "land a", + "lan da", + "l anda", + "▁Le ón", + "▁cré ation", + "до й", + "oc ity", + "oci ty", + "o city", + "▁w ij", + "▁ wij", + "▁wie ś", + "xt art", + "▁M ove", + "▁Mo ve", + "▁Mov e", + "▁ Move", + "lung en", + "l ungen", + "ству ет", + "or ney", + "orn ey", + "option al", + "opt ional", + "ma cro", + "mac ro", + "Cond ition", + "▁square s", + "▁squ ares", + "▁mist aken", + "▁mistake n", + "án t", + "á nt", + "▁R is", + "▁Ri s", + "▁sent ences", + "▁sentence s", + "er ea", + "ere a", + "e rea", + "▁m ij", + "▁mi j", + "Un d", + "U nd", + "▁nom br", + "z A", + "▁In dependent", + "▁Indep endent", + "▁Independ ent", + "▁p review", + "▁pre view", + "▁prev iew", + "▁ preview", + "im as", + "ima s", + "i mas", + "▁m ales", + "▁ma les", + "▁mal es", + "▁male s", + "in ental", + "inen tal", + "inent al", + "Th ank", + "▁p opol", + "▁po pol", + "▁pop ol", + "▁p over", + "▁po ver", + "▁pov er", + "▁gr asp", + "▁gra sp", + "▁im ped", + "▁imp ed", + "▁campion ato", + "▁W ei", + "▁We i", + "▁t itled", + "▁title d", + "▁tit led", + "▁A demás", + "▁Pass word", + "▁ Password", + "▁P am", + "▁Pa m", + "UI LD", + "▁ли пня", + "wer b", + "we rb", + "w erb", + "........ ........", + "▁R ío", + "▁te eth", + "b p", + "▁S W", + "▁ SW", + "ul aire", + "ula ire", + "▁se ized", + "▁sei zed", + "▁St ef", + "▁Ste f", + "ú l", + "▁v iz", + "▁vi z", + "ion y", + "io ny", + "i ony", + "▁j unt", + "▁ju nt", + "▁jun t", + "▁kter á", + "▁wrześ nia", + "< >", + "▁s urg", + "▁su rg", + "▁sur g", + "▁tu tte", + "▁tut te", + "▁H ob", + "▁Ho b", + "по від", + "пов ід", + "▁w ohl", + "▁wo hl", + "▁ wohl", + "▁t rag", + "▁tr ag", + "▁tra g", + "▁C rown", + "▁Cr own", + "▁Cro wn", + "▁Crow n", + "▁tr ova", + "▁tro va", + "▁trov a", + "сто ву", + "стов у", + "▁Vien na", + "ese hen", + "▁met ropol", + "▁reflect ed", + "те та", + "тет а", + "т ета", + "▁trad uc", + "▁tradu c", + "▁B ast", + "▁Bas t", + "▁Ba st", + "▁ersch ien", + "wo ord", + "() \"", + "( )\"", + "ta let", + "tal et", + "t alet", + "▁ro ads", + "▁road s", + "ве дения", + "веде ния", + "ühr ung", + "▁c ogn", + "▁co gn", + "▁V alle", + "▁Val le", + "▁Va lle", + "▁Vall e", + "▁land ing", + "▁lan ding", + "▁Re gex", + "▁Reg ex", + "▁I owa", + "▁Io wa", + "dz iał", + "d ział", + "▁erre ichte", + "au m", + "a um", + "▁found er", + "▁fo under", + "▁fou nder", + "ap olis", + "Comp iler", + "▁k op", + "▁ko p", + "▁ kop", + "▁m arc", + "▁ma rc", + "▁mar c", + "▁те ритор", + ")) `", + ") )`", + "▁l ei", + "▁le i", + "▁ lei", + "ge on", + "geo n", + "▁weap ons", + "▁weapon s", + "▁h orn", + "▁hor n", + "▁ho rn", + "▁ horn", + "▁el if", + "▁ elif", + "▁Cap ital", + "▁Capit al", + "ć e", + "▁for all", + "▁ forall", + "▁э та", + "pre view", + "prev iew", + "p review", + "▁D NA", + "▁s id", + "▁si d", + "or ch", + "▁R as", + "▁Ra s", + "▁a rab", + "▁ar ab", + "▁ara b", + "▁ arab", + "Be st", + "B est", + "▁с чита", + "▁L ópez", + "an ça", + "▁fun kc", + "▁t ienen", + "▁tiene n", + "▁ti enen", + "▁tie nen", + "; &", + "m useum", + "▁E rr", + "▁Er r", + "▁ Err", + "▁re sort", + "▁res ort", + "No v", + "N ov", + "▁k al", + "▁ka l", + "▁ kal", + "M W", + "ш ь", + "an chor", + "anc hor", + "anch or", + "▁ро ман", + "le ading", + "lea ding", + "▁m anten", + "▁ma nten", + "▁man ten", + "▁mant en", + "▁Sil va", + "da de", + "d ade", + "▁design ated", + "▁rev ista", + "▁revis ta", + "O ct", + "per cent", + "▁у ні", + "ident ifier", + "ma ss", + "mas s", + "m ass", + "@ @", + "uls ion", + "ger meister", + "g ermeister", + "▁pred icted", + "▁predict ed", + "▁с ви", + "жно й", + "ж ной", + "▁Er geb", + "▁c ust", + "▁cu st", + "▁remove s", + "▁remov es", + "ch arg", + "char g", + "cha rg", + "при мер", + "▁for ming", + "▁form ing", + "as ma", + "asm a", + "std out", + "F un", + "ym e", + "y me", + "ter ed", + "te red", + "tere d", + "t ered", + "urs ive", + "ig hed", + "igh ed", + "▁сле д", + "▁ след", + "ver band", + "verb and", + "▁LO G", + "▁ LOG", + "ra ms", + "ram s", + "r ams", + "éo n", + "é on", + "en dra", + "end ra", + "▁Be reich", + "▁Bere ich", + "▁tempor al", + "▁temp oral", + "▁tempo ral", + "▁lang ue", + "▁lan gue", + "▁I nn", + "▁In n", + "▁more over", + "▁tutorial s", + "M iddle", + "▁совет ский", + "▁mainten ance", + "as ures", + "asure s", + "▁vál to", + "BA SE", + "B ASE", + "▁disapp ear", + "ски я", + "▁conoc ido", + "▁На у", + "▁Li bert", + "▁Lib ert", + "▁Liber t", + "▁Har old", + "▁life time", + "▁lif etime", + "▁T ür", + "▁za wod", + "▁zaw od", + "om ic", + "omi c", + "o mic", + "▁Retrie ved", + "arch itecture", + "č ka", + "iform es", + "develop ment", + "ord nung", + "In f", + "le ben", + "leb en", + "l eben", + "▁St ars", + "▁Sta rs", + "▁Star s", + "sign al", + "sig nal", + "▁gram mar", + "▁cor so", + "▁cors o", + "▁W agner", + "▁ge ht", + "▁royal e", + "▁roy ale", + "wa rn", + "war n", + "w arn", + "um bled", + "umb led", + "umble d", + "▁inst it", + "▁ins tit", + "▁Ш и", + "h h", + "▁ref uge", + "▁favor ite", + "ier to", + "iert o", + "▁cond ado", + "▁T her", + "▁The r", + "▁Th er", + "▁человек а", + "▁челове ка", + "▁F ood", + "▁Foo d", + "▁Fo od", + "▁se izo", + "▁sei zo", + "▁Init ialize", + "▁Initial ize", + "▁con nu", + "▁conn u", + "▁over lap", + "▁E mil", + "▁Em il", + "▁Mart í", + "▁жовт ня", + "er va", + "erv a", + "▁bo ats", + "▁boat s", + "a ções", + "▁der rot", + "▁m alloc", + "▁mal loc", + "▁ malloc", + "▁con ject", + "▁conj ect", + "j k", + "▁s are", + "▁sa re", + "▁sar e", + "ле мен", + "лем ен", + "▁s ums", + "▁su ms", + "▁sum s", + "Author ization", + "▁K un", + "▁Ku n", + "]$ ,", + "] $,", + "geme inde", + "gemein de", + "g emeinde", + "od ot", + "odo t", + "o dot", + "de fin", + "def in", + "▁e mission", + "▁em ission", + "▁Кра с", + "▁app art", + "▁ap part", + "▁appar t", + "▁stop ping", + "▁sto pping", + "▁С ред", + "▁conj ug", + "▁ins ight", + "▁Broad cast", + "▁PM ID", + "▁adv antages", + "▁advantage s", + "en es", + "ene s", + "e nes", + "▁res idence", + "▁resid ence", + "lj en", + "l jen", + "iss eur", + "isse ur", + "▁pubblic ato", + "▁Git Hub", + "▁Per u", + "▁Pe ru", + "▁galax ies", + "▁annot ations", + "▁annotation s", + "ga s", + "g as", + "▁ré pond", + "▁rép ond", + "J s", + "▁independent ly", + "▁independ ently", + "N P", + "▁in qu", + "▁gr ounds", + "▁ground s", + "Com ponents", + "Component s", + "▁a nten", + "▁an ten", + "▁ant en", + "▁ante n", + "▁ anten", + "▁в з", + "▁h os", + "▁ho s", + "▁ hos", + "▁s int", + "▁si nt", + "▁sin t", + "▁h iding", + "▁hi ding", + "▁hid ing", + "▁wojew ództ", + "Message s", + "Mess ages", + "▁по каза", + "▁пока за", + "== =", + "= ==", + "▁Ab stract", + "▁ Abstract", + "▁l äng", + "▁län g", + "▁lä ng", + "▁Form ula", + "da wn", + "d awn", + "▁design s", + "Im g", + "▁Portug uese", + "▁incl uy", + "▁inclu y", + "avig ator", + "▁Bro thers", + "▁cont inent", + "▁contin ent", + "▁evident ly", + "ra ce", + "rac e", + "r ace", + "ць кого", + "▁re ck", + "▁rec k", + "▁ reck", + "▁сер пня", + "▁G rey", + "▁Gr ey", + "▁Gre y", + "▁appe al", + "▁un like", + "▁power shell", + "▁pow ershell", + "▁powers hell", + "▁r acc", + "▁ra cc", + "▁rac c", + "fer s", + "fe rs", + "f ers", + "▁bur ning", + "▁burn ing", + "fas st", + "fass t", + "inst alled", + "install ed", + "▁G ive", + "▁Gi ve", + "▁col onial", + "▁colon ial", + "▁ €", + "▁R ö", + "▁ch rist", + "▁chr ist", + "ne hm", + "neh m", + "та м", + "▁cor po", + "▁con virti", + "yt er", + "y ter", + "S ym", + "▁Gree ce", + "▁m oth", + "▁mo th", + "▁mot h", + "▁Joh an", + "▁Jo han", + "▁mon arch", + "▁Down load", + "▁ Download", + "▁c raft", + "▁cr aft", + "▁cra ft", + "▁ craft", + "u ž", + "▁Lu ke", + "▁suf fix", + "▁suff ix", + "\\ /", + "Ha ve", + "H ave", + "▁ка рь", + "▁кар ь", + "▁comfort able", + "▁t ips", + "▁tip s", + "▁ti ps", + "▁П ісля", + "▁бро ја", + "▁ин форма", + "M Q", + "бра н", + "б ран", + "▁t x", + "▁ tx", + "▁sl aves", + "▁sla ves", + "▁slave s", + "▁fire wall", + "▁For ces", + "▁Force s", + "at if", + "ati f", + "▁Qu ellen", + "▁thé âtre", + "ль ных", + "▁располо жен", + "▁Det ails", + "▁ Details", + "k ą", + "▁long itud", + "IN ST", + "▁n aval", + "▁na val", + "▁nav al", + "Fern seh", + "es sel", + "ess el", + "esse l", + "Gr ad", + "G rad", + "▁be lang", + "▁bel ang", + "▁a ggi", + "▁ag gi", + "▁ aggi", + "Zygote Init", + "ł ów", + "▁S ug", + "▁Su g", + "si l", + "s il", + "▁ex terior", + "щ і", + "OR D", + "en ser", + "ens er", + "ense r", + "▁rapid e", + "▁rap ide", + "▁тем пера", + "in cie", + "inci e", + "inc ie", + "S i", + "av am", + "ava m", + "ar ded", + "ard ed", + "arde d", + "▁Ad ded", + "▁Add ed", + "End point", + "hard t", + "har dt", + "ст ран", + "стра н", + "стр ан", + "▁est ilo", + "▁H az", + "▁Ha z", + "▁mus ste", + "▁muss te", + "u o", + "ii i", + "i ii", + "▁ř í", + "▁ ří", + "an zen", + "anz en", + "anze n", + "же ний", + "ah a", + "a ha", + "ARN ING", + "▁re nov", + "▁ren ov", + "▁div ine", + "▁convin ced", + "▁hum ans", + "▁human s", + "▁hu mans", + "▁depart ure", + "▁Med iter", + "▁Medi ter", + "q a", + "▁poss essed", + "▁possess ed", + "▁цер кви", + "gi v", + "g iv", + "▁сво ї", + "▁Ort ste", + "▁Orts te", + "R ich", + "pu is", + "p uis", + "in crement", + "▁Hann over", + "▁u cz", + "Do ne", + "Don e", + "D one", + "▁alg uns", + "FI X", + "F IX", + "▁Her itage", + "remove Class", + "фе р", + "ф ер", + "▁a bc", + "▁ab c", + "▁ abc", + "D r", + "▁се мей", + "▁сем ей", + "{ :", + "▁se ule", + "▁seu le", + "▁seul e", + "zeich nungen", + "zeichnung en", + "ad dy", + "add y", + "▁Par ís", + "üss eld", + "▁re ception", + "▁rece ption", + "fo lio", + "fol io", + "ti ny", + "t iny", + "▁recens ement", + "▁N ur", + "▁Nu r", + "▁k ier", + "▁ki er", + "▁g mina", + "▁gmin a", + "sta at", + "ánd ose", + "че ская", + "▁spe aker", + "▁speak er", + "▁expon ential", + "▁exponent ial", + "▁D ieu", + "▁Die u", + "▁Di eu", + "▁при з", + "▁пр из", + "▁Raf ael", + "▁gg plot", + "▁Tem plate", + "▁Temp late", + "▁ Template", + "ou re", + "our e", + "o ure", + "▁In ner", + "▁Inn er", + "▁ Inner", + "og ne", + "ogn e", + "ig are", + "iga re", + "▁Ar te", + "▁Art e", + "▁C ov", + "▁Co v", + "▁auf grund", + "▁Б ы", + "▁cerem ony", + "▁S part", + "▁Sp art", + "ject ive", + "y i", + "▁in izi", + "▁l atin", + "▁lat in", + "▁Never theless", + "▁D one", + "▁Do ne", + "▁Don e", + "▁ Done", + "т ря", + "▁A rr", + "▁Ar r", + "▁ Arr", + "se ason", + "▁скла ду", + "▁pod czas", + "▁Beaut iful", + "▁Weltkrie g", + "▁з о", + "▁ зо", + "▁over come", + "▁Pr aha", + "▁Pra ha", + "▁рай ону", + "▁райо ну", + "▁район у", + "▁sub scription", + "▁subs cription", + "▁subscri ption", + "ig ent", + "igen t", + "ige nt", + "i gent", + "▁по ка", + "la tex", + "lat ex", + "late x", + "▁b each", + "▁be ach", + "▁ро ках", + "ge g", + "g eg", + "▁pro bl", + "▁prob l", + "arg uments", + "argument s", + "▁organ izations", + "▁organiz ations", + "▁organization s", + "▁N an", + "▁Na n", + "▁st ones", + "▁sto nes", + "▁stone s", + "▁H unter", + "▁Hun ter", + "▁regular ly", + "шо го", + "ш ого", + "▁flex ible", + "op ts", + "opt s", + "o pts", + "á ř", + "wi tz", + "w itz", + "▁' )", + "▁ ')", + "PA SS", + "P ASS", + "▁k raj", + "▁kr aj", + "▁kra j", + "▁f ake", + "▁fa ke", + "he its", + "heit s", + "os ph", + "osp h", + "parse Int", + "F ALSE", + "▁prof ess", + "▁profes s", + "pe ople", + "▁pre cip", + "▁prec ip", + "dir name", + "▁per pet", + "▁Up dated", + "▁Update d", + "▁ Updated", + "ra yed", + "ray ed", + "▁prov oc", + "▁тра вня", + "▁трав ня", + "▁categ orie", + "▁categor ie", + "▁те о", + "с ну", + "ot r", + "o tr", + "▁Вер хов", + "▁comp ét", + "Co st", + "C ost", + "▁w ider", + "▁wide r", + "▁wid er", + "▁Ob viously", + "пи сан", + "писа н", + "пис ан", + "▁на стоя", + "▁see king", + "▁seek ing", + "() ),", + "()) ,", + "( )),", + "▁é quipe", + "▁équip e", + "▁ équipe", + "▁comm its", + "▁commit s", + "▁S vens", + "▁Sv ens", + "я бре", + "at ern", + "ate rn", + "ater n", + "a tern", + "▁h eter", + "▁he ter", + "▁het er", + "▁Boot strap", + "én é", + "é né", + "▁deriv atives", + "▁derivative s", + "▁Det roit", + "▁provin cial", + "▁provincia l", + "onom ie", + "E B", + "▁c uer", + "▁cu er", + "▁от носи", + "▁отно си", + "▁не й", + "▁н ей", + "▁ ней", + ") ».", + "▁Ci udad", + "IA L", + "I AL", + "zy st", + "z yst", + ")\" )", + ") \")", + "▁Al c", + "bl ogs", + "blog s", + "blo gs", + "b logs", + "▁par mi", + "▁Album s", + "▁Alb ums", + "▁Bo liv", + "▁Bol iv", + "▁c lés", + "▁cl és", + "Product s", + "uer do", + "▁ge lang", + "▁gel ang", + "zn ik", + "z nik", + "ha gen", + "h agen", + "an onymous", + "▁sv g", + "▁ svg", + "▁Cons eil", + "▁Conse il", + "▁A ri", + "▁Ar i", + "col i", + "co li", + "c oli", + "▁c zy", + "▁cz y", + "▁ czy", + "▁C V", + "▁ CV", + "▁f ord", + "▁for d", + "▁fo rd", + "▁ ford", + "▁Au ßer", + "▁Auß er", + "▁C I", + "▁ CI", + "▁t empt", + "▁tem pt", + "▁temp t", + "▁Organ isation", + "á š", + "▁cy cles", + "▁cycle s", + "▁cycl es", + "▁ges lacht", + "▁лю дей", + "ým i", + "ý mi", + "▁S pieler", + "▁Spiel er", + "ef e", + "e fe", + "▁Mar vel", + "▁por tal", + "▁port al", + "▁porta l", + "▁ portal", + "▁Сер г", + "▁g rado", + "▁gr ado", + "▁gra do", + "▁grad o", + "▁hand lers", + "▁handle rs", + "▁handler s", + "▁Inter face", + "▁ Interface", + "AM E", + "A ME", + "▁ser iously", + "▁serious ly", + "▁B inding", + "▁Bin ding", + "▁Bind ing", + "▁ Binding", + "▁R ang", + "▁Ra ng", + "▁Ran g", + "▁n ada", + "▁na da", + "▁nad a", + "oc e", + "o ce", + "▁inte gra", + "▁integr a", + "oc racy", + "ocr acy", + "▁аль бо", + "▁st ability", + "▁stabil ity", + "Un s", + "U ns", + "▁v eter", + "▁ve ter", + "-- ----+", + "---- --+", + "--- ---+", + "------ +", + "----- -+", + "▁se rait", + "▁ser ait", + "▁sera it", + "▁om itted", + "▁uncertain ty", + "on ian", + "oni an", + "onia n", + "▁re sto", + "▁r esto", + "▁res to", + "▁rest o", + "▁же лез", + "▁од ной", + "▁одно й", + "▁Bevölker ung", + "▁K raft", + "▁Kr aft", + "▁Kra ft", + "ст р", + "▁Mos cow", + "la ne", + "lan e", + "l ane", + "ar ab", + "ara b", + "a rab", + "▁s pole", + "▁sp ole", + "▁spo le", + "▁сво его", + "? :", + "ST ART", + "▁ин тер", + "▁инте р", + "▁sym pt", + "▁Loren zo", + "▁ej ec", + "▁pros per", + "DA T", + "D AT", + "лимпи й", + "▁sh apes", + "▁shape s", + "value Of", + "▁associ ate", + "▁Med ien", + "▁Medi en", + "EN V", + "▁с ре", + "▁држа ве", + "▁the ories", + "he b", + "h eb", + "▁Way ne", + "▁String Builder", + "iw ers", + "i wers", + "▁M aps", + "▁Ma ps", + "▁Map s", + "Ph ys", + "\\} \\", + "\\ }\\", + "▁P arte", + "▁Par te", + "▁Part e", + "▁Hud son", + "ло н", + "л он", + "L ng", + "▁р ы", + "▁ ры", + "ст ей", + "сте й", + "с тей", + "la u", + "l au", + "an cer", + "ance r", + "anc er", + "▁Co ppa", + "▁Cop pa", + "▁вій сь", + "▁u cc", + "▁Pat tern", + "▁ Pattern", + "▁gar bage", + "▁Gon zález", + "▁Encyc lop", + "et ten", + "ett en", + "ette n", + "Ex ternal", + "Ext ernal", + "RE F", + "R EF", + "> ;", + "lij ke", + "lijk e", + "▁inter sect", + "▁Un less", + "▁de eper", + "▁deep er", + "▁ж і", + "▁ жі", + "de nt", + "den t", + "d ent", + "le f", + "l ef", + "▁ch anson", + "▁diff us", + "▁pr imi", + "▁prim i", + "▁pri mi", + "▁W ieder", + "▁Wi eder", + "▁Wie der", + "▁a ws", + "▁aw s", + "▁ aws", + "ow ana", + "owa na", + "owan a", + "▁so ciale", + "▁social e", + "▁soci ale", + "▁soc iale", + "ik k", + "i kk", + "ль ной", + "льно й", + "▁div isions", + "▁division s", + "▁divis ions", + "ло со", + "▁Cl aud", + "▁Cla ud", + "▁Y a", + "▁v oce", + "▁vo ce", + "▁voc e", + "▁B ranch", + "▁Br anch", + "▁Bran ch", + "▁f itted", + "▁fit ted", + "or r", + "o rr", + "ôt el", + "ô tel", + "st roke", + "str oke", + "list ener", + "listen er", + "im an", + "ima n", + "i man", + "во сто", + "▁Sh ah", + "Int roduction", + "▁new line", + "▁t ile", + "▁til e", + "▁ti le", + "'] ))", + "']) )", + "' ]))", + "▁trav aux", + "▁trava ux", + "CON FIG", + "▁quadr atic", + "on neur", + "onn eur", + "onne ur", + "▁Gi org", + "▁ident ific", + "éric aine", + "érica ine", + "▁UI View", + "▁ UIView", + "▁Lib eral", + "▁Liber al", + "▁K och", + "▁Ko ch", + "▁Berlin er", + "▁Berl iner", + "▁not ifications", + "▁notification s", + "▁Su san", + "▁Sus an", + "▁c adre", + "▁cad re", + "▁K loster", + "▁Kl oster", + "▁exam ine", + "▁е дин", + "▁еди н", + "▁UN ION", + "▁al ten", + "▁alt en", + "▁alte n", + "▁f init", + "▁fin it", + "▁fi nit", + "▁pe dig", + "▁ped ig", + "cy k", + "c yk", + "▁mouv ement", + "▁mou vement", + "IO S", + "I OS", + "▁бри тан", + "▁b out", + "▁bo ut", + "▁bou t", + "▁ав тор", + "▁авто р", + "ниц тво", + "ет о", + "е то", + "le ra", + "ler a", + "l era", + "cl s", + "c ls", + "▁L ey", + "▁Le y", + "am y", + "a my", + "ag ens", + "age ns", + "agen s", + "a gens", + "as hed", + "ash ed", + "▁ok rę", + "г ро", + "el lett", + "ell ett", + "elle tt", + "▁F ellow", + "▁Fel low", + "▁manif old", + "$) ,", + "$ ),", + "ld er", + "l der", + "▁v oz", + "▁vo z", + "▁be gg", + "▁beg g", + "▁b aron", + "▁bar on", + "▁ba ron", + "▁f id", + "▁fi d", + "▁f iring", + "▁fi ring", + "▁fir ing", + "il da", + "ild a", + "de k", + "d ek", + "A U", + "it are", + "ita re", + "itar e", + "▁A ra", + "▁Ar a", + "▁Ex it", + "▁ Exit", + "▁cin emat", + "▁cinema t", + "▁int ros", + "▁intr os", + "▁intro s", + "▁contact s", + "пе ни", + "пен и", + "▁m öglich", + "▁Singap ore", + "str öm", + "▁H ern", + "▁He rn", + "▁Her n", + "▁six th", + "▁public ations", + "▁pub lications", + "▁publication s", + "vi e", + "v ie", + "▁H at", + "▁Ha t", + "▁accept ing", + "á c", + "st wo", + "s two", + "▁quiet ly", + "Ph oto", + "▁b asket", + "▁bas ket", + "▁eigen values", + "▁mé dec", + "▁méd ec", + "▁O limp", + "▁Ol imp", + "▁цер ков", + "al in", + "ali n", + "a lin", + "con sum", + "cons um", + "▁l assen", + "▁las sen", + "▁ lassen", + "▁ан ти", + "▁S eq", + "▁Se q", + "▁ Seq", + "\"; \r", + "\" ;\r", + "ra re", + "rar e", + "r are", + "▁$ |\\", + "▁$| \\", + "▁n ick", + "▁ni ck", + "▁nic k", + "▁ nick", + "df lare", + "V ec", + "bind ung", + "▁b g", + "▁ bg", + "ch anges", + "change s", + "chan ges", + "Day s", + "Da ys", + "D ays", + "▁M ouse", + "▁Mo use", + "▁Mou se", + "▁ Mouse", + "▁wait ed", + "▁wa ited", + "▁Tom atoes", + "▁f as", + "▁fa s", + "▁ fas", + "ver te", + "vert e", + "v erte", + "▁success ion", + "▁succ ession", + "со р", + "с ор", + "▁s ols", + "▁so ls", + "▁sol s", + "▁R ender", + "▁Re nder", + "▁Ren der", + "▁ Render", + "▁lead ership", + "▁leader ship", + "▁leaders hip", + "▁signific ance", + "▁ga uche", + "▁gau che", + "ca no", + "can o", + "c ano", + "▁P ie", + "▁Pi e", + "enso ort", + "▁cam bio", + "▁camb io", + "▁у з", + "▁ende av", + "Comp leted", + "Comple ted", + "Complete d", + "▁Архив ная", + "j d", + "ór ico", + "ó rico", + "▁church es", + "▁an imate", + "▁anim ate", + "▁ani mate", + "▁ animate", + "S G", + "comp ute", + "comput e", + "▁uniform ly", + "IN IT", + "ll es", + "lle s", + "l les", + "Http Request", + "К о", + "Di ff", + "D iff", + "▁s ah", + "▁sa h", + "air o", + "ai ro", + "a iro", + "may be", + "UT E", + "U TE", + "▁D ow", + "▁Do w", + "hu man", + "hum an", + "h uman", + "▁au rait", + "▁aur ait", + "dar k", + "d ark", + "▁re pair", + "▁rep air", + "▁n er", + "▁ne r", + "▁ ner", + "▁D abei", + "▁Da bei", + "▁Bo tan", + "▁Bot an", + "Or iginal", + "Origin al", + "az ă", + "▁N AT", + "▁NA T", + "im per", + "imp er", + "▁Y outh", + "▁You th", + "th es", + "the s", + "t hes", + "▁окру га", + "▁F lo", + "▁Fl o", + "▁break fast", + "ur ls", + "url s", + "▁über nahm", + "ár ios", + "ário s", + "á rios", + "▁O range", + "▁Or ange", + "▁Aff airs", + "sk e", + "s ke", + "▁not ify", + "▁ notify", + "imo ine", + "▁Ar ena", + "▁Are na", + "▁lib eral", + "▁liber al", + "▁o bec", + "▁ob ec", + "if a", + "i fa", + "gu ez", + "gue z", + "g uez", + "ion o", + "io no", + "i ono", + "пера тор", + "▁ret ained", + "▁retain ed", + "fa iled", + "fail ed", + "bin e", + "bi ne", + "b ine", + "т ных", + "▁CG Rect", + "cam era", + "ide note", + "iden ote", + "K B", + "▁l ights", + "▁light s", + "▁P ictures", + "▁Picture s", + "▁Squad ron", + "▁V olk", + "▁Vol k", + "▁b urg", + "▁bu rg", + "▁bur g", + "▁ burg", + ", ]", + "G i", + "ê que", + "make Text", + "▁every body", + "▁Hy per", + "▁Hyp er", + "▁De ux", + "▁gl ory", + "▁glo ry", + "pres entation", + "present ation", + "on ica", + "oni ca", + "onic a", + "o nica", + "▁fr ère", + "ag et", + "age t", + "a get", + "▁h ints", + "▁hint s", + "▁hin ts", + "▁t unnel", + "▁tun nel", + "▁E j", + "ál is", + "á lis", + "▁V iv", + "▁Vi v", + "ствен ных", + "▁c aps", + "▁cap s", + "▁ca ps", + "PA RT", + "PAR T", + "P ART", + "oc i", + "o ci", + "▁p rices", + "▁pr ices", + "▁pri ces", + "▁price s", + "curr ency", + "c urrency", + "▁a chter", + "▁ach ter", + "▁acht er", + "rom agnet", + "ge nder", + "gen der", + "gende r", + "g ender", + "▁s uis", + "▁su is", + "vers ions", + "version s", + "▁Tr aining", + "▁Tra ining", + "▁Train ing", + "in side", + "ins ide", + "eg e", + "e ge", + "▁tot ale", + "▁total e", + "▁D aar", + "▁Da ar", + "▁grud nia", + "▁I er", + "▁occasion s", + "▁occas ions", + "▁k de", + "▁tensor flow", + "▁ tensorflow", + "▁ó r", + "▁ ór", + "Method s", + "▁loop ing", + "▁direct eur", + "k ę", + "▁is omorphism", + "▁Jo ão", + "▁al igned", + "▁align ed", + "▁ aligned", + "он ов", + "о нов", + "ur ger", + "urg er", + "▁n ova", + "▁no va", + "▁nov a", + "mor row", + "m orrow", + "al tern", + "alt ern", + "alter n", + "H D", + "▁m arqu", + "▁mar qu", + "at ivas", + "ativ as", + "ati vas", + "ativa s", + "gg reg", + "g greg", + "▁anci en", + "▁anc ien", + "ni t", + "n it", + "▁sec ured", + "▁secure d", + "mi er", + "m ier", + "▁O le", + "▁Ol e", + "▁ин те", + "▁m inus", + "▁min us", + "▁ minus", + "▁clear er", + "▁n ello", + "▁nel lo", + "▁nell o", + "▁információ k", + "▁pro pre", + "▁prop re", + "{ .", + "il og", + "ilo g", + "i log", + "▁Qu ick", + "▁acc us", + "▁ac cus", + "emp loyee", + "▁з у", + "▁ зу", + "ць кий", + "фі цій", + "▁пу бли", + "▁ публи", + "▁b ent", + "▁be nt", + "▁ben t", + "▁по зво", + "▁П ор", + "▁По р", + "áz í", + "án ico", + "á nico", + "empty set", + "▁sur tout", + "re no", + "ren o", + "r eno", + "un ya", + "▁у ез", + "▁Mill ionen", + "▁listop ada", + "▁M aine", + "▁Ma ine", + "▁Main e", + "▁Mai ne", + "▁gru pos", + "▁grupo s", + "▁grup os", + "▁St orage", + "▁Sto rage", + "▁ Storage", + "▁app le", + "▁ap ple", + "▁ apple", + "▁L ö", + "ou sed", + "ous ed", + "ouse d", + "o used", + "д ро", + "sc i", + "s ci", + "▁hi bernate", + "▁ hibernate", + "do g", + "d og", + "▁во сто", + "▁вос то", + "▁ восто", + "▁intens ity", + "leg end", + "lege nd", + "legen d", + "▁W ille", + "▁Will e", + "▁Wil le", + "▁Wi lle", + "▁szer int", + "ges ellschaft", + "▁L iving", + "▁Li ving", + "▁Liv ing", + "al lo", + "all o", + "▁S plit", + "▁Sp lit", + "▁ Split", + "dr u", + "d ru", + "ne ed", + "n eed", + "▁Дж он", + "▁Sw iss", + "▁sp raw", + "▁spr aw", + "▁be ho", + "▁beh o", + "▁fot ograf", + "▁ren contre", + "▁k is", + "▁ki s", + "▁sign ing", + "▁sig ning", + "ak ult", + "aku lt", + "▁index ing", + "ap or", + "a por", + "▁con ception", + "▁concept ion", + "▁conce ption", + "ag greg", + "agg reg", + "a ggreg", + "▁Са вез", + "▁aff air", + "ě ní", + "A ugust", + "▁се кре", + "▁miesz kań", + "UI Image", + "▁b ishop", + "▁bi shop", + "▁ bishop", + "▁serv ants", + "▁servant s", + "▁tr ail", + "▁tra il", + "di git", + "dig it", + "▁jo ins", + "▁join s", + "▁N ear", + "▁Ne ar", + "öff entlich", + "> {", + "▁sk ład", + "ge führt", + "gef ührt", + "▁Hol z", + "▁Milit är", + "ach i", + "ac hi", + "a chi", + "Up per", + "U pper", + "pi ne", + "pin e", + "p ine", + "ut zt", + "utz t", + "▁nu ova", + "ibr ation", + "▁B ien", + "▁Bi en", + "▁пер вый", + "▁первы й", + "▁Cre ating", + "On ce", + "▁ein mal", + "▁ge ometric", + "▁geomet ric", + "st vo", + "▁k W", + "▁decom position", + "▁com edy", + "▁come dy", + "▁activ ation", + "▁an gry", + "▁ang ry", + "ill eurs", + "ille urs", + "▁inst antly", + "▁instant ly", + "▁suggest ing", + "▁C lay", + "▁Cl ay", + "▁Cla y", + "co t", + "c ot", + "▁G én", + "▁Gé n", + "($ (", + "( $(", + "un wrap", + "▁lif ted", + "▁lift ed", + "▁K it", + "▁Ki t", + "▁ Kit", + "▁l inea", + "▁li nea", + "▁line a", + "▁lin ea", + "о к", + "ha rt", + "har t", + "h art", + "-> _", + "▁n uit", + "▁nu it", + "▁Iss ue", + "ли и", + "▁r öm", + "Task s", + "▁S r", + "▁se is", + "▁sei s", + "as ia", + "asi a", + "}} $.", + "}}$ .", + "} }$.", + ": {", + "control s", + "contr ols", + "▁S tim", + "▁St im", + "▁Re cht", + "▁Rec ht", + "ocia ción", + "oci ación", + "▁N atal", + "▁Na tal", + "▁Nat al", + "▁Philipp ines", + "ul en", + "ule n", + "u len", + "F ixed", + "▁switch ed", + "Z ip", + "os pel", + "osp el", + "▁нача ле", + "▁B lan", + "▁Bl an", + "▁Bla n", + "ur st", + "urs t", + "▁aut our", + "▁auto ur", + "C a", + "▁lat itude", + "▁F rei", + "▁Fre i", + "▁Fr ei", + "▁Mus ée", + "▁K urz", + "▁Kur z", + "▁Ku rz", + "▁reg ião", + "sw ap", + "▁h ate", + "▁ha te", + "▁hat e", + "▁mod ifications", + "▁modification s", + "▁modific ations", + "▁К ом", + "▁Ко м", + "▁Anto ine", + "ug a", + "u ga", + "RE CT", + "R ECT", + "ét er", + "é ter", + "G ROUP", + "▁sacr ific", + "▁W he", + "▁Wh e", + "▁Ste vens", + "▁Steve ns", + "▁Steven s", + "olog ische", + "Sum mary", + "ob s", + "o bs", + "hn en", + "h nen", + "< %=", + "di enst", + "d ienst", + "re mark", + "rem ark", + "r emark", + "▁veröff entlicht", + "е л", + "▁M ock", + "▁Mo ck", + "▁ Mock", + "▁Ль в", + "▁tr ês", + "g b", + "▁celebr ated", + "▁E b", + "▁c osta", + "▁co sta", + "▁cost a", + "▁cos ta", + "▁Ge ographic", + "▁att achment", + "▁attach ment", + "mann schaft", + "▁depend ence", + "� �", + "▁att itude", + "et al", + "eta l", + "e tal", + "vi c", + "v ic", + "ba ut", + "bau t", + "b aut", + "▁д ов", + "▁до в", + "▁ дов", + "▁inter ven", + "▁G ü", + "ón ica", + "ó nica", + "▁P on", + "▁Po n", + "▁dispon ible", + "▁F eb", + "▁Fe b", + "▁wor ship", + "▁Specific ally", + "H y", + "ij u", + "i ju", + "▁c b", + "▁ cb", + "▁sp ac", + "lev eland", + "level and", + "▁local idad", + "▁prec eding", + "▁preced ing", + "▁H essen", + "x p", + "▁W ein", + "▁We in", + "▁Wei n", + "▁Rom â", + "▁gi orno", + "▁gior no", + "▁квіт ня", + "lla ços", + "▁Academ ia", + "▁k ül", + "▁Å rs", + "▁на ј", + "uc lide", + "Inter net", + "Intern et", + "or ton", + "ort on", + "▁c orn", + "▁cor n", + "▁co rn", + "я ми", + "▁\" *", + "▁Fel ix", + "ap at", + "apa t", + "a pat", + "▁сво и", + "MI T", + "M IT", + "ma de", + "mad e", + "m ade", + "▁lo comot", + "хо да", + "ход а", + "F P", + "▁p m", + "▁ pm", + ".* ;", + "▁H amm", + "▁Ha mm", + "▁Ham m", + "` }", + "Layout Inflater", + "== \"", + "= =\"", + "▁E ur", + "▁Eu r", + "▁d ogs", + "▁do gs", + "▁dog s", + "же нии", + "▁a zon", + "▁az on", + "▁ azon", + "▁em ulator", + "▁r icon", + "▁ric on", + "▁ri con", + "be eld", + "▁н у", + "▁ ну", + "▁approxim ate", + "L M", + "▁B ond", + "▁Bo nd", + "▁Bon d", + "▁en h", + "ęd z", + "ę dz", + "▁s olit", + "▁so lit", + "▁sol it", + "Relative Layout", + "et eor", + "ete or", + "ament os", + "amento s", + "▁in direct", + "▁ind irect", + "ib ől", + "▁g ros", + "▁gr os", + "▁gro s", + "▁Original s", + "▁Origin als", + "▁Orig inals", + "comm ands", + "command s", + "Ex port", + "Exp ort", + "▁A vec", + "▁Av ec", + "▁sole mn", + "▁solem n", + "▁correct ion", + "▁corre ction", + "▁corr ection", + "▁про води", + "▁прово ди", + "▁Mo sk", + "▁Mos k", + "▁по до", + "▁под о", + "▁geb ied", + "▁nast ęp", + "▁D river", + "▁Dr iver", + "▁Drive r", + "▁ Driver", + "▁O ok", + "▁V ec", + "▁Ve c", + "▁ Vec", + "▁lung o", + "▁lun go", + "fi cos", + "fic os", + "fico s", + "f icos", + "▁s vol", + "▁sv ol", + "▁svo l", + "▁k id", + "▁ki d", + "n ja", + "▁H r", + "▁под дер", + "▁vis ibility", + "▁ visibility", + "▁M éd", + "▁Mé d", + "▁c pu", + "▁cp u", + "▁ cpu", + "dis cussion", + "As set", + "Ass et", + "▁def ense", + "▁Any one", + "▁Just in", + "is zt", + "isz t", + "▁Coll ins", + "▁Val ent", + "▁P ale", + "▁Pa le", + "▁Pal e", + "▁f uel", + "▁fue l", + "▁fu el", + "▁n ose", + "▁no se", + "▁nos e", + "rí guez", + "▁Sch les", + "▁Schl es", + "▁Mal ays", + "▁com mut", + "▁comm ut", + "dr o", + "d ro", + "ui ng", + "u ing", + "▁R ico", + "▁Ric o", + "▁Ri co", + "▁Em ma", + "or p", + "o rp", + "▁K irk", + "▁Kir k", + "▁Qu ando", + "▁Ne ue", + "▁Neu e", + "▁de mande", + "▁dem ande", + "▁demand e", + "▁C over", + "▁Co ver", + "▁Cov er", + "▁res cue", + "▁gew ählt", + "▁Cal endar", + "▁ Calendar", + "▁Mad onna", + "W P", + "os hi", + "osh i", + "▁M aven", + "▁Ma ven", + "▁b elle", + "▁be lle", + "▁bel le", + "▁bell e", + "▁w x", + "▁ wx", + "▁su gar", + "▁sug ar", + "▁Bet rieb", + "▁equilib rium", + "E AR", + "▁text s", + "▁tex ts", + "сло в", + "с лов", + "▁czerw ca", + "▁D üsseld", + "▁EL SE", + "▁am ery", + "▁amer y", + "▁a ni", + "▁an i", + "▁ ani", + "▁o bey", + "▁ob ey", + "▁N ell", + "▁Ne ll", + "▁Nel l", + "▁in ne", + "▁inn e", + "▁т ро", + "▁ тро", + "F D", + "cc o", + "c co", + "▁Z ob", + "▁Zo b", + "al ette", + "ale tte", + "alet te", + "a lette", + "▁má jus", + "ect ed", + "ec ted", + "e cted", + "▁Tur key", + "▁Turk ey", + "▁Wh ether", + "▁Whe ther", + "q i", + "▁ш то", + "▁head quarters", + "en di", + "end i", + "ar us", + "aru s", + "a rus", + "op us", + "o pus", + "▁з оло", + "▁зо ло", + "▁de stru", + "▁dest ru", + "▁L ok", + "▁Lo k", + "▁satisf action", + "() \r", + "( )\r", + "▁Т ер", + "▁Те р", + "Jo se", + "J ose", + "▁con quer", + "▁conqu er", + "▁E ffect", + "▁ Effect", + "Layout Params", + "ie z", + "i ez", + "▁extern s", + "▁gegen über", + "▁E SP", + "▁ES P", + "ol ta", + "olt a", + "process or", + "proc essor", + "▁K ult", + "▁Ku lt", + "▁Atl anta", + "▁t ier", + "▁ti er", + "▁tie r", + "Oper ator", + "▁ди а", + "▁пи сь", + "▁gro ß", + "▁he arts", + "▁heart s", + "▁hear ts", + "▁mill imeter", + "al though", + "alth ough", + "al les", + "all es", + "alle s", + "a lles", + "▁Mag ic", + "tr aining", + "tra ining", + "train ing", + "ol ine", + "oli ne", + "olin e", + "o line", + "▁орган і", + ">\\< ^", + "> \\<^", + "ці аль", + "ex ports", + "export s", + "Work book", + "▁вере сня", + "▁t eles", + "▁te les", + "▁tele s", + "▁tel es", + "▁econom y", + "▁econ omy", + "▁ec onomy", + "▁t rap", + "▁tr ap", + "▁tra p", + "▁ref use", + "▁str anger", + "▁strange r", + "▁stran ger", + "▁inst inct", + "по да", + "ol an", + "ola n", + "o lan", + "▁n ing", + "▁ni ng", + "▁nin g", + "▁ ning", + "inf late", + "infl ate", + "itat ea", + "itate a", + "ack s", + "ac ks", + "a cks", + "▁J oy", + "▁Jo y", + "FL AG", + "FLA G", + "ail and", + "ai land", + "▁sort i", + "▁sor ti", + "▁в пер", + "▁p én", + "▁pé n", + "Not hing", + "No thing", + "N othing", + "▁sz áz", + "▁Á ng", + "▁A UT", + "▁ AUT", + "Act ions", + "Action s", + "A ctions", + "E very", + "▁чер вня", + "▁авто мо", + "▁rout ine", + "▁e struct", + "▁est ruct", + "▁G ang", + "▁Ga ng", + "▁Gan g", + "▁h oles", + "▁ho les", + "▁hol es", + "▁hole s", + "th esis", + "thes is", + "▁con cl", + "▁conc l", + "▁p é", + "ri ers", + "rie rs", + "rier s", + "r iers", + "ро вой", + "рово й", + "р овой", + "ad ic", + "adi c", + "a dic", + "Sp eed", + "Spe ed", + "▁command ed", + "▁N azionale", + "▁Naz ionale", + "Man aged", + "▁DE CLARE", + "▁se dan", + "▁sed an", + "String s", + "Str ings", + "▁sa cred", + "▁sac red", + "▁sacr ed", + "ter such", + "ters uch", + "▁abit anti", + "br it", + "b rit", + "▁N CAA", + "▁NC AA", + "▁С П", + "▁a ged", + "▁ag ed", + "▁age d", + "▁ aged", + "▁Ch iesa", + "▁Chi esa", + "▁re vision", + "▁rev ision", + "▁revis ion", + "op ro", + "o pro", + "▁over write", + "emb ros", + "embro s", + "▁sort ie", + "▁sorti e", + "▁ot ten", + "▁ott en", + "xi v", + "x iv", + "▁d eli", + "▁de li", + "▁del i", + "▁A sp", + "▁As p", + "▁b alls", + "▁bal ls", + "▁ball s", + "ka f", + "k af", + "▁br ave", + "▁bra ve", + "▁все го", + "▁вс его", + "eg n", + "e gn", + "jp eg", + "▁O sten", + "▁Os ten", + "▁Ost en", + "Const ants", + "▁Inf antry", + "▁N ev", + "▁Ne v", + "▁я ких", + "▁як их", + "▁му ниципа", + "ci ja", + "c ija", + "▁p oem", + "▁po em", + "▁ne gro", + "▁neg ro", + "ха р", + "х ар", + "▁A sk", + "▁As k", + "▁a vo", + "▁av o", + "▁ avo", + "▁Me yer", + "▁Mey er", + "▁W esten", + "▁We sten", + "▁West en", + "▁Wes ten", + "▁o ko", + "▁ok o", + "▁ oko", + "ag in", + "agi n", + "a gin", + "▁Süd en", + "▁Sü den", + "ent ries", + "entr ies", + "▁Rep ublik", + "▁Repub lik", + "Collection View", + "-- -----", + "---- ---", + "--- ----", + "------ -", + "----- --", + "- ------", + "▁fire fox", + "▁alc une", + "▁фо то", + "▁отри ма", + "~~~~ ~~~~", + "▁Ра з", + "▁Com plex", + "▁Comp lex", + "▁Comple x", + "▁p ia", + "▁pi a", + "▁public ada", + "we i", + "w ei", + "ced ure", + "occup ation", + "▁medic ine", + "▁dr ove", + "▁dro ve", + "Pro blem", + "▁beg inner", + "▁begin ner", + "▁thorough ly", + "ur ia", + "uri a", + "u ria", + "av ant", + "ava nt", + "avan t", + "uch a", + "uc ha", + "u cha", + "▁l ever", + "▁le ver", + "▁lev er", + "▁te atro", + "▁teat ro", + "AV A", + "A VA", + "sq u", + "s qu", + "tr at", + "tra t", + "t rat", + "iv atal", + "iva tal", + "▁d irty", + "▁dir ty", + "▁se conde", + "▁second e", + "▁sec onde", + "▁grav it", + "▁pro position", + "▁prop osition", + "▁propos ition", + "h bar", + "om ini", + "omin i", + "omi ni", + "▁ ”", + "▁C amil", + "▁Cam il", + "▁Ca mil", + "▁qu een", + "▁que en", + "mod ifier", + "J an", + "▁l yr", + "▁ly r", + "Com boBox", + "ion ic", + "io nic", + "ioni c", + "i onic", + "▁h oly", + "▁ho ly", + "▁hol y", + "▁Sebast ian", + "| _{", + "▁{ @", + "▁мо жно", + "▁мож но", + "▁Cre ative", + "▁inter ess", + "▁inte ress", + "▁C T", + "▁ CT", + "i ções", + "▁ch ant", + "▁cha nt", + "▁ chant", + "▁wsp ół", + "▁Мекси ка", + "▁ran ked", + "▁rank ed", + "▁paździer nika", + "▁b rut", + "▁br ut", + "▁bru t", + "▁far ther", + "▁V erb", + "▁Ver b", + "▁Ve rb", + "▁S even", + "▁Se ven", + "lb l", + "l bl", + "▁mention s", + "▁ment ions", + "▁F ight", + "▁Fig ht", + "if en", + "ife n", + "i fen", + "▁b og", + "▁bo g", + "▁re gres", + "▁reg res", + "▁sc oring", + "ic ane", + "ica ne", + "ican e", + "▁El li", + "▁Ell i", + "▁pie rw", + "▁pier w", + "me asure", + "ński ej", + "ń skiej", + "# {", + "▁де ся", + "▁var maste", + "▁Un ix", + "I Z", + "iti é", + "Prim ary", + "▁Spring er", + "▁Spr inger", + "ün g", + "ü ng", + "▁an v", + "▁vers ione", + "▁version e", + "▁should ers", + "▁shoulder s", + "▁бри га", + "▁j av", + "▁ja v", + "▁ jav", + "lt al", + "l tal", + "▁kall aste", + "▁Mitch ell", + "▁wire less", + "▁wir eless", + "▁Á l", + "resp ons", + "co uld", + "cou ld", + "c ould", + "▁re lax", + "▁rel ax", + "▁rela x", + "▁ relax", + "Lo nd", + "L ond", + "ń cz", + "ство вал", + "ствова л", + "▁pol ski", + "en ç", + "za r", + "z ar", + "▁d type", + "▁dt ype", + "ow ned", + "own ed", + "un known", + "unk nown", + "▁m utable", + "▁mu table", + "▁mut able", + "▁ mutable", + "▁si empre", + "▁Mont real", + "▁loc ate", + "▁tr aces", + "▁tra ces", + "▁trace s", + "▁trac es", + "▁ins gesamt", + "▁N il", + "▁Ni l", + "▁ Nil", + "▁п рода", + "▁про да", + "▁прод а", + "▁War ner", + "▁N au", + "▁Na u", + "tri angle", + "▁concentr ation", + "▁gentle men", + "äch t", + "ä cht", + "fil ters", + "filter s", + "inci pal", + "VAL ID", + "▁де пута", + "ad ó", + "▁kon st", + "gs å", + "ag as", + "aga s", + "a gas", + "▁meille ur", + "▁дан ным", + "є дна", + "en coded", + "enc oded", + "encode d", + "< '", + "▁she ets", + "▁sheet s", + "▁ sheets", + "cu ador", + "▁викори стову", + "▁De put", + "▁Dep ut", + "▁man ière", + "ą g", + "cs ol", + "c sol", + ")$ -", + ") $-", + "UI View", + "▁mill ones", + "▁E hren", + "▁Ehr en", + "Si l", + "S il", + "▁a tac", + "▁at ac", + "▁C old", + "▁Col d", + "▁Co ld", + "\" \\", + "▁appro ached", + "▁approach ed", + "▁Års med", + "W M", + "▁De port", + "▁Dep ort", + "mi s", + "m is", + "and box", + "ob serv", + "obs erv", + "set ting", + "sett ing", + "ha tó", + "hat ó", + "h ató", + "▁s trat", + "▁st rat", + "▁str at", + "▁stra t", + "▁s pre", + "▁sp re", + "▁spr e", + "▁ spre", + "▁person ne", + "▁pers onne", + "▁personn e", + "▁dir ige", + "▁dirig e", + "pu ll", + "p ull", + "da ting", + "dat ing", + "d ating", + "▁F act", + "▁Fa ct", + "▁Fac t", + "▁ Fact", + "▁manip ulate", + "▁M AC", + "▁MA C", + "▁d ej", + "▁de j", + "ult imo", + "F X", + "Li fe", + "L ife", + "▁c rack", + "▁cr ack", + "▁cra ck", + "▁m í", + "▁п ове", + "▁по ве", + "▁пов е", + "▁w ore", + "▁wor e", + "▁wo re", + "univers ité", + "▁form ulas", + "▁formula s", + "▁Elis abeth", + "pl ots", + "plot s", + "mi le", + "mil e", + "m ile", + "▁me nor", + "▁men or", + "ти л", + "т ил", + "key word", + "▁Balt imore", + "hr er", + "hre r", + "h rer", + "▁C lement", + "▁Cl ement", + "▁Cle ment", + "vi m", + "v im", + "ra ss", + "ras s", + "r ass", + "T ake", + "▁cím ű", + "▁Con vention", + "at ge", + "se ed", + "see d", + "s eed", + "▁D í", + "▁Sp ider", + "ah oo", + "aho o", + "▁име ет", + "ühr t", + "üh rt", + "▁по писа", + "▁C ot", + "▁Co t", + "▁no bles", + "▁noble s", + "▁nob les", + "RE SS", + "RES S", + "▁che min", + "▁chem in", + "▁gł ówn", + "G G", + "▁German ia", + "▁Ger mania", + "▁Germ ania", + "▁Alexand re", + "he ns", + "hen s", + "h ens", + "sw ift", + "oo p", + "o op", + "Sub view", + "▁requ iring", + "ęd zy", + "ędz y", + "▁f ict", + "▁fi ct", + "▁fic t", + "▁Кон стан", + "▁dé put", + "▁dép ut", + "▁surpr ising", + "▁de ix", + "▁dei x", + "▁unter schied", + "in son", + "ins on", + "▁Char acter", + "▁ Character", + "▁g estion", + "▁ges tion", + "▁gest ion", + "ch us", + "c hus", + "com es", + "co mes", + "come s", + "▁n eur", + "▁ne ur", + "▁neu r", + "▁ neur", + "▁ye ux", + "ol lar", + "oll ar", + "▁par ad", + "▁para d", + "▁pa rad", + "▁mag giore", + "▁maggio re", + "▁maggior e", + "TR AN", + "▁vo tre", + "▁vot re", + "▁des cent", + "▁desc ent", + "▁I con", + "▁ Icon", + "▁Jud ge", + "▁occup ation", + "▁ occupation", + "ep ing", + "e ping", + "▁ton gue", + "▁tong ue", + "▁En llaços", + "ru f", + "r uf", + "▁prote in", + "▁prot ein", + "▁vis itors", + "▁visit ors", + "▁visitor s", + "ax y", + "a xy", + "es ten", + "est en", + "este n", + "e sten", + "bl ica", + "blic a", + "b lica", + "h w", + "▁spir its", + "▁spirit s", + "▁redu ces", + "▁reduce s", + "▁м ен", + "▁ме н", + "▁ мен", + "▁L amb", + "▁La mb", + "▁Lam b", + "▁M ine", + "▁Min e", + "▁Mi ne", + "▁ver ified", + "▁B aby", + "▁Ba by", + "▁Bab y", + "▁pr ize", + "▁pri ze", + "в ър", + "▁rat ings", + "▁rating s", + "▁f ore", + "▁for e", + "▁fo re", + "▁ fore", + "as ha", + "ash a", + "a sha", + "ur rence", + "urr ence", + "▁int ér", + "▁Ol ímp", + "cr a", + "c ra", + "▁comput ational", + "▁computation al", + "ir che", + "irc he", + ".:  ", + "▁illustr ated", + "▁illustrate d", + "▁Sh are", + "▁house holds", + "▁household s", + "▁con volution", + "oe md", + "oem d", + "▁zd oby", + "▁zdob y", + "cc c", + "c cc", + "▁quant ities", + "Ch e", + "C he", + "Sh ould", + "▁ge nius", + "▁gen ius", + "ad j", + "a dj", + "х ва", + "Пе тер", + "EM A", + "E MA", + "▁R ights", + "▁Right s", + "▁E li", + "▁El i", + "VA R", + "V AR", + "ш ло", + "▁з бір", + "ift ung", + "▁cont ributed", + "▁contrib uted", + "▁contribu ted", + "▁contribute d", + "ze f", + "z ef", + "▁CH AR", + "▁ CHAR", + "▁S ib", + "▁Si b", + "▁M ant", + "▁Man t", + "▁Ma nt", + "▁свя зи", + "▁java fx", + "▁c ependant", + "▁in tu", + "▁int u", + "▁т вор", + "▁ Ó", + "gu er", + "gue r", + "g uer", + "ra do", + "rad o", + "r ado", + "▁Re vol", + "▁Rev ol", + "▁fé min", + "▁Or leans", + "▁p oj", + "▁po j", + "▁p rez", + "▁pr ez", + "▁pre z", + "Te x", + "T ex", + "ou wd", + "ouw d", + "? (", + "▁L IM", + "▁LI M", + "ist ique", + "isti que", + "es ar", + "esa r", + "▁he ures", + "ic ki", + "ick i", + "i cki", + "▁d bo", + "▁db o", + "▁ dbo", + "sk ih", + "ski h", + "s kih", + "conf irm", + "▁vil ág", + "▁ci utat", + "▁D R", + "▁ DR", + "▁Haw ai", + "ch ed", + "che d", + "c hed", + "▁s pher", + "▁sp her", + "▁Art ikel", + "▁Multi ple", + "ci u", + "c iu", + "▁м ы", + "▁ мы", + "▁lip ca", + "]( /", + "] (/", + "Str ategy", + "▁Al abama", + "SD K", + "S DK", + "UT C", + "U TC", + "__ .", + "_ _.", + "Arg uments", + "Argument s", + "▁set ContentView", + "î le", + "By Val", + "▁J VM", + "юще го", + "▁Leon ard", + "▁just ify", + "це м", + "ц ем", + "▁n ab", + "▁na b", + "▁ nab", + "CCE SS", + "C CESS", + "▁hope s", + "▁ho pes", + "▁hop es", + ") &", + "se ro", + "ser o", + "s ero", + "▁за й", + "слі д", + "▁R ég", + "▁Ré g", + "▁S ang", + "▁San g", + "▁Sa ng", + "▁f ung", + "▁fun g", + "▁fu ng", + "ba ar", + "b aar", + "▁coff ee", + "ass embly", + "▁В ін", + "▁Ві н", + "э й", + "▁comp rend", + "▁compr end", + "fil led", + "fill ed", + "f illed", + "р д", + "od ia", + "odi a", + "o dia", + "▁g ens", + "▁ge ns", + "▁gen s", + "▁ gens", + "fl uss", + "flu ss", + "f luss", + "Draw able", + "▁sur ve", + "▁surv e", + "Set up", + "▁n ależ", + "▁conj unto", + "▁Е го", + "▁old al", + "▁ol dal", + "▁ver bose", + "▁verb ose", + "▁Elect ric", + "▁H arrison", + "▁Harr ison", + "▁Harris on", + "en gen", + "eng en", + "par agraph", + "para graph", + "▁n ouvelles", + "▁nouve lles", + "▁nouvelle s", + "▁вре ме", + "▁m emor", + "▁me mor", + "▁mem or", + "▁mayo ría", + "▁mayor ía", + "са д", + "▁bat aille", + "▁bata ille", + "▁therm al", + "▁ther mal", + "▁Хро нологи", + "▁B etter", + "▁Bet ter", + "by e", + "b ye", + "▁теа тра", + "ro e", + "r oe", + "▁se gle", + "▁seg le", + "ro tt", + "rot t", + "r ott", + "▁opin ions", + "▁opinion s", + ")} )", + ") })", + "üh le", + "ühl e", + "▁G ün", + "▁Gü n", + "▁ Щ", + "b ól", + "▁Lar ry", + "▁so lic", + "▁sol ic", + "▁z war", + "▁zw ar", + "▁Car oline", + "▁Carol ine", + "▁Reich s", + "Ext ensions", + "Extension s", + "mi gr", + "m igr", + ": @", + "▁en umerate", + "▁enumer ate", + "▁ enumerate", + "▁eigen en", + "▁eig enen", + "▁expl ore", + "▁explo re", + "ém u", + "é mu", + "▁g at", + "▁ga t", + "▁ gat", + "▁imper ial", + "▁Us ually", + "▁t ud", + "▁tu d", + "▁у кра", + "hi m", + "h im", + "▁cor ners", + "▁corner s", + "▁corn ers", + "▁S ER", + "▁SE R", + "▁ SER", + "▁interpre ter", + "▁interpret er", + "▁I ce", + "▁amount s", + "▁P ala", + "▁Pa la", + "▁Pal a", + "▁t inha", + "▁tin ha", + "vo le", + "vol e", + "v ole", + "▁g le", + "▁gl e", + "▁ gle", + "uc ci", + "▁sie he", + "Jac k", + "J ack", + "▁w oll", + "▁wo ll", + "▁wol l", + "▁e lder", + "▁el der", + "▁ко раб", + "▁eng ag", + "▁La urent", + "▁Laur ent", + "▁Lau rent", + "▁ach iev", + "ist ik", + "isti k", + "ar ct", + "arc t", + "тно го", + "т ного", + "▁g ir", + "▁gi r", + "▁Sing h", + "▁Sin gh", + "math op", + "US A", + "U SA", + "▁Pro jekt", + "▁de be", + "▁deb e", + "richt ung", + "r ichtung", + "▁T sch", + "▁Ts ch", + "um inate", + "umin ate", + "▁s zó", + "▁sz ó", + "ly ph", + "зи дент", + "зиден т", + "▁lim itations", + "▁limit ations", + "▁limitation s", + "юще й", + "▁b ila", + "▁bi la", + "▁bil a", + "P ush", + "▁off ering", + "▁offer ing", + "ien nes", + "ienne s", + "ienn es", + "i ennes", + "Fr i", + "F ri", + "▁post gresql", + "▁ postgresql", + "▁Tom my", + "▁partic olare", + "▁stolet í", + "▁ar rib", + "▁arr ib", + "▁E va", + "▁Ev a", + "sch ool", + "▁v endor", + "▁ven dor", + "▁vend or", + "▁ vendor", + "▁D allas", + "▁Dal las", + "▁pro long", + "CRE ATE", + "C REATE", + "▁suiv ante", + "STAT US", + "l à", + "k v", + "▁h äufig", + "▁Agr icult", + "▁h uit", + "▁hu it", + "▁in oltre", + "▁L loyd", + "▁францу з", + "▁вы пол", + "▁faith ful", + "▁В ар", + "▁Ва р", + "▁ver l", + "▁ve rl", + "▁ju ego", + "▁Резу лтати", + ", ...,", + "▁implicit ly", + "ir ks", + "irk s", + "Cal cul", + "▁m eses", + "▁mes es", + "om ed", + "ome d", + "o med", + "▁p ak", + "▁pa k", + "he rit", + "her it", + "▁opt ical", + "▁І сторія", + "ve is", + "▁capital e", + "▁capit ale", + "place holder", + "int rag", + "▁At las", + "▁Atl as", + "▁ Atlas", + ")] ;", + ") ];", + "ic ons", + "ico ns", + "icon s", + "i cons", + "▁B ent", + "▁Be nt", + "▁Ben t", + "▁W idget", + "▁ Widget", + "▁vol unt", + "av o", + "a vo", + "ég r", + "é gr", + "li ge", + "lig e", + "l ige", + "▁N AME", + "▁NA ME", + "▁ NAME", + "▁ab stra", + "▁abs tra", + "▁f ís", + "▁B rowser", + "▁Brow ser", + "▁ Browser", + "▁b ush", + "▁bu sh", + "▁bus h", + "ha ll", + "hal l", + "h all", + "▁cloud s", + "▁S UB", + "▁SU B", + "▁ SUB", + "▁t andis", + "▁tan dis", + "▁Common wealth", + "та я", + "▁exha ust", + "________ ________", + "▁Stat istics", + "▁Statist ics", + "▁Relig ion", + "▁Mu ham", + "ual s", + "ua ls", + "u als", + "go to", + "got o", + "g oto", + "Dig ital", + "Famil y", + "▁B un", + "▁Bu n", + "let in", + "Man agement", + "▁cap abilities", + "an nten", + "ann ten", + "annt en", + "annte n", + "▁се бе", + "▁st ays", + "▁stay s", + "▁sta ys", + "kt er", + "kte r", + "k ter", + "▁d ost", + "▁do st", + "▁dos t", + "▁Т ре", + "ло вич", + "лови ч", + "л ович", + "▁d ying", + "▁dy ing", + "se ctions", + "section s", + "sect ions", + "án os", + "á nos", + "▁app arten", + "▁appar ten", + "▁appart en", + "▁zo als", + "▁dr essed", + "▁dress ed", + "▁com press", + "▁comp ress", + "▁compr ess", + "ń ska", + "▁sierp nia", + "▁ти ту", + "diction ary", + "d ictionary", + "▁r abb", + "▁ra bb", + "▁vé rit", + "В о", + "▁sing leton", + "▁single ton", + "▁v ital", + "▁vi tal", + "▁vit al", + "▁vita l", + "Ref resh", + "ме ль", + "м ель", + "▁Z h", + "▁Af ghan", + "in kel", + "ink el", + "aa aa", + "▁particip ants", + "ar in", + "ari n", + "a rin", + "▁M old", + "▁Mo ld", + "▁Mol d", + "▁prim eros", + "▁prime ros", + "▁primer os", + "▁ра н", + "▁р ан", + "▁ ран", + "▁А мери", + "▁restaur ant", + "év el", + "é vel", + "▁S L", + "▁ SL", + "▁R ey", + "▁Re y", + "ch as", + "cha s", + "c has", + "▁elect rons", + "▁electron s", + "▁electro ns", + "▁Pitt s", + "▁Pit ts", + "▁J ules", + "▁Jul es", + "▁Ju les", + "ма й", + "en ant", + "ena nt", + "e nant", + "- }", + "ла д", + "▁Мос ква", + "▁Моск ва", + "go m", + "g om", + "▁Fern ández", + "fun d", + "fu nd", + "f und", + "int erno", + "inter no", + "intern o", + "▁M ari", + "▁Mar i", + "▁Ma ri", + "▁r ius", + "▁ri us", + "▁Pro zent", + "ст рі", + "стр і", + "▁в нут", + "ant erie", + "ante rie", + "anter ie", + "▁п рис", + "▁при с", + "▁пр ис", + "▁о бы", + "▁об ы", + "▁M arina", + "▁Mar ina", + "▁Mari na", + "▁occ urrence", + "▁occur rence", + "▁occurr ence", + "ri kt", + "rik t", + "r ikt", + "▁фи зи", + "▁sch wer", + "▁schw er", + "▁Г ре", + "Re set", + "Res et", + "▁much o", + "▁mu cho", + "an dr", + "and r", + "▁W ies", + "▁Wi es", + "▁Wie s", + "▁Ke ith", + "▁Jul ian", + "▁Juli an", + "▁Julia n", + "▁c ole", + "▁col e", + "▁co le", + "▁ cole", + "ci endo", + "c iendo", + "▁Cont empor", + "et ry", + "etr y", + "e try", + "el ian", + "eli an", + "elia n", + "ги и", + "▁го ло", + "▁г оло", + "▁d él", + "▁dé l", + "▁de cent", + "▁dec ent", + "▁dece nt", + "Р СР", + "▁sze ptember", + "ме ст", + "cast le", + "▁держа в", + "}\" )", + "} \")", + "▁ASC II", + "▁G len", + "▁Gl en", + "itzer land", + "T oggle", + "▁trad icional", + "▁P lat", + "▁Pl at", + "▁Pla t", + "ve e", + "v ee", + "ab gerufen", + "( |", + "CL I", + "C LI", + "}} $,", + "}}$ ,", + "} }$,", + "▁Bow l", + "▁M ale", + "▁Ma le", + "▁Mal e", + "▁B res", + "▁Br es", + "▁Bre s", + "▁п си", + "▁Ch allenge", + "z ó", + "▁pro jekt", + "▁neg oti", + "ab ove", + "a bove", + "▁пери о", + "▁long est", + "▁lon gest", + "auth entic", + "▁tr adu", + "▁tra du", + "▁trad u", + "▁mujer es", + "▁And re", + "▁ha dn", + "▁had n", + "▁Sch ule", + "▁Schul e", + "ode l", + "od el", + "o del", + "ble d", + "bl ed", + "b led", + "▁T rade", + "▁Tr ade", + "▁Tra de", + "▁Trad e", + "▁m obil", + "▁mo bil", + "▁mob il", + "▁alg unas", + "▁L ak", + "▁La k", + "▁Connect icut", + "▁al co", + "▁alc o", + "▁Sel bst", + "i ł", + "▁a lb", + "▁al b", + "ouver neur", + "ouvern eur", + "▁s r", + "▁ sr", + "▁v ba", + "▁vb a", + "lo ped", + "lop ed", + "l oped", + "▁Par tei", + "▁Part ei", + "▁Parte i", + "ua te", + "u ate", + "▁Auth entication", + "▁ Authentication", + "be i", + "b ei", + "}} .", + "} }.", + "▁kon nten", + "▁konn ten", + "▁konnte n", + "▁до по", + "▁h yd", + "▁hy d", + "Off ice", + "d onnées", + "▁C leveland", + "ri ta", + "rit a", + "r ita", + "ío s", + "í os", + "▁вы ше", + "▁Ro berts", + "▁Robert s", + "▁é lections", + "▁élect ions", + "▁' ')", + "▁'' )", + "▁publish ing", + "▁b apt", + "▁ba pt", + "<> ();", + "< >();", + "miss ing", + "mis sing", + "рова но", + "рован о", + "р овано", + "▁ho using", + "▁hous ing", + "▁in ference", + "▁infer ence", + "▁Rena issance", + "▁r èg", + "▁Ste ph", + "▁Step h", + "CE S", + "C ES", + "ER E", + "E RE", + "ке т", + "к ет", + "O U", + "▁group ing", + "ver kehr", + "ji h", + "j ih", + "ag li", + "▁mil k", + "la it", + "l ait", + "St age", + "▁by ly", + "▁byl y", + "▁wood en", + "▁wo oden", + "ke ley", + "kel ey", + "kele y", + "et ra", + "etr a", + "e tra", + "▁P eg", + "▁Pe g", + "▁don né", + "▁donn é", + "ad al", + "ada l", + "a dal", + "sequ ently", + "▁ins besondere", + "EL D", + "E LD", + "▁M am", + "▁Ma m", + "▁vol te", + "▁volt e", + "▁pro spect", + "▁pros pect", + "но ве", + "нов е", + "н ове", + "▁den oted", + "▁denote d", + "▁over lay", + "Per mission", + "Perm ission", + "ee n", + "e en", + "▁E M", + "▁ EM", + "▁u z", + "▁ uz", + "M c", + "ol it", + "oli t", + "o lit", + "▁ser vi", + "▁serv i", + "▁He idel", + "▁Wien er", + "▁Wi ener", + "▁Wie ner", + "▁il legal", + "▁predict ions", + "▁prediction s", + "▁go og", + "ho n", + "h on", + "▁Cin ema", + "▁ре волю", + "▁R ule", + "▁Ru le", + "▁ Rule", + "wo d", + "w od", + "▁rad iation", + "▁radi ation", + "o ł", + "ово ї", + "▁Per form", + "▁prison er", + "▁a met", + "▁am et", + "▁fig ura", + "▁figur a", + "▁Comm ander", + "▁Command er", + "▁о фициаль", + "▁t rov", + "▁tr ov", + "▁tro v", + "▁a cted", + "▁act ed", + "▁ac ted", + "▁work flow", + "▁Республи ки", + "▁guid ance", + "▁м ене", + "▁ме не", + "▁мен е", + "▁ мене", + "N ational", + "▁K el", + "▁Ke l", + "web pack", + "про стра", + "▁llam ado", + "al og", + "alo g", + "a log", + "ter ra", + "ix en", + "le graph", + "leg raph", + "ä ischen", + "▁teach ers", + "▁teacher s", + "ud en", + "ude n", + "u den", + "▁o gså", + "pos sible", + "poss ible", + "▁S oul", + "▁So ul", + "▁Sou l", + "▁Ge ography", + "▁за да", + "hi t", + "h it", + "▁an ger", + "▁ang er", + "▁ange r", + "▁ anger", + "▁rem porte", + "▁remp orte", + "Po d", + "P od", + "ч ке", + "▁a ria", + "▁ar ia", + "▁ aria", + "▁A stronom", + "ch apter", + "▁f ork", + "▁for k", + "▁Cu ando", + "men se", + "m ense", + "▁Christ ians", + "▁Christian s", + "g c", + "▁# (", + "Or gan", + "▁ste ady", + "▁stead y", + "ps e", + "p se", + "жи ть", + "ig nes", + "ign es", + "igne s", + "ater ra", + "a terra", + "mo vie", + "mov ie", + "m ovie", + "pos ta", + "po sta", + "post a", + "p osta", + "ra ste", + "ras te", + "r aste", + "▁Res source", + "▁Ress ource", + "▁Pa ís", + "▁( );", + "▁() ;", + "▁ ();", + "▁pen alty", + "т т", + "▁tras fer", + "cent ury", + "▁clean er", + "sel enium", + "s elenium", + "ort heast", + "orth east", + "xi c", + "x ic", + "лі ї", + "л ії", + "▁ingles e", + "▁T ang", + "▁Ta ng", + "▁Tan g", + "▁g ods", + "▁go ds", + "▁god s", + "fr ent", + "fre nt", + "f rent", + "ci ente", + "cient e", + "c iente", + "st arts", + "start s", + "star ts", + "▁mus ica", + "▁music a", + "ymnas ium", + "-- --+", + "---- +", + "--- -+", + "- ---+", + "▁ter rest", + "▁terre st", + "▁retr ieved", + "▁retrieve d", + "ia re", + "iar e", + "i are", + "un ning", + "unn ing", + "▁Mar cus", + "▁Marc us", + "▁prom ote", + "war ning", + "warn ing", + "w arning", + "ты й", + "т ый", + "}) $,", + "})$ ,", + "} )$,", + "Trans port", + "▁re son", + "▁res on", + "▁C lo", + "▁Cl o", + "▁e rm", + "▁er m", + "▁ erm", + "▁elimin ate", + "▁elim inate", + "he imer", + "heim er", + "▁s aves", + "▁sa ves", + "▁sav es", + "▁save s", + "▁pr ayer", + "▁pra yer", + "▁pray er", + "Class es", + "Ex press", + "Exp ress", + "Expr ess", + "▁Akadem ie", + "El se", + "Tu rn", + "T urn", + "▁ik ke", + "▁re i", + "▁r ei", + "▁ rei", + "▁di rett", + "▁dire tt", + "▁dir ett", + "▁R ost", + "▁Ro st", + "▁Ros t", + "▁P apa", + "▁Pa pa", + "▁Pap a", + "▁j sf", + "▁js f", + "ле нием", + "ление м", + "▁T ul", + "▁Tu l", + "▁Z ak", + "▁Za k", + "▁niem ieck", + "T w", + "am our", + "amo ur", + "ne sted", + "nes ted", + "nest ed", + "n ested", + "pp ets", + "ppe ts", + "ppet s", + "ш п", + "di t", + "d it", + "зе н", + "з ен", + "zy ma", + "zym a", + "hr te", + "Constra ints", + "Constraint s", + "▁own ership", + "▁owner ship", + "Ar m", + "A rm", + "▁cons umption", + "▁consum ption", + "▁f et", + "▁fe t", + "iv ari", + "iva ri", + "i vari", + "ch rom", + "chr om", + "set Attribute", + "▁com pose", + "▁comp ose", + "▁compos e", + "▁ compose", + "▁back ing", + "▁P az", + "▁Pa z", + "▁s cri", + "▁sc ri", + "▁scr i", + "▁ scri", + "▁Me chan", + "▁Nor way", + "▁J up", + "▁Ju p", + "▁m ér", + "▁mé r", + "▁administr ator", + "▁c abe", + "▁ca be", + "▁cab e", + "ival ent", + "▁thr one", + "▁thro ne", + "▁d ues", + "▁du es", + "▁due s", + "▁hum or", + "▁hu mor", + "▁A dri", + "▁Ad ri", + "▁ab ort", + "ña s", + "ñ as", + "▁Ки їв", + "j ící", + "▁zwe ite", + "▁zwei te", + "▁do ub", + "▁dou b", + "er shell", + "ers hell", + "шо й", + "▁F am", + "▁Fa m", + "å k", + "▁twe ede", + "▁twee de", + "▁R ib", + "▁Ri b", + "▁f ør", + "pc ión", + "p ción", + "in ned", + "inn ed", + "rv m", + "r vm", + "▁App ar", + "▁Ap par", + "▁D j", + "▁S hang", + "▁Sh ang", + "Dist ance", + "D istance", + "▁d awn", + "▁da wn", + "▁ dawn", + "▁Mat th", + "▁Matt h", + "▁err ichtet", + "ph antom", + "phan tom", + "▁re leases", + "▁release s", + "Recogn izer", + "▁K op", + "▁Ko p", + "▁P ul", + "▁Pu l", + "u é", + "na ts", + "nat s", + "n ats", + "re lax", + "rel ax", + "▁f led", + "▁fl ed", + "▁fle d", + "▁experience s", + "▁experien ces", + "ще е", + "ме ня", + "мен я", + "▁пер сона", + "▁Id entity", + "▁Ident ity", + "▁ Identity", + "re ts", + "ret s", + "r ets", + "k unft", + "la rg", + "lar g", + "l arg", + "List Item", + "v d", + "run ner", + "la nt", + "lan t", + "l ant", + "ip art", + "i part", + "ba y", + "b ay", + "ie i", + "i ei", + "▁length s", + "▁c attle", + "▁catt le", + "je ts", + "jet s", + "j ets", + "▁se hen", + "J ul", + "fa tt", + "f att", + "▁sur render", + "▁surr ender", + "▁Tr ump", + "▁Tru mp", + "дно го", + "д ного", + "▁Four ier", + "▁Fou rier", + "ie ben", + "ieb en", + "i eben", + "_ \"", + "▁frü her", + "▁gar ant", + "▁ga rant", + "uclide an", + "äg t", + "ä gt", + "▁пів ден", + "Page s", + "Pa ges", + "P ages", + "▁r ivers", + "▁river s", + "▁riv ers", + "▁ri vers", + "▁don ner", + "▁donn er", + "▁donne r", + "sv n", + "s vn", + "▁ ł", + "ov ě", + "o vě", + "▁Le ist", + "ar ial", + "ari al", + "aria l", + "a rial", + "ov ých", + "ový ch", + "▁f illing", + "▁fil ling", + "▁fill ing", + "▁mus icale", + "▁music ale", + "▁musical e", + "▁musica le", + "ma xim", + "max im", + "▁d ashed", + "▁das hed", + "▁dash ed", + "▁Н ов", + "▁Но в", + "Draw er", + "Dra wer", + "▁Medic ine", + "▁dok ument", + "ow el", + "owe l", + "o wel", + "vi ć", + "v ić", + "he ly", + "hel y", + "h ely", + "▁e let", + "▁el et", + "▁ele t", + "Sec onds", + "Second s", + "▁Gon z", + "ro u", + "r ou", + "▁fin ales", + "▁final es", + "▁finale s", + "r n", + "f ø", + "▁index ed", + "class Name", + "▁o ber", + "▁ob er", + "▁ ober", + "▁du as", + "▁optim ized", + "▁optimize d", + "▁k dy", + "vers ary", + "ener gy", + "▁цент ра", + "▁центр а", + "▁c urrency", + "▁curr ency", + "▁ currency", + "zy ż", + "Li ke", + "L ike", + "▁Г и", + "so no", + "son o", + "s ono", + "▁pa lab", + "▁pal ab", + "▁p ushing", + "▁push ing", + "ub lik", + "▁H ass", + "▁Ha ss", + "▁Has s", + "}\\ ,\\", + "}\\, \\", + "} \\,\\", + "un ker", + "unk er", + "▁F actory", + "▁Fact ory", + "▁ Factory", + "▁Res ources", + "▁Resource s", + "▁ Resources", + "date i", + "da tei", + "dat ei", + "▁T ools", + "▁To ols", + "▁Tool s", + "▁ Tools", + "▁ste hen", + "si me", + "sim e", + "s ime", + "▁Х у", + "▁h och", + "▁ho ch", + "▁Rod ríguez", + "zeit ig", + "▁Ter ry", + "▁Terr y", + "▁о бу", + "▁об у", + "Us age", + "urch ase", + "l ö", + "▁Int roduction", + "▁ Introduction", + "▁particip ation", + "ο ς", + "og li", + "ap y", + "a py", + "▁hope fully", + "pon der", + "po nder", + "pond er", + "p onder", + "▁Y ang", + "▁Yan g", + "▁Ya ng", + "▁prom ises", + "▁promise s", + "▁вер ну", + "▁о стров", + "▁ост ров", + "^{ +", + "▁most ra", + "▁mo stra", + "▁mos tra", + "▁CURL OPT", + "H H", + "▁std out", + "▁ stdout", + "▁br illiant", + "▁manus cript", + "▁de cir", + "▁dec ir", + "▁B olog", + "▁Bo log", + "▁Bol og", + "▁ме ста", + "▁мест а", + "▁in visible", + "▁C hal", + "▁Ch al", + "▁Cha l", + "▁analy ze", + "▁analyz e", + "pr ilis", + "pril is", + "att end", + "atten d", + "atte nd", + "M vc", + "th an", + "tha n", + "t han", + "ck o", + "c ko", + "▁Que bec", + "▁pl anta", + "▁plan ta", + "▁plant a", + "▁télé vis", + "▁un install", + "èn cies", + "▁gmin ie", + "▁P ref", + "▁Pr ef", + "▁Pre f", + "▁le quel", + "Inv ocation", + "▁ Í", + "▁trans formed", + "▁transform ed", + "MA N", + "M AN", + "ge baut", + "geb aut", + "▁со хра", + "▁вто рой", + "▁L ith", + "▁Li th", + "▁Lit h", + "wend ung", + "▁Polit ik", + "▁Sen ator", + "▁L L", + "▁ LL", + "жде ние", + "ш те", + "▁C és", + "▁b ande", + "▁band e", + "▁ban de", + "▁ba nde", + "▁histor ian", + "▁historia n", + "▁pass words", + "▁password s", + "mal loc", + "m alloc", + "▁sem if", + "▁semi f", + "▁r å", + "▁ rå", + "unic í", + "uni cí", + "Av ailable", + "Option al", + "Opt ional", + "▁T we", + "▁Tw e", + "▁k ró", + "▁kr ó", + "▁sub sets", + "▁subset s", + "▁subs ets", + "▁D AT", + "▁DA T", + "▁ DAT", + "▁double s", + "▁dou bles", + "▁doub les", + "ни ками", + "ника ми", + "▁з в", + "ge geben", + "geg eben", + "g egeben", + "▁По пис", + "▁jú lius", + "▁m eteor", + "▁met eor", + "Mo unt", + "M ount", + "iv ent", + "ive nt", + "iven t", + "i vent", + "▁N athan", + "▁Na than", + "▁Nat han", + "▁Sch utz", + "eg ov", + "ego v", + "e gov", + "▁d öd", + "▁me at", + "▁пун кт", + "▁m inds", + "▁min ds", + "▁mind s", + "eli very", + "▁T LS", + "ре м", + "р ем", + "cks å", + "▁stay ed", + "▁sta yed", + "▁B in", + "▁Bi n", + "▁P ia", + "▁Pi a", + "▁и мен", + "▁име н", + "▁им ен", + "▁Bob by", + "▁produ it", + "▁prod uit", + "em pio", + "emp io", + "▁redu cing", + "▁Y u", + "▁Gesch äft", + "▁per ché", + "▁c ors", + "▁cor s", + "▁co rs", + "▁i cons", + "▁icon s", + "▁ic ons", + "▁ icons", + "App Data", + "▁H og", + "▁Ho g", + "▁р ів", + "▁рі в", + "▁ рів", + "▁S ans", + "▁San s", + "▁Sa ns", + "▁si ège", + "▁siè ge", + "st ellen", + "stell en", + "stelle n", + "Br ush", + "OF F", + "O FF", + "▁vis itor", + "▁visit or", + "▁b ath", + "▁ba th", + "▁bat h", + "▁f ee", + "▁fe e", + "at isf", + "ati sf", + "atis f", + "▁cu rv", + "▁cur v", + "▁fol gender", + "▁folg ender", + "▁cons cience", + "▁Se attle", + "▁med ieval", + "▁medi eval", + "dist ribution", + "▁D M", + "▁ DM", + "▁м я", + "▁ мя", + "▁R UN", + "ak ov", + "ako v", + "a kov", + "ce il", + "c eil", + "▁let ting", + "▁lett ing", + "▁d ov", + "▁do v", + "▁о би", + "▁об и", + "ki ej", + "kie j", + "k iej", + "▁dire kt", + "▁t m", + "▁ tm", + "col ors", + "color s", + "colo rs", + "▁alt ro", + "▁tijd ens", + "]{ '", + "] {'", + "▁B om", + "▁Bo m", + "▁k unst", + "▁kun st", + "▁sh elter", + "▁r av", + "▁ra v", + "▁ rav", + "pre dict", + "pred ict", + "▁comenz ó", + "▁świ at", + "▁św iat", + "▁Du rant", + "▁Dur ant", + "▁sch emes", + "▁scheme s", + "▁sche mes", + "▁m esh", + "▁me sh", + "▁mes h", + "▁ind icator", + "▁indic ator", + "▁E mer", + "▁Em er", + "▁gu ilty", + "не ц", + "▁consequ ences", + "▁consequence s", + "cl udes", + "clude s", + "clud es", + "▁L ower", + "▁Lo wer", + "▁Low er", + "▁ Lower", + "▁по ме", + "▁p ace", + "▁pa ce", + "▁pac e", + "▁ pace", + "да го", + "▁am bos", + "▁amb os", + "l b", + "▁educ ated", + "ur ale", + "ura le", + "ural e", + "u rale", + "an h", + "es ség", + "ess ég", + "▁associ ations", + "▁association s", + "to wn", + "t own", + "▁t rif", + "▁tr if", + "▁tri f", + "sample s", + "sam ples", + "s amples", + "bo s", + "b os", + "▁S pect", + "▁Sp ect", + "▁Spe ct", + "▁Spec t", + "▁Ц е", + "alt ung", + "▁L ob", + "▁Lo b", + "▁curios ity", + "▁We iter", + "▁Wei ter", + "▁Weit er", + "est one", + "esto ne", + "eston e", + "e stone", + "▁dem ol", + "▁demo l", + "▁ap olog", + "▁apo log", + "▁D ynamic", + "▁Dynam ic", + "▁ Dynamic", + "In ner", + "es per", + "esp er", + "ec z", + "e cz", + "uel lement", + "uelle ment", + "▁Hamilton ian", + "At las", + "▁ar gue", + "▁arg ue", + "For eign", + "F oreign", + "col lapse", + "▁tér min", + "▁electron ic", + "▁electro nic", + "▁N R", + "▁ NR", + "▁c orr", + "▁cor r", + "▁co rr", + "▁ corr", + "tem ps", + "temp s", + "Index Path", + "я з", + "▁tal ál", + "to day", + "tod ay", + "wa ve", + "w ave", + "▁s ib", + "▁si b", + "▁с пи", + "▁сп и", + "▁con vey", + "▁conv ey", + "▁Gé ographie", + "▁Н ью", + "▁Hi bernate", + "▁t in", + "▁ti n", + "di c", + "d ic", + "pp ings", + "pping s", + "s weise", + "▁roll ing", + "▁rol ling", + "▁ rolling", + "▁select s", + ")\\ )", + ") \\)", + "▁po eta", + "▁poet a", + "▁сте пени", + "▁A br", + "▁Ab r", + "▁hö ch", + "▁s tern", + "▁st ern", + "▁ste rn", + "▁ster n", + "▁f jär", + "▁inst aller", + "▁install er", + "▁instal ler", + "de cl", + "dec l", + "▁m iser", + "▁mi ser", + "▁mis er", + "▁mise r", + "group by", + "sub str", + "subst r", + "▁phen omen", + "▁W ing", + "▁Win g", + "▁Wi ng", + "▁f ills", + "▁fil ls", + "▁fill s", + "▁ú nico", + "Run ning", + "R unning", + "Com e", + "Co me", + "C ome", + "ir able", + "ira ble", + "i rable", + "sim eq", + "sime q", + "▁re mp", + "▁r emp", + "▁rem p", + "ke le", + "kel e", + "k ele", + "li ers", + "lie rs", + "lier s", + "l iers", + "▁kwiet nia", + "▁inter rupted", + "▁interrupt ed", + "▁J et", + "▁Je t", + "=\\ {", + "= \\{", + "íd o", + "í do", + "▁Tai wan", + "▁воз ра", + "▁altern atives", + "▁alternative s", + "▁T ir", + "▁Ti r", + "▁Re serve", + "▁Res erve", + "▁К ур", + "▁Ку р", + "▁No bel", + "▁Nob el", + "▁рабо тал", + "▁работа л", + "▁a xes", + "▁ax es", + "▁C ependant", + "k á", + "▁er neut", + "▁D emo", + "▁De mo", + "▁Dem o", + "▁ Demo", + "comm unic", + "con structor", + "construct or", + "▁Mon day", + "▁Mond ay", + "N il", + "Hash Map", + "pay ment", + "▁fix ing", + "▁A DD", + "▁AD D", + "▁ ADD", + "re view", + "rev iew", + "▁poss ibil", + "▁possib il", + "▁g rote", + "▁gr ote", + "▁gro te", + "▁group ed", + "▁groupe d", + "▁L ima", + "▁Li ma", + "▁Lim a", + "▁A ugen", + "▁Au gen", + "▁Aug en", + "▁o ckså", + "on as", + "ona s", + "o nas", + "▁deb ate", + "▁In gl", + "▁Ing l", + "D a", + "SO UR", + "S OUR", + "ett be", + "▁Batt alion", + "▁F loat", + "▁Flo at", + "▁ Float", + "▁c one", + "▁con e", + "▁co ne", + "read sheet", + "co urt", + "cou rt", + "c ourt", + "li gen", + "lig en", + "lige n", + "l igen", + "▁Begin n", + "▁Beg inn", + "▁LI MIT", + "▁LIM IT", + "▁enjo yed", + "▁enjoy ed", + "▁Jak ob", + "▁t elt", + "▁te lt", + "▁tel t", + "back end", + "▁Gemeins ame", + "li nt", + "lin t", + "l int", + "al ling", + "all ing", + "▁b ör", + "gr and", + "gra nd", + "g rand", + "▁divers es", + "▁diverse s", + "▁z wiąz", + "▁Kom pon", + "▁inner halb", + "▁desar rollo", + "▁desarroll o", + "▁Ma sters", + "▁Mas ters", + "▁Master s", + "io so", + "ios o", + "i oso", + "]` .", + "] `.", + "▁frances a", + "▁franc esa", + "A ff", + "in ek", + "ine k", + "i nek", + "▁des sin", + "▁dess in", + "`. `", + "` .`", + "▁r anks", + "▁ran ks", + "▁rank s", + "бер г", + "▁s kal", + "▁sk al", + "▁S ultan", + "▁Sul tan", + "А Н", + "▁спо соб", + "▁contra dict", + "▁contrad ict", + "▁re com", + "▁rec om", + "▁Ok lahoma", + "▁Vlad imir", + "▁m eters", + "▁me ters", + "▁met ers", + "▁meter s", + "trans port", + "▁cons ulté", + "▁consult é", + "▁ consulté", + "▁A TP", + "▁AT P", + "eb b", + "e bb", + "▁vol unte", + "▁volunt e", + "▁out line", + "LI C", + "L IC", + "▁e uro", + "▁eu ro", + "Char Field", + "med ium", + "medi um", + "▁Belg ique", + "Pro c", + "Pr oc", + "P roc", + "ro utes", + "route s", + "rout es", + "rou tes", + "▁cont ribu", + "▁contrib u", + "! }", + "ší m", + "š ím", + "▁L ess", + "▁Le ss", + "▁Les s", + "▁K ost", + "▁Ko st", + "▁Kos t", + "▁eredet iből", + "re ven", + "rev en", + "r even", + "ver ify", + "▁S alt", + "▁Sal t", + "▁Sa lt", + "▁shoot ing", + "▁sho oting", + "▁dis pose", + "▁dispos e", + "▁disp ose", + "uj í", + "▁t ierra", + "▁tier ra", + "▁po ison", + "▁poi son", + "sa k", + "s ak", + "periment al", + "▁N é", + "▁K id", + "▁Ki d", + "ag yar", + "agy ar", + "▁archiv álva", + "be reich", + "bere ich", + "í z", + "▁R itter", + "▁Хронологи ја", + "ze um", + "да х", + "▁gr ünd", + "▁program mer", + "▁programme r", + "▁cons eil", + "▁conse il", + "▁enc rypt", + "integr ation", + "C ulture", + "▁Circ le", + "▁Cir cle", + "Ob servable", + "▁gen omsnitt", + "▁Se lection", + "▁Select ion", + "▁Sel ection", + "▁Sele ction", + "▁ Selection", + "▁ir regular", + "Aut res", + "Per cent", + "fa ult", + "f ault", + "▁virt ue", + "ą pi", + "▁s ess", + "▁se ss", + "▁ses s", + "▁Так же", + "Tim estamp", + "▁litt érature", + "▁mo ż", + "▁b orrow", + "▁bor row", + "▁con ced", + "▁conc ed", + "▁conce d", + "чни к", + "ч ник", + "▁L und", + "▁Lu nd", + "ION S", + "IO NS", + "yn ie", + "y nie", + "▁S hin", + "▁Sh in", + "▁o sob", + "▁os ob", + "b ě", + "▁int uit", + "▁intu it", + "▁на п", + "▁p roph", + "▁pro ph", + "▁pr oph", + "▁prop h", + "▁p itt", + "▁pi tt", + "▁pit t", + "▁IB M", + "▁T ill", + "▁Ti ll", + "▁h ina", + "▁hi na", + "▁hin a", + "it test", + "itt est", + "itte st", + "gener ator", + "▁N in", + "▁Ni n", + "▁K ot", + "▁Ko t", + "▁p asser", + "▁pass er", + "▁pas ser", + "▁passe r", + "▁dis position", + "▁dispos ition", + "▁disp osition", + "un ing", + "uni ng", + "u ning", + "▁f ame", + "▁fa me", + "▁fam e", + "▁t enia", + "▁te nia", + "▁ten ia", + "an cement", + "ance ment", + "anc ement", + "▁Su isse", + "` -", + "▁h ombres", + "▁hom bres", + "▁hombre s", + "▁inf inity", + "▁infin ity", + "▁окон ча", + "▁co sm", + "▁cos m", + "▁D ennis", + "▁Den nis", + "ba z", + "b az", + "ha upt", + "h aupt", + "▁might y", + "▁pr ede", + "▁pre de", + "▁pred e", + "us able", + "usa ble", + "▁ws zyst", + "▁wsz yst", + "▁l b", + "▁ lb", + "AB ASE", + "A BASE", + "j na", + "не в", + "н ев", + "▁as es", + "▁ ases", + "▁final mente", + "й м", + "pe ction", + "pect ion", + "pec tion", + "p ection", + "▁Stud ien", + "▁Norweg ian", + "ce go", + "c ego", + "IN DEX", + "IND EX", + "or ten", + "ort en", + "orte n", + "▁friend ship", + "▁friends hip", + "met ro", + "m etro", + "th ick", + "▁Z el", + "▁Ze l", + "LO W", + "L OW", + "▁there by", + "un ted", + "unt ed", + "unte d", + "▁sur faces", + "▁surface s", + "ющи м", + "%) .", + "% ).", + "▁W onder", + "▁Wo nder", + "▁redund ant", + "▁G ros", + "▁Gr os", + "▁Gro s", + "▁web sites", + "▁website s", + "▁v io", + "▁vi o", + "▁o cas", + "▁oc as", + "vé s", + "v és", + "▁G am", + "▁Ga m", + "d w", + "Ind icator", + "▁K ob", + "▁Ko b", + "▁j ack", + "▁ja ck", + "▁ jack", + "Hi nt", + "H int", + "▁A pol", + "▁Ap ol", + "▁други е", + "▁N UM", + "▁ NUM", + "▁o fic", + "▁of ic", + "yst ycz", + "▁were ld", + "▁wer eld", + "мо сти", + "LE FT", + "▁T ypes", + "▁Type s", + "▁Ty pes", + "▁Typ es", + "▁ Types", + "se en", + "see n", + "s een", + "un cia", + "unc ia", + "unci a", + "▁n arod", + "▁na rod", + "▁nar od", + "▁это т", + "Side note", + "S idenote", + "ue il", + "u eil", + "▁от ме", + "▁cour ts", + "▁court s", + "fi r", + "f ir", + "ur z", + "u rz", + "чен ко", + "Cred entials", + "▁imag ination", + "it ats", + "ita ts", + "itat s", + "bu ff", + "buf f", + "b uff", + "fl ash", + "▁bad ly", + "▁w orn", + "▁wor n", + "▁wo rn", + "▁окру гу", + "cat alog", + "catal og", + "c atalog", + "li me", + "lim e", + "l ime", + "▁G ill", + "▁Gi ll", + "▁Gil l", + "▁S ent", + "▁Se nt", + "▁Sen t", + "ie lla", + "iel la", + "i ella", + "▁Cra ig", + "▁S ele", + "▁Se le", + "▁Sel e", + "▁Indep end", + "▁prov incie", + "▁provin cie", + "os sen", + "oss en", + "▁за пад", + "▁запа д", + "▁inf ant", + "▁pr events", + "▁prevent s", + "▁prev ents", + "▁provin ces", + "▁province s", + "af é", + "be g", + "b eg", + "▁col ours", + "▁colour s", + "B F", + "ë n", + "▁Ме жду", + "î n", + "Ob server", + "for sch", + "í gen", + "um ption", + "ump tion", + "▁Ill ustr", + "ри ст", + "рис т", + "▁по лови", + "▁пол ови", + "▁поло ви", + "▁` &", + "▁o re", + "▁or e", + "▁ ore", + "▁supp lies", + "▁parent hes", + "Found ation", + "▁v ou", + "▁vo u", + "▁T out", + "▁To ut", + "Don ald", + "▁R ET", + "▁RE T", + "we ig", + "wei g", + "▁produ cción", + "mi x", + "m ix", + "▁ut wor", + "▁f öl", + "▁fö l", + "▁ent ão", + "▁S ister", + "▁Si ster", + "Tag s", + "T ags", + "▁Савез не", + "▁privile ges", + "▁na zw", + "▁naz w", + "▁R av", + "▁Ra v", + "▁re pro", + "▁rep ro", + "▁repr o", + "▁M ason", + "▁Ma son", + "▁Mas on", + "▁Pl atform", + "▁Plat form", + "▁ Platform", + "▁про бле", + "▁P érez", + "▁bl anc", + "▁bla nc", + "▁blan c", + "Be havior", + "фи ци", + "ek en", + "e ken", + "▁me ets", + "▁meet s", + "(. *", + "( .*", + "▁f å", + "ep en", + "e pen", + "ma ker", + "make r", + "m aker", + "▁lo yal", + "mem bers", + "member s", + "m embers", + "meister schaft", + "go al", + "ш лен", + "▁се веро", + "▁север о", + "ie nde", + "ien de", + "i ende", + "д ні", + "Pro of", + "▁exp lic", + "▁expl ic", + "▁elect ro", + "ie ls", + "iel s", + "i els", + "re load", + "▁el even", + "▁ele ven", + "▁elev en", + "▁part idos", + "▁partido s", + "în e", + "î ne", + "▁R egin", + "▁Re gin", + "▁Reg in", + "▁é x", + "▁Bu lg", + "▁Bul g", + "▁network ing", + "▁net working", + "▁se parator", + "▁separ ator", + "User Name", + "▁edific io", + "▁M ie", + "▁Mi e", + "▁id le", + "ye d", + "y ed", + "▁pass engers", + "▁passenger s", + "+ )", + "me no", + "men o", + "m eno", + "eg gi", + "e ggi", + "▁nice ly", + "▁nic ely", + "end encia", + "enden cia", + "чи й", + "ét és", + "été s", + "ight arrow", + "▁orth ogonal", + "▁H alf", + "▁Hal f", + "▁fe wer", + "▁few er", + "▁pro pi", + "▁prop i", + "▁pr imit", + "▁prim it", + "▁pri mit", + "▁primi t", + "ic ale", + "ical e", + "ica le", + "▁f lower", + "▁fl ower", + "▁flow er", + "▁flo wer", + "mer k", + "m erk", + "▁Оте че", + "▁pers istent", + "▁persist ent", + "▁V ille", + "▁Vill e", + "▁Vi lle", + "▁Vil le", + "Me n", + "M en", + "ga ben", + "gabe n", + "g aben", + "▁Isa ac", + "at ivity", + "ativ ity", + "ati vity", + "▁pół noc", + "▁r ok", + "▁ro k", + "▁ rok", + "car ds", + "card s", + "c ards", + "де ния", + "▁ю го", + "▁extra ordinary", + "▁k yr", + "(\" ,", + "( \",", + ")) ]", + ") )]", + "▁un ix", + "▁ unix", + "ко л", + "▁s ink", + "▁sin k", + "ap sed", + "aps ed", + "▁k ommen", + "▁kom men", + "▁komm en", + "▁ kommen", + "▁for cing", + "Ab out", + "▁H alle", + "▁Ha lle", + "▁Hall e", + "▁Hal le", + "▁Maj esty", + "▁Sw itch", + "▁ Switch", + "▁ab road", + "▁acceler ation", + "ur bed", + "urb ed", + "▁о стан", + "▁ос тан", + "▁оста н", + "▁ост ан", + "Re ady", + "Read y", + "▁пів ні", + "Br a", + "B ra", + "▁ць ого", + "▁pl ut", + "▁T rain", + "▁Tr ain", + "▁Tra in", + "▁á prilis", + "▁p uesto", + "▁pu esto", + "▁pue sto", + "▁t oss", + "▁to ss", + "▁irre levant", + "▁d ip", + "▁di p", + "se gment", + "seg ment", + "op acity", + "▁lors que", + "▁versch ill", + "ен а", + "е на", + "▁D oc", + "▁Do c", + "▁ Doc", + "%%%% %%%%", + "▁b orders", + "▁border s", + "▁bor ders", + "▁bord ers", + "ge bras", + "geb ras", + "gebra s", + "▁r ies", + "▁ri es", + "▁ ries", + "▁Olymp edia", + "▁Gener ation", + "met ros", + "metro s", + "▁hor izon", + "▁adapt ation", + "▁Z ahl", + "▁Za hl", + "▁na he", + "▁nah e", + "▁B ug", + "▁Bu g", + "P icture", + "љ и", + "R GB", + "O wner", + "ad in", + "adi n", + "a din", + "▁Catal unya", + "ný ch", + "n ých", + "▁cual quier", + "▁Inst itution", + "▁Instit ution", + "▁Institut ion", + "in sen", + "ins en", + "▁Bras ile", + "▁Brasil e", + "▁f itting", + "▁fit ting", + "De leg", + "Del eg", + "ic two", + "ict wo", + "▁Ex per", + "▁Exp er", + "och astic", + "▁d us", + "▁du s", + "▁по ра", + "▁пор а", + "▁sub string", + "▁subst ring", + "▁subs tring", + "▁substr ing", + "▁ substring", + "сси и", + "с сии", + "oi n", + "o in", + "▁ш кола", + "▁шко ла", + "▁c x", + "▁ cx", + "▁% )", + "▁ %)", + "▁Bud dh", + "▁p ending", + "▁pen ding", + "▁En try", + "▁Ent ry", + "▁ Entry", + "▁Be rl", + "▁Ber l", + "▁c ler", + "▁cl er", + "▁cle r", + "▁ cler", + "▁S oc", + "▁So c", + "▁r ounded", + "▁round ed", + "▁m v", + "▁ mv", + "ít ett", + "▁Di plom", + "▁französ ischen", + "▁G an", + "▁Ga n", + "▁Inv estig", + "▁index Path", + "▁ indexPath", + "▁mol ti", + "▁molt i", + "pers istence", + "▁XIX e", + "▁Elect ron", + "b ü", + "ge le", + "gel e", + "g ele", + "▁M aler", + "▁Ma ler", + "▁Mal er", + "▁Male r", + "▁proyect o", + "▁B ath", + "▁Ba th", + "▁Bat h", + "el lers", + "ell ers", + "elle rs", + "eller s", + "▁G P", + "▁ GP", + "on ing", + "oni ng", + "o ning", + "clou dflare", + "▁p ři", + "▁př i", + "▁d ed", + "▁de d", + "▁ ded", + "▁Od kazy", + "▁M sg", + "▁ Msg", + "▁B eing", + "▁Be ing", + "▁Bei ng", + "▁De puis", + "▁Dep uis", + "▁Pri mary", + "▁Prim ary", + "▁Prima ry", + "▁ Primary", + "▁App ro", + "▁Ap pro", + "▁form ally", + "▁formal ly", + "ступ ил", + "ступи л", + "▁fue ra", + "▁fu era", + "▁fuer a", + "▁R oot", + "▁Ro ot", + "▁ Root", + "▁aut onom", + "▁auto nom", + "▁secret ary", + "▁os ób", + "▁cu ales", + "▁cual es", + "▁Dep ending", + "▁a si", + "▁as i", + "▁ asi", + "ve ra", + "ver a", + "v era", + "▁rus se", + "▁russ e", + "▁pro ves", + "▁prov es", + "▁prove s", + "▁pres iden", + "R U", + "▁Wat son", + "▁web pack", + "▁ webpack", + "elli gence", + "ellig ence", + "ка м", + "▁Office r", + "▁Offic er", + "▁d elivery", + "▁deliver y", + "▁deli very", + "ж дён", + "▁им пе", + "▁w il", + "▁v esc", + "▁ve sc", + "▁ves c", + "uszt us", + "▁Ge off", + "() }", + "( )}", + "▁F ore", + "▁For e", + "▁Fo re", + "▁w enig", + "▁we nig", + "▁wen ig", + "▁A irl", + "▁Air l", + "▁E fter", + "▁Bre ak", + "▁St äd", + "is miss", + "ism iss", + "í p", + "▁avoid ed", + "▁avo ided", + "▁assert ion", + "D N", + "▁te at", + "▁tea t", + "ín a", + "í na", + "▁mechan ical", + "is u", + "i su", + "@ {", + "▁n ou", + "▁no u", + "▁ nou", + "Ital ie", + "source forge", + "▁s vo", + "▁sv o", + "▁kir ály", + "▁Re ferences", + "▁Refer ences", + "▁Reference s", + "si x", + "s ix", + "▁Arch ives", + "▁Archiv es", + "▁Archive s", + "▁fin ishing", + "▁finish ing", + "ac je", + "ét at", + "éta t", + "é tat", + "if fs", + "iff s", + "▁st ead", + "▁ste ad", + "▁fe as", + "aw are", + "awa re", + "a ware", + "la nde", + "land e", + "lan de", + "l ande", + "In ject", + "▁A gent", + "▁Ag ent", + "▁Age nt", + "▁ Agent", + "▁Norm datei", + "▁a men", + "▁am en", + "▁ amen", + "▁Arch itecture", + "az e", + "a ze", + "ș te", + "▁us ar", + "▁c ores", + "▁cor es", + "▁co res", + "▁core s", + "лі н", + "л ін", + "▁C astro", + "▁Cast ro", + "▁v æ", + ">\" ,", + "> \",", + "om ena", + "ome na", + "omen a", + "▁ge sam", + "▁ges am", + "▁Mart ín", + "▁Martí n", + "eg ung", + "egu ng", + "▁spole č", + "▁ampl itude", + "▁amplit ude", + "▁import ing", + "▁list view", + "TH E", + "T HE", + "zi ale", + "zial e", + "zia le", + "z iale", + "ce des", + "ced es", + "c edes", + "▁particul ier", + "▁Распо дела", + "▁кра й", + "▁d ivent", + "▁di vent", + "▁div ent", + "▁k é", + "▁ ké", + "qu it", + "qui t", + "q uit", + "то ром", + "тор ом", + "Check Box", + "▁Zob acz", + "ph e", + "p he", + "pt a", + "p ta", + "▁s jö", + "▁sj ö", + "▁розта ш", + "▁tedes co", + "▁s tal", + "▁st al", + "▁sta l", + "▁ stal", + "▁Be ruf", + "▁Ber uf", + "ова я", + "о вая", + "▁s vě", + "▁sv ě", + "▁fl ush", + "▁flu sh", + "▁ flush", + "▁від бу", + "▁rad ial", + "▁radi al", + "▁différ entes", + "ан та", + "▁Per ry", + "Col l", + "Co ll", + "C oll", + "li qu", + "l iqu", + "▁Option al", + "▁Opt ional", + "▁ Optional", + "▁Сан кт", + "▁LIN Q", + "▁Fran c", + "▁Fr anc", + "▁Fra nc", + "ci je", + "c ije", + "▁Gu illaume", + "kn ow", + "k now", + "▁Un its", + "▁Unit s", + "ol k", + "▁Syst ème", + "▁S ales", + "▁Sal es", + "▁Sa les", + "▁ehemal igen", + "ми рова", + "мир ова", + "x html", + "set opt", + "▁m ellan", + "▁mel lan", + "▁z ie", + "▁ zie", + "▁gi ant", + "Bo ard", + "▁C aval", + "▁Ca val", + "▁Cav al", + "▁def ence", + "-- --------", + "---- ------", + "-------- --", + "--- -------", + "------ ----", + "----- -----", + "------- ---", + "ps hire", + "p shire", + "ma rt", + "mar t", + "m art", + "▁Di oc", + "is kt", + "isk t", + "▁in se", + "▁ins e", + "▁é pisode", + "чи к", + "bar s", + "ba rs", + "b ars", + "Si to", + "S ito", + "▁integr ity", + "au ff", + "auf f", + "a uff", + "▁v är", + "▁vä r", + "Az ure", + "▁star b", + "▁sta rb", + "▁кон тра", + "▁Мекси чка", + "▁за па", + "▁Mount ains", + "▁Mountain s", + "}} =", + "} }=", + "▁pull ing", + "▁pul ling", + "▁sat ellite", + "▁at oms", + "▁atom s", + "▁profes or", + "▁repeated ly", + "▁repeat edly", + "▁inv asion", + "▁invas ion", + "program ming", + "├ ──", + "▁L ip", + "▁Li p", + "вши е", + "в шие", + "▁k een", + "▁ke en", + "▁crit ics", + "▁critic s", + "▁N icola", + "▁Nicol a", + "▁Nic ola", + "▁Ni cola", + "▁C and", + "▁Can d", + "▁Ca nd", + "▁dist int", + "▁he ading", + "▁head ing", + "p ragma", + "{ |", + "ym en", + "yme n", + "y men", + "▁ter rain", + "▁terra in", + "ied enis", + "▁bes onders", + "▁nomin ated", + "BO OL", + "▁K ay", + "▁Ka y", + "ci an", + "cia n", + "c ian", + "st elle", + "ste lle", + "stell e", + "▁disput e", + "▁disp ute", + "▁ щ", + "Data Set", + "no thing", + "not hing", + "n othing", + "Aut om", + "Auto m", + "hör en", + "hö ren", + "▁s hed", + "▁sh ed", + "▁she d", + "▁p aused", + "▁pa used", + "▁pause d", + "▁pau sed", + "sa n", + "s an", + "▁nun ca", + "!( \"", + "! (\"", + "▁po łoż", + "Se cret", + "Sec ret", + "▁Do main", + "▁Dom ain", + "▁ Domain", + "▁воз мож", + "X V", + "l v", + "ik h", + "i kh", + "▁S ony", + "▁So ny", + "▁Son y", + "m q", + "ot rop", + "otr op", + "▁Log ger", + "▁ Logger", + "▁thre at", + "as ted", + "ast ed", + "aste d", + "a sted", + "зь ко", + "▁fre ely", + "▁free ly", + "▁improve ments", + "▁improv ements", + "▁improvement s", + "ist ema", + "iste ma", + "▁illustr ate", + "▁t act", + "▁ta ct", + "▁fig ur", + "ué s", + "u és", + "rim inal", + "rimin al", + "od on", + "odo n", + "o don", + "int endo", + "▁influ enced", + "▁influence d", + "▁influen ced", + "FF ER", + "▁G host", + "▁Gh ost", + "▁со вер", + "▁сов ер", + "na d", + "n ad", + "ion ed", + "io ned", + "ione d", + "i oned", + "▁Event s", + "▁Ev ents", + "▁Even ts", + "▁ Events", + "▁wr apping", + "▁wra pping", + "▁wrap ping", + "-------- -+", + "--- ------+", + "------ ---+", + "----- ----+", + "------- --+", + "fi f", + "f if", + "▁( **", + "▁(* *", + "={ {", + "= {{", + "ма ль", + "м аль", + "▁loss es", + "▁Gal erie", + "te l", + "t el", + "▁лю того", + "▁K ru", + "▁Kr u", + "▁P olen", + "▁Pol en", + "▁Po len", + "ні м", + "ne ar", + "nea r", + "n ear", + "▁sh ame", + "▁moy enne", + "▁C P", + "▁ CP", + "pre is", + "▁pass enger", + "le k", + "l ek", + "ion ales", + "ional es", + "ionale s", + "iona les", + "kaf ka", + "k afka", + "▁partic ipe", + "▁particip e", + "▁parti cipe", + "▁partici pe", + "▁memb ership", + "▁member ship", + "▁members hip", + "[ _", + "land o", + "lan do", + "l ando", + "st elling", + "stell ing", + "Se m", + "S em", + "go n", + "g on", + "▁Cor rect", + "▁v alle", + "▁val le", + "▁va lle", + "▁vall e", + "▁read ily", + "▁Dok ument", + "hon neur", + "h onneur", + "▁test im", + "ul ative", + "do Filter", + "▁domin ant", + "am mer", + "amm er", + "▁ко ја", + "▁M onsieur", + "ze g", + "z eg", + "▁вій ни", + "▁F o", + "▁A my", + "▁Am y", + "▁ ¡", + "▁febru ár", + "▁down loading", + "▁download ing", + "▁l eng", + "▁le ng", + "▁len g", + "\\}$ ,", + "\\} $,", + "\\ }$,", + "▁ne at", + "▁C ache", + "▁Ca che", + "▁ Cache", + "IC ATION", + "▁de ve", + "▁dev e", + "▁s orrow", + "▁sor row", + "sl ow", + "s low", + "▁hin aus", + "▁hina us", + "▁recon oc", + "▁Lin ked", + "▁Link ed", + "▁Sh aw", + "mar ket", + "mark et", + "▁D ic", + "▁Di c", + "▁S ki", + "▁Sk i", + "▁del imiter", + "▁Main Activity", + "▁ MainActivity", + "▁Mus ical", + "▁Music al", + "▁Re yn", + "▁Rey n", + "Scroll View", + "▁convent ional", + "▁convention al", + "en ça", + "enç a", + "▁re factor", + "▁ref actor", + "' -", + "▁H ed", + "▁He d", + "spr ech", + "spre ch", + "▁ath let", + "▁e species", + "▁es pecies", + "▁espe cies", + "▁espec ies", + "▁especie s", + "▁Sch ön", + "▁kle inen", + "▁kleine n", + "▁klein en", + "ш ко", + "▁Й о", + "▁H appy", + "▁Ha ppy", + "multi row", + "▁august i", + "▁G and", + "▁Ga nd", + "▁Gan d", + "▁appoint ment", + "▁Medi abestanden", + "Th ree", + "▁Kenn eth", + "NE W", + "▁Not ification", + "▁ Notification", + "▁Mar x", + "▁Ma rx", + "▁in sc", + "▁ins c", + "Mo r", + "M or", + "вы й", + "в ый", + "vä st", + "v äst", + "vi dia", + "vid ia", + "v idia", + "▁demonstr ated", + "▁demonstrate d", + "font s", + "fon ts", + "▁k amen", + "▁kam en", + "▁ka men", + "▁S ter", + "▁St er", + "▁Ste r", + "▁mieszkań ców", + "▁K oh", + "▁Ko h", + "~$ \\", + "~ $\\", + "») .", + "» ).", + "re ne", + "ren e", + "r ene", + "ins ic", + "ic ká", + "ick á", + "xy gen", + "▁m n", + "▁ mn", + "▁s ched", + "▁sc hed", + "▁sch ed", + "▁sche d", + "AS C", + "A SC", + "I g", + "▁Const ant", + "▁opport un", + "▁My Class", + "se f", + "s ef", + "op ed", + "ope d", + "o ped", + "▁inj ured", + "VI S", + "V IS", + "▁P ero", + "▁Per o", + "▁Pe ro", + "▁U ntil", + "▁Un til", + "▁f lesh", + "▁fl esh", + "▁fle sh", + "orph ism", + "▁Port al", + "▁Por tal", + "▁gmin y", + "▁вла сти", + "▁N ä", + "кти че", + "к тиче", + "▁h rab", + "▁hr ab", + "▁C ub", + "▁Cu b", + "av oir", + "avo ir", + "a voir", + "▁L ars", + "▁La rs", + "▁Lar s", + "▁Бе ло", + "▁seizo en", + "▁Gen omsnitt", + "▁L il", + "▁Li l", + "▁P ool", + "▁Po ol", + "▁ Pool", + "▁D ios", + "▁Di os", + "T X", + "ae s", + "a es", + "aut ore", + "auto re", + "autor e", + "Al pha", + "st ates", + "state s", + "sta tes", + "stat es", + "La b", + "L ab", + "n ederbörd", + "er ton", + "ert on", + "▁b rid", + "▁br id", + "▁ brid", + "▁r icht", + "▁rich t", + "▁ric ht", + "▁ri cht", + "▁ richt", + "▁E la", + "▁El a", + "▁с ла", + "▁ сла", + "▁weap on", + "▁comb att", + "▁combat t", + "ag ar", + "aga r", + "a gar", + "▁reg nig", + "▁util isé", + "▁utilis é", + "▁ser vir", + "▁serv ir", + "▁servi r", + "▁b rick", + "▁br ick", + "▁gate way", + "▁tor raste", + "▁proced ures", + "▁procedure s", + "▁års nederbörd", + "▁Genomsnitt lig", + "чё т", + "ч ёт", + "▁om rå", + "▁ områ", + "▁regnig aste", + "▁че сть", + "▁a mid", + "▁am id", + "▁ami d", + "▁gr ateful", + "▁D IS", + "▁DI S", + "▁ DIS", + "DA Y", + "▁о ру", + "▁ор у", + "▁ ору", + "▁riv ière", + "he ure", + "▁Rich mond", + "▁Com par", + "▁Comp ar", + "▁Н ор", + "▁Но р", + "DO C", + "D OC", + "es ia", + "esi a", + "cal c", + "▁I U", + "▁v org", + "▁vo rg", + "▁vor g", + "▁hab ían", + "▁había n", + "ço it", + "ç oit", + "▁a rist", + "▁ar ist", + "▁к ли", + "▁ кли", + "▁S ue", + "▁Su e", + "▁T ouch", + "▁To uch", + "▁ Touch", + "▁Writ ing", + "ifi able", + "▁w c", + "▁with draw", + "за р", + "з ар", + "▁present ly", + "▁pres ently", + "▁F K", + "▁pr akt", + "▁pra kt", + "▁col ored", + "▁color ed", + "us b", + "u sb", + "▁Per ú", + "▁pl ata", + "▁pla ta", + "▁plat a", + "▁w ishes", + "▁wish es", + "▁wis hes", + "▁ка м", + "▁ кам", + "az ar", + "aza r", + "a zar", + "áv el", + "á vel", + "▁l amp", + "▁la mp", + "bi shop", + "b ishop", + "▁in clusion", + "▁incl usion", + "▁inclus ion", + "j q", + "ar th", + "art h", + "▁F lag", + "▁Fl ag", + "▁ Flag", + "▁но р", + "▁н ор", + "æ dia", + "UN CTION", + "▁Bahn hof", + "▁appro aching", + "▁approach ing", + "▁G ött", + "▁Gö tt", + "▁c ube", + "▁cu be", + "▁cub e", + "▁arg ued", + "▁argue d", + "▁Th ings", + "Gu i", + "G ui", + "до ви", + "дов и", + "д ови", + "▁re cre", + "▁rec re", + "▁ré seau", + "▁rés eau", + "▁sign ifica", + "▁signific a", + "Gi t", + "G it", + "geb racht", + "gebra cht", + "▁l iga", + "▁li ga", + "▁lig a", + "▁ liga", + "▁ass ured", + "al us", + "alu s", + "a lus", + "ри т", + "р ит", + "▁э нциклопеди", + "▁% ).", + "▁%) .", + "▁ %).", + "▁Prem ière", + "▁declar ations", + "▁declaration s", + "▁tr icky", + "▁trick y", + "▁pro files", + "▁prof iles", + "▁profile s", + "▁profil es", + "▁F on", + "▁Fo n", + "▁J as", + "▁Ja s", + "â r", + "ba bel", + "b abel", + "▁Fr iday", + "▁Fri day", + "▁Frid ay", + "▁jú nius", + "▁c ols", + "▁col s", + "▁co ls", + "▁ cols", + "▁EX ISTS", + "▁Ital iana", + "▁Italian a", + "▁Italia na", + "▁author ization", + "▁s ulle", + "▁su lle", + "▁sul le", + "▁sull e", + "▁E mb", + "▁Em b", + "▁Vari able", + "▁ Variable", + "tr ees", + "tre es", + "tree s", + "t rees", + "▁F ly", + "▁Fl y", + "ri ors", + "rio rs", + "rior s", + "r iors", + "▁da mals", + "▁dam als", + "▁find et", + "▁fin det", + "▁Se pt", + "▁Sep t", + "▁m undial", + "▁rem oval", + "▁remov al", + "▁long itude", + "▁longitud e", + "cl ic", + "cli c", + "c lic", + "▁f ade", + "▁fa de", + "▁ fade", + "▁grad le", + "▁ gradle", + "▁z ák", + "▁zá k", + "▁tim ing", + "▁ti ming", + "tr ightarrow", + "t rightarrow", + "at ia", + "ati a", + "- .", + "uch e", + "uc he", + "u che", + "▁ser ialize", + "▁serial ize", + "▁H mm", + "▁Represent atives", + "ba h", + "b ah", + "re nd", + "ren d", + "r end", + "ass ador", + "assa dor", + "▁sh ield", + "uc ion", + "u cion", + "▁am éricaine", + "▁améric aine", + "▁américain e", + "z ę", + "vi lla", + "vil la", + "v illa", + "▁hom bre", + "ás s", + "á ss", + "▁S F", + "▁ SF", + "▁repe ating", + "▁repeat ing", + "▁c riter", + "▁cr iter", + "▁crit er", + "▁cri ter", + "▁St ruct", + "▁Str uct", + "▁ Struct", + "?? ?", + "? ??", + "▁che ap", + "▁r ings", + "▁ring s", + "▁rin gs", + "ab häng", + "▁c orte", + "▁cor te", + "▁cort e", + "▁admin ist", + "ix on", + "gy pt", + "▁punt os", + "▁punto s", + "▁me zi", + "▁mez i", + "▁po chod", + "▁poc hod", + "is ko", + "isk o", + "i sko", + "ni ę", + "n ię", + "▁о су", + "▁ос у", + "▁á r", + "▁ ár", + "те льной", + "тель ной", + "тельно й", + "▁Metropol itan", + "ji n", + "j in", + "ze ss", + "zes s", + "z ess", + "▁ві ці", + "▁conflic ts", + "▁conflict s", + "ij st", + "▁Mar ket", + "▁Mark et", + "ст ров", + "стро в", + "стр ов", + "▁\" ,\"", + "▁\", \"", + "▁ \",\"", + "▁Sc roll", + "▁ Scroll", + "gu n", + "g un", + "та ра", + "тар а", + "▁am ateur", + "▁r óż", + "pos s", + "po ss", + "p oss", + "▁general ized", + "▁H arm", + "▁Har m", + "▁Ha rm", + "ci ta", + "cit a", + "c ita", + "▁Sw itzerland", + "ic ola", + "ico la", + "icol a", + "i cola", + "▁m uit", + "▁mu it", + "loc ated", + "▁c ó", + "▁a rose", + "▁ar ose", + "▁commun auté", + "}) ^", + "} )^", + "vis ibility", + "íd a", + "í da", + "▁F B", + "▁ FB", + "▁Fre und", + "ga t", + "g at", + "\": {\"", + "int ellij", + "if ie", + "ifi e", + "hm en", + "h men", + "▁éd ition", + "▁ édition", + "▁ко је", + "▁ін ших", + "om ing", + "omin g", + "omi ng", + "o ming", + "▁arqu itect", + "▁Pres idente", + "▁President e", + "▁П ід", + "▁ca bin", + "▁cab in", + "The orem", + "▁G ay", + "▁Ga y", + "if ice", + "ific e", + "ifi ce", + "▁h ect", + "▁he ct", + "l ą", + "irm ingham", + "▁sem antic", + "▁Louis iana", + "▁sac rifice", + "▁sacr ifice", + "▁sacrific e", + "▁Christ oph", + "▁Exec utive", + "_ +", + "j ák", + "▁s eria", + "▁se ria", + "▁ser ia", + "▁Over flow", + "▁ Overflow", + "▁Lu cy", + "▁Luc y", + "▁mel hor", + "▁vo ices", + "▁voice s", + "cz a", + "c za", + "▁ка пи", + "▁университе та", + "IN CT", + "▁col oc", + "▁co loc", + "▁pr ue", + "▁ge omet", + "▁geom et", + "▁di retto", + "▁dire tto", + "▁dir etto", + "▁dirett o", + "re so", + "res o", + "r eso", + "▁A kt", + "▁Ak t", + "▁un h", + "▁се ри", + "▁сер и", + "▁Al ert", + "▁Ale rt", + "▁ Alert", + "We l", + "W el", + "au di", + "aud i", + "a udi", + "äl er", + "ä ler", + "▁gu ests", + "▁guest s", + "▁и де", + "St udio", + "▁ка те", + "▁ex ponent", + "▁expon ent", + "rz e", + "r ze", + "pm od", + "p mod", + "ro lle", + "roll e", + "rol le", + "▁Lim ited", + "Al lemagne", + "▁p ity", + "▁pi ty", + "▁pit y", + "▁l ä", + "▁ lä", + "▁run ner", + "▁ runner", + "ke nde", + "ken de", + "k ende", + "E Q", + "▁M M", + "▁ MM", + "sz ág", + "по ді", + "▁reg ret", + "▁publi é", + "▁depart amento", + "▁acc used", + "▁accus ed", + "h p", + "▁P fl", + "▁Pf l", + "▁S int", + "▁Si nt", + "▁Sin t", + "▁ek onom", + "ra ctor", + "rac tor", + "ract or", + "r actor", + "▁П ів", + "▁aw ful", + "owa ć", + "] ->", + "▁F ine", + "▁Fin e", + "С а", + "ti s", + "t is", + "ét a", + "é ta", + "▁Ро ди", + "▁Düsseld orf", + "LO B", + "L OB", + "os as", + "osa s", + "wer ke", + "werk e", + "▁l ance", + "▁lan ce", + "▁листо пада", + "▁in complete", + "▁P icture", + "▁ Picture", + "(' \\", + "( '\\", + "es ters", + "est ers", + "ester s", + "este rs", + "e sters", + "▁belong ed", + "▁S ank", + "▁San k", + "am med", + "amm ed", + "▁repos itories", + "▁ad dr", + "▁add r", + "▁ addr", + "Col lect", + "Coll ect", + "H ot", + "▁t yl", + "▁ty l", + "▁instance of", + "▁bon us", + "ov ý", + "▁мо ря", + "▁мор я", + "▁inter active", + "▁interact ive", + "▁M ys", + "▁My s", + "▁Ed mund", + "file Name", + "em or", + "emo r", + "e mor", + "▁Т ри", + "▁R osen", + "▁Ro sen", + "▁Ros en", + "▁Rose n", + "▁Pr ima", + "▁Pri ma", + "▁Prim a", + "▁v oting", + "▁vo ting", + "▁vot ing", + "▁X P", + "▁Z ero", + "▁Ze ro", + "▁ Zero", + "▁L ed", + "▁Le d", + "ams ung", + "▁en ables", + "▁enable s", + "▁redirect s", + "AS T", + "A ST", + "Pa int", + "P aint", + "ack er", + "ac ker", + "a cker", + "le cht", + "▁chair man", + "▁A ven", + "▁Av en", + "▁S ach", + "▁Sa ch", + "▁Sac h", + "(\" <", + "ке р", + "к ер", + "▁mist akes", + "▁mistake s", + "▁We it", + "▁Wei t", + "▁pro wad", + "▁ prowad", + "▁did nt", + "▁didn t", + "én ario", + "un less", + "▁back wards", + "bo a", + "b oa", + "du ino", + "`` `", + "` ``", + "st or", + "sto r", + "s tor", + "Comple tion", + "pu esta", + "▁din ast", + "úl t", + "ú lt", + "▁S Y", + "▁ SY", + "if olia", + "œuv res", + "œuvre s", + "▁r acing", + "▁ra cing", + "▁rac ing", + "▁cab inet", + "▁cabin et", + "▁cut ting", + "▁th umb", + "▁Ка ра", + "▁Кар а", + "high light", + "ку п", + "▁s d", + "▁ sd", + "▁на ціональ", + "▁camp agne", + "▁register s", + "▁educ ational", + "▁education al", + "▁p esar", + "▁pes ar", + "üg e", + "ü ge", + "▁o ro", + "▁or o", + "▁ oro", + "burg o", + "bur go", + "▁Athlet ics", + "▁M TV", + "get Message", + "▁H yp", + "▁Hy p", + "▁vict im", + "▁vic tim", + ")) \\", + ") )\\", + "▁dr ums", + "▁dru ms", + "▁drum s", + "host name", + "ta ł", + "t ał", + "ma king", + "m aking", + "▁pow iat", + "ő d", + "thread s", + "▁absol v", + "▁лю ди", + "▁ste pped", + "▁step ped", + "ex ist", + "▁N K", + "▁v es", + "▁ve s", + "▁ ves", + "ist iche", + "istic he", + "isti che", + "% '", + "at ivos", + "ativ os", + "ati vos", + "ativo s", + "▁та кой", + "▁тако й", + "▁Mongo DB", + "▁U ng", + "▁Un g", + "▁Р ус", + "▁Ру с", + "▁e lim", + "▁el im", + "▁F if", + "ic ación", + "ica ción", + "▁T ennis", + "▁Ten nis", + "▁Jeff erson", + "j án", + "fo g", + "f og", + "an ha", + "anh a", + "zo r", + "z or", + "▁уні версите", + "ah u", + "a hu", + "ia da", + "i ada", + "S dk", + "Set ting", + "▁K ill", + "▁Kil l", + "▁Ki ll", + "▁W end", + "▁We nd", + "▁b ald", + "▁bal d", + "▁ba ld", + "▁K ub", + "▁Ku b", + "▁v isto", + "▁vis to", + "▁vi sto", + "▁je unes", + "▁jeune s", + "▁jeu nes", + "col lections", + "collection s", + "collect ions", + "ac í", + "a cí", + "вро пей", + "▁ar ise", + "он і", + "о ні", + "MA IN", + "до ступ", + "▁b erg", + "▁be rg", + "▁ber g", + "▁ berg", + "▁critic ism", + "▁Tor re", + "▁de script", + "▁des cript", + "▁descri pt", + "ière s", + "i ères", + "▁e studio", + "▁est udio", + "▁estud io", + "▁i li", + "▁il i", + "▁ ili", + "▁mil itare", + "▁milit are", + "▁militar e", + "▁Cl ara", + "▁Cla ra", + "▁Clar a", + "▁El len", + "▁Elle n", + "▁Ell en", + "lim ited", + "limit ed", + "л м", + "▁Esp añ", + "▁inf initely", + "▁infinite ly", + "Amer ica", + "ou c", + "o uc", + "gl ass", + "g lass", + "▁r ud", + "▁ru d", + "▁z at", + "▁za t", + "▁ zat", + "▁r in", + "▁ri n", + "▁ rin", + "▁Bibli ografía", + "▁mer chant", + "tensor flow", + "▁d ér", + "▁dé r", + "▁Active Record", + "IE S", + "I ES", + "▁link er", + "▁lin ker", + "▁estud ios", + "▁estudio s", + "cdn js", + "▁Го судар", + "án chez", + "ap pe", + "app e", + "a ppe", + "cl ub", + "c lub", + "▁dal ší", + "▁Alg orithm", + "df s", + "d fs", + "▁B ac", + "▁Ba c", + "▁ка фе", + "▁& =\\", + "▁&= \\", + "▁а т", + "▁ ат", + "▁Г лав", + "▁M ou", + "▁Mo u", + "M achine", + "(... )", + "( ...)", + "▁com part", + "▁comp art", + "▁compar t", + "▁aug usztus", + "av an", + "ava n", + "a van", + "▁roll ed", + "▁rol led", + "▁ rolled", + "▁е ди", + "▁ еди", + "Sc an", + "S can", + "▁ре гі", + "▁świ ata", + "▁świat a", + "▁m ines", + "▁min es", + "▁mi nes", + "▁mine s", + "}, {", + "▁T ier", + "▁Ti er", + "Can not", + "C annot", + "мі н", + "м ін", + "▁NE W", + "▁ NEW", + "▁Во л", + "▁M anh", + "▁Man h", + "▁Greg ory", + "▁princi pe", + "▁princip e", + "▁prin cipe", + "IS O", + "I SO", + "pr og", + "pro g", + "p rog", + "▁F ail", + "▁Fa il", + "▁ Fail", + "▁a a", + "▁ aa", + "▁fe cha", + "▁W CF", + "▁mag istr", + "▁Z ach", + "▁Za ch", + "▁un icode", + "▁con verter", + "▁convert er", + "▁conver ter", + "▁dis pers", + "▁disp ers", + "ks am", + "k sam", + "▁Un cle", + "Property Changed", + "▁l ider", + "▁li der", + "▁lid er", + "▁o pts", + "▁op ts", + "▁opt s", + "▁ opts", + "▁та м", + "▁ там", + "lock ed", + "loc ked", + "za k", + "z ak", + "▁co unted", + "▁count ed", + "▁coun ted", + "▁person e", + "▁pers one", + "▁hur ried", + "ät ter", + "ätt er", + "ätte r", + "▁out ras", + "▁ou tras", + "▁g enu", + "▁ge nu", + "▁gen u", + "B D", + "ve g", + "v eg", + "du e", + "d ue", + "▁P ract", + "▁Pr act", + "▁Pra ct", + "▁po sible", + "▁pos ible", + "▁cont ribute", + "▁contrib ute", + "▁contribu te", + "UM N", + "▁Bür ger", + "▁w ars", + "▁war s", + "▁wa rs", + "▁exhib ition", + "hi ll", + "h ill", + "▁a str", + "▁as tr", + "▁ast r", + "▁ astr", + "▁му зе", + "▁C ASE", + "▁CA SE", + "▁ CASE", + "man ifest", + "y ellow", + "F n", + "▁R C", + "▁ RC", + "▁s ott", + "▁so tt", + "▁su jet", + "▁S ocket", + "▁So cket", + "▁Soc ket", + "▁ Socket", + "▁Ch ine", + "▁Chi ne", + "▁frame works", + "▁framework s", + "Hol d", + "H old", + "êt s", + "ê ts", + "▁ф іль", + "▁фі ль", + "Lo aded", + "Load ed", + "op he", + "oph e", + "o phe", + "text e", + "tex te", + "▁ex pres", + "▁exp res", + "▁expr es", + "▁cons ume", + "▁consum e", + "▁R ichtung", + "ograf i", + "▁magn ific", + "à t", + "▁ind ul", + "▁indu l", + "ry ty", + "▁off ici", + "▁offic i", + "▁ass ault", + "ru nd", + "run d", + "r und", + "▁vari ants", + "▁variant s", + "▁сель сов", + "▁exc itement", + "Time s", + "Tim es", + "T imes", + "k otlin", + "▁g ering", + "▁ge ring", + "▁ger ing", + "▁En gel", + "▁Eng el", + "▁T imer", + "▁Time r", + "▁Tim er", + "▁Ti mer", + "▁ Timer", + "² ).", + "▁N g", + "äs st", + "sch au", + "SE rror", + "S Error", + "▁Ed wards", + "▁Edward s", + "▁Term inal", + "li ct", + "lic t", + "l ict", + "Un der", + "Und er", + "U nder", + "▁sp awn", + "ür gen", + "▁Außer dem", + "▁k itchen", + "fah rt", + "fahr t", + "▁Col ors", + "▁Color s", + "▁систе ма", + "▁систем а", + "▁termin ated", + "▁terminate d", + "▁La TeX", + "ig keiten", + "igkeit en", + "▁mes ure", + "▁Am ts", + "▁Amt s", + "▁emp ir", + "▁stri king", + "▁strik ing", + "▁exclus ive", + "те х", + "▁re z", + "▁r ez", + "▁ rez", + "▁qu an", + "▁q uan", + "▁Glas gow", + "▁lect ure", + "▁Test ament", + "▁fun ds", + "▁fund s", + "▁st essa", + "▁tri bes", + "▁trib es", + "▁tribe s", + "▁par fois", + "▁tre ball", + "ni tz", + "nit z", + "n itz", + "bo ve", + "b ove", + "▁за слу", + "▁ab sent", + "▁abs ent", + "▁L auf", + "▁La uf", + "▁Lau f", + "Sm ith", + "▁Никола й", + "▁europé enne", + "l r", + "▁program ma", + "▁mi dst", + "▁mid st", + "▁daugh ters", + "▁daughter s", + "S yn", + "ob en", + "obe n", + "o ben", + "ân ă", + "id an", + "ida n", + "i dan", + "▁t her", + "▁th er", + "▁the r", + "▁ ther", + "od ore", + "odo re", + "odor e", + "sd l", + "s dl", + "▁Q uint", + "▁Qu int", + "▁cas os", + "▁caso s", + "▁Z am", + "▁Za m", + "▁стра ны", + "▁sp rite", + "▁spr ite", + "ка л", + "к ал", + "▁n asc", + "▁na sc", + "▁nas c", + "▁сот руд", + "▁tr ava", + "▁tra va", + "▁trav a", + "▁хо зяй", + "▁U ruguay", + "▁s parse", + "▁sp arse", + "▁по ле", + "▁пол е", + "▁myst ery", + "▁myster y", + "▁M ang", + "▁Man g", + "▁Ma ng", + "reg istr", + "▁CG Float", + "▁sub mission", + "▁subm ission", + "ва на", + "ван а", + "в ана", + "▁\" :", + "▁ \":", + "▁Trace back", + "▁P it", + "▁Pi t", + "▁E hr", + "▁с ра", + "▁Graph ics", + "▁ Graphics", + "Up dated", + "Update d", + "▁sv ensk", + "▁sp acing", + "▁spac ing", + "tr itt", + "tri tt", + "t ritt", + "▁Gu inea", + "▁Fran ça", + "▁Fr ança", + "As soci", + "Ass oci", + "▁T ová", + "▁To vá", + "st ab", + "sta b", + "s tab", + "▁Le arning", + "▁Lear ning", + "▁B right", + "▁Br ight", + "▁Brig ht", + "ś c", + "▁id ő", + "}} _{\\", + "}}_{ \\", + "}}_ {\\", + "} }_{\\", + "▁dro ite", + "▁droit e", + "▁ra ising", + "get ting", + "yth m", + "yt hm", + "y thm", + "on yme", + "ony me", + "onym e", + "ż s", + "▁b lah", + "▁bl ah", + "▁bla h", + "▁ blah", + "Tag Name", + "Vert ical", + "▁a per", + "▁ap er", + "▁ aper", + "post gresql", + "▁Hand le", + "▁ Handle", + "ze w", + "z ew", + "▁sk ulle", + "▁op ere", + "▁oper e", + "lay ers", + "layer s", + "▁pos sono", + "▁poss ono", + "▁re late", + "▁rel ate", + "▁rela te", + "ą c", + "▁M ih", + "▁Mi h", + "â ge", + "▁Ś wi", + "iss es", + "isse s", + "▁serv let", + "▁ servlet", + "Lo s", + "L os", + "▁Ad vanced", + "▁Adv anced", + "at ica", + "ati ca", + "atic a", + "▁c ed", + "▁ce d", + "▁ ced", + "▁element os", + "ро на", + "рон а", + "р она", + "ik s", + "i ks", + "ar f", + "a rf", + "ar iat", + "ari at", + "aria t", + "M obile", + "ag ua", + "agu a", + "▁t imp", + "▁tim p", + "▁ti mp", + "▁Com ité", + "▁comb ining", + "▁combin ing", + "wo hl", + "w ohl", + "▁Stud y", + "▁Stu dy", + "co ordinate", + "▁recommend ation", + "▁transform ations", + "▁transformation s", + "un til", + "unt il", + "u ntil", + "bound ed", + "b ounded", + "▁и зу", + "▁из у", + "han ced", + "h anced", + "▁во про", + "▁P rés", + "▁Pr és", + "▁co ord", + "xt y", + "x ty", + "▁$ ,", + "▁ $,", + "▁champion s", + "▁champ ions", + "De n", + "D en", + "M il", + "(' ,", + "( ',", + "▁Pre is", + "▁e igh", + "▁eig h", + "▁mark ers", + "▁marker s", + "▁gew esen", + "ät ten", + "ätt en", + "ätte n", + "▁p ione", + "▁pi one", + "m v", + "▁ј у", + "▁ ју", + "zeich nis", + "ho ff", + "hof f", + "h off", + "New s", + "Ne ws", + "▁Stanis ław", + "▁Br andenburg", + "▁Brand enburg", + "▁Fe uer", + "= &", + "же т", + "ж ет", + "▁N eil", + "▁Ne il", + "▁w irk", + "▁wir k", + "▁soci età", + "▁sp are", + "▁civil e", + "▁civ ile", + "sp rach", + "spr ach", + "▁d isse", + "▁dis se", + "▁diss e", + "▁g ates", + "▁ga tes", + "▁gate s", + "▁gat es", + "▁a nom", + "▁an om", + "▁ano m", + "▁Федера ции", + "▁t ib", + "▁ti b", + "▁f útbol", + "▁Wikip ed", + "ia te", + "iat e", + "i ate", + "Fr ont", + "F ront", + "▁c raw", + "▁cr aw", + "▁cra w", + "▁R ak", + "▁Ra k", + "▁з ву", + "▁зв у", + "st reet", + "stre et", + "▁A gency", + "▁Ag ency", + "ва ло", + "вал о", + "▁Ра с", + "▁mk dir", + "ac ję", + "▁sh ares", + "▁share s", + "St ory", + "Sto ry", + "▁re marks", + "▁rem arks", + "▁remark s", + "▁key words", + "▁keyword s", + "Bo b", + "B ob", + "▁t oe", + "▁to e", + "▁V itt", + "▁Vi tt", + "▁Vit t", + "▁r hs", + "▁rh s", + "RO P", + "R OP", + "or is", + "ori s", + "o ris", + "/ @", + "си и", + "▁tra verse", + "▁travers e", + "▁refer encing", + "pr äsident", + "ro ng", + "ron g", + "r ong", + "') :", + "' ):", + "at ies", + "ati es", + "atie s", + "a ties", + "A W", + "Out let", + "▁é vol", + "▁év ol", + "ik es", + "ike s", + "i kes", + "▁environment al", + "ic um", + "▁L ied", + "▁Li ed", + "▁Lie d", + "▁w arn", + "▁war n", + "▁wa rn", + "▁ warn", + "▁But ler", + "▁% ),", + "▁%) ,", + "▁Zeit schrift", + "▁Mon tr", + "▁Mont r", + "ва жа", + "▁Mer cur", + "je kte", + "jekt e", + "me ter", + "met er", + "m eter", + "du cation", + "▁att ributed", + "▁attribute d", + "* $", + "▁un f", + "▁Vert rag", + "zi en", + "zie n", + "z ien", + "▁Р об", + "▁Ро б", + "li ces", + "lic es", + "lice s", + "l ices", + "pp ly", + "p ply", + "an sen", + "ans en", + "anse n", + "▁ze it", + "▁ zeit", + "▁im mense", + "▁imm ense", + "▁lut ego", + "▁Bul gar", + "▁Bulg ar", + "▁mi embros", + "▁На циональ", + "▁Al low", + "▁All ow", + "▁ Allow", + "▁ang lès", + "д ви", + "▁T oy", + "▁To y", + "ту а", + "▁y ard", + "▁ya rd", + "▁ yard", + "( %", + "is ser", + "iss er", + "isse r", + "▁g olf", + "▁gol f", + "▁Uk rain", + "▁h osp", + "▁ho sp", + "▁hos p", + "In clude", + "▁L isa", + "▁Li sa", + "▁Lis a", + "▁c sal", + "▁cs al", + "▁M ira", + "▁Mi ra", + "▁Mir a", + "rec ogn", + "▁К е", + "▁h itting", + "▁hit ting", + "коно мі", + "коном і", + "▁Tourn ament", + "LO AD", + "▁Guard ian", + "▁da her", + "▁dah er", + "▁time zone", + "▁tom cat", + "▁ tomcat", + "▁success or", + "▁succ essor", + "▁successo r", + "▁V oid", + "▁Vo id", + "▁come ç", + "▁convert s", + "▁conver ts", + "äch s", + "ä chs", + "os ex", + "ose x", + "o sex", + "xe lles", + "x elles", + "as er", + "ase r", + "a ser", + "▁É s", + "▁m ou", + "▁mo u", + "▁u ng", + "▁un g", + "▁ ung", + "▁or igen", + "▁orig en", + "▁C row", + "▁Cr ow", + "▁Cro w", + "▁E rd", + "▁Er d", + "▁s ieben", + "▁si eben", + "▁sie ben", + "lu a", + "l ua", + "▁B B", + "▁ BB", + "RE NT", + "R ENT", + "▁pił kar", + "▁mar que", + "▁marqu e", + "▁La bour", + "▁Lab our", + "vi ders", + "vider s", + "vid ers", + "v iders", + "▁ex empl", + "▁exem pl", + "So und", + "S ound", + "▁W ass", + "▁Was s", + "▁Wa ss", + "arr ison", + "▁те чение", + "▁Of icina", + "▁D aw", + "▁Da w", + "▁K auf", + "▁Ka uf", + "én t", + "é nt", + "és ő", + "▁= \"", + "▁ =\"", + "▁k at", + "▁ka t", + "di ction", + "dict ion", + "dic tion", + "d iction", + "▁V oll", + "▁Vol l", + "▁Vo ll", + "▁high way", + "J ames", + "ze uge", + "zeug e", + "▁mod elo", + "▁model o", + "▁mode lo", + "Th row", + "▁F orum", + "▁For um", + "▁Fo rum", + "(\" @", + "▁en fer", + "▁enf er", + "▁спе циаль", + "Number s", + "Num bers", + "▁B inary", + "▁Bin ary", + "▁ Binary", + "▁Martí nez", + "▁Martín ez", + "▁St ato", + "▁Stat o", + "▁Sta to", + "▁fest iv", + "▁k atol", + "▁ka tol", + "▁kat ol", + "▁А б", + "▁lim itation", + "▁limit ation", + "▁S TR", + "▁ST R", + "▁ STR", + "▁О фициаль", + "ip es", + "ipe s", + "i pes", + "▁I sn", + "▁Is n", + "▁rule d", + "▁ru led", + "▁c í", + "▁ cí", + "ge ber", + "geb er", + "▁lavor o", + "▁lav oro", + "▁parenthes es", + "о з", + "▁équip es", + "▁équipe s", + "▁efficient ly", + "▁Per iod", + "▁ Period", + "▁Reg arding", + "le af", + "lea f", + "▁similar ity", + "▁gest ure", + "data b", + "da tab", + "dat ab", + "▁term inate", + "▁termin ate", + "▁sem antics", + "▁semantic s", + "▁A lo", + "▁Al o", + "▁c ig", + "▁ci g", + "▁Open GL", + "▁heut igen", + "xa ml", + "x aml", + "▁frequ encies", + ")} .", + ") }.", + "▁threaten ed", + "▁threat ened", + "ти к", + "▁cal cio", + "▁calci o", + "▁calc io", + "▁R iemann", + "▁Ri emann", + "sl ug", + "▁F inale", + "▁Fin ale", + "▁Final e", + "L R", + "▁Der by", + "▁о ще", + "▁de viation", + "▁dev iation", + "▁devi ation", + "äch en", + "äche n", + "ä chen", + "▁C ris", + "▁Cr is", + "но во", + "нов о", + "н ово", + "▁сто лі", + "▁re lev", + "▁rel ev", + "▁splend id", + "▁у чё", + "er ving", + "erv ing", + "ga ble", + "g able", + "▁général e", + "▁généra le", + "po m", + "p om", + "▁Che ers", + "▁impr ison", + "▁in dent", + "▁ind ent", + "▁inde nt", + "▁ indent", + "▁anal yz", + "▁analy z", + "▁re vert", + "▁rev ert", + "▁reve rt", + "▁rever t", + "ér er", + "ére r", + "é rer", + "▁ph ases", + "▁phase s", + "First Name", + "▁m ig", + "▁mi g", + "▁dist urb", + "▁mi xture", + "▁) {", + "▁ ){", + "int ure", + "▁T ried", + "▁Tr ied", + "▁Tri ed", + "▁soon er", + "▁p els", + "▁pe ls", + "▁pel s", + "▁ét abl", + "et ro", + "etr o", + "it ie", + "iti e", + "▁quart ier", + "▁го во", + "▁г ово", + "▁ гово", + "▁vá ros", + "uf e", + "u fe", + "he ten", + "het en", + "h eten", + "хо м", + "х ом", + "▁so ap", + "▁ soap", + "ut ors", + "uto rs", + "utor s", + "▁d uch", + "▁du ch", + "▁duc h", + "syn tax", + "s yntax", + "▁tr ibe", + "▁tri be", + "▁trib e", + "▁ch ante", + "▁chant e", + "Tr i", + "T ri", + "▁M ate", + "▁Ma te", + "▁Mat e", + "qu ality", + "qual ity", + "uo la", + "u ola", + "=\" .", + "= \".", + "ch k", + "▁в сі", + "▁вс і", + "▁prze ci", + "▁M eteor", + "▁Met eor", + "▁scatter ed", + "Pl us", + "P lus", + "tr ad", + "tra d", + "t rad", + "▁stack overflow", + "▁ stackoverflow", + "▁re tra", + "▁r etra", + "▁ret ra", + "▁retr a", + "▁éd itions", + "▁édition s", + "▁s ain", + "▁sa in", + "cri be", + "cr ibe", + "ig non", + "ign on", + "uc ker", + "uck er", + "u cker", + "▁ма ло", + "▁ten ir", + "▁ex ports", + "▁export s", + "▁ exports", + "▁aux ili", + "▁] ]", + "▁ ]]", + "▁C BS", + "un iform", + "uni form", + "▁period ic", + "ag rant", + "agr ant", + "▁em ple", + "▁emp le", + "W il", + "▁f res", + "▁fr es", + "▁fre s", + "▁str utt", + "▁stru tt", + "▁с віт", + "▁сві т", + "▁be tre", + "▁bet re", + "▁объ ек", + "ти ся", + "▁b isher", + "▁bis her", + "ba um", + "bau m", + "b aum", + "is hi", + "ish i", + "▁Gaz ette", + "background Color", + "j l", + "▁f iel", + "▁fi el", + "▁пре ма", + "▁protagon ista", + "▁Muham mad", + "▁sim ulate", + "▁H ook", + "▁Ho ok", + "fe st", + "f est", + "▁сво их", + "▁свои х", + "Se nder", + "Send er", + "S ender", + "▁list ened", + "▁listen ed", + "▁liste ned", + "ж і", + "je st", + "jes t", + "j est", + "ko rd", + "kor d", + "k ord", + "Cho ice", + "▁hoof d", + "redu cible", + "hp p", + "h pp", + "▁W u", + "š i", + "▁M arse", + "▁Mar se", + "▁Mars e", + "▁s oir", + "▁so ir", + "we sten", + "west en", + "w esten", + "em os", + "emo s", + "e mos", + "▁D uc", + "▁Du c", + "▁amer ik", + "| }{", + "▁G ul", + "▁Gu l", + "▁Sp rache", + "▁Spr ache", + "▁mis match", + "▁mism atch", + "Sc al", + "S cal", + "P ixel", + "E F", + "▁S ep", + "▁Se p", + "▁powie cie", + "ur k", + "▁Nap oli", + "▁neighbour hood", + "сто ян", + "стоя н", + "▁search es", + "yr us", + "y rus", + "пе т", + "п ет", + "He lp", + "Hel p", + "pon t", + "po nt", + "p ont", + "▁Or ient", + "▁Ori ent", + "▁Alf onso", + "▁monitor ing", + "ia o", + "i ao", + "éd é", + "▁Cés ar", + "ше е", + "Sh ift", + "su it", + "s uit", + "code d", + "co ded", + "cod ed", + "c oded", + "но то", + "▁Par ti", + "▁Part i", + "▁la sci", + "▁las ci", + "▁aw esome", + "us ta", + "ust a", + "u sta", + "▁С ове", + "▁Со ве", + "▁Сов е", + "▁F land", + "▁Fl and", + "oo m", + "o om", + "▁de vi", + "▁dev i", + "eng elsk", + "end um", + "▁Pa scal", + "▁Pas cal", + "▁B ind", + "▁Bi nd", + "▁Bin d", + "▁ Bind", + "▁sigu ientes", + "▁siguiente s", + "J B", + "▁Peters burg", + "▁incorrect ly", + "▁B ash", + "▁Bas h", + "▁Ba sh", + "▁pe los", + "▁pel os", + "▁pelo s", + "▁zes po", + "NS URL", + "▁př ek", + "▁Cr ime", + "na ch", + "n ach", + "▁th rust", + "▁thr ust", + "▁Cult ura", + "W F", + "▁S olo", + "▁So lo", + "▁Sol o", + "▁in vas", + "▁inv as", + "▁individ ually", + "▁individual ly", + "ib m", + "i bm", + "▁et apa", + "▁hand ed", + "▁han ded", + "▁where ver", + "▁interpol ation", + "▁mus ée", + "▁C NN", + "id ia", + "idi a", + "i dia", + "ńst w", + "▁pr zew", + "▁prze w", + "▁prz ew", + "ug hing", + "ugh ing", + "▁a ctors", + "▁act ors", + "▁actor s", + "▁Ori ental", + "▁Orient al", + "▁conven ience", + "▁mi asta", + "br ains", + "bra ins", + "▁ме ся", + "▁inf atti", + "▁All Movie", + "▁crit ique", + "▁success o", + "▁succ esso", + "anc ouver", + "▁f á", + "ъл гар", + "▁wis dom", + "▁Pho enix", + "ho le", + "hol e", + "h ole", + "▁inform ación", + "▁Air lines", + "▁Airl ines", + ". «", + "mo rt", + "mor t", + "m ort", + "user Id", + "▁*/ \r", + "▁C ongo", + "▁Con go", + "▁Cong o", + "▁\" `", + "▁ \"`", + "co rr", + "cor r", + "c orr", + "▁problem as", + "▁proble mas", + "▁problema s", + "▁probl emas", + "▁b ib", + "▁bi b", + "▁ bib", + "▁póź niej", + "▁file Name", + "▁ fileName", + "zo tt", + "z ott", + "ma cht", + "mac ht", + "m acht", + "▁Ul rich", + "C y", + "end point", + "▁she ep", + "▁i bn", + "Fe ed", + "F eed", + "▁sympath y", + "▁I b", + "▁territ orial", + "ra ting", + "rat ing", + "r ating", + "да ми", + "▁d st", + "▁ds t", + "▁ dst", + "у ю", + "ah o", + "a ho", + "▁s ug", + "▁su g", + "em ia", + "emi a", + "▁t ed", + "▁te d", + "▁ ted", + "▁A pi", + "▁Ap i", + "▁ Api", + "▁R ica", + "▁Ric a", + "▁Ri ca", + "▁M R", + "▁ MR", + "ński m", + "ń skim", + "▁V oor", + "▁Vo or", + "▁de vil", + "▁dev il", + "▁devi l", + "▁Ф о", + "▁N är", + "▁Nä r", + "▁... )", + "▁.. .)", + "▁ ...)", + "▁v ois", + "▁vo is", + "▁ab bre", + "▁abb re", + "▁M änner", + "xim o", + "xi mo", + "x imo", + "▁intellect ual", + "▁t ales", + "▁tal es", + "▁ta les", + "▁tale s", + "sim ilar", + "ne um", + "▁O rig", + "▁Or ig", + "▁Ori g", + "▁po stal", + "▁pos tal", + "▁post al", + "▁h vor", + "▁ident ification", + "▁identific ation", + "▁О д", + "ue sto", + "ues to", + "uest o", + "u esto", + "▁. ./", + "▁.. /", + "▁ ../", + "▁b ir", + "▁bi r", + "▁ bir", + "▁Л он", + "▁Ло н", + "▁es empio", + "▁E ing", + "▁Ein g", + "Exp and", + "▁PR IMARY", + "▁J in", + "▁Ji n", + "▁vš ak", + "ours es", + "ourse s", + "▁Be tty", + "▁Bet ty", + "▁W M", + "▁ WM", + "▁fl ask", + "▁fla sk", + "hl en", + "h len", + "▁A del", + "▁Ad el", + "lar avel", + "▁д ет", + "▁де т", + "сь кою", + "сько ю", + "▁M undo", + "▁Mun do", + "ic zn", + "icz n", + "ifi é", + "▁М ор", + "▁Мо р", + "▁д рев", + "▁др ев", + "Date Format", + "сь ким", + "ськ им", + "▁d ated", + "▁da ted", + "▁dat ed", + "▁date d", + "▁ dated", + "ко ли", + "кол и", + "▁результа те", + "\\) .", + "\\ ).", + "▁delay ed", + "so und", + "s ound", + "▁Ма к", + "▁\" ...", + "▁\". ..", + "▁b innen", + "▁bin nen", + "▁фа куль", + "▁pol ygon", + "▁poly gon", + "▁eg gs", + "▁egg s", + "At IndexPath", + "AtIndex Path", + "мен таль", + "мент аль", + "мента ль", + "▁in cred", + "▁incre d", + "▁inc red", + "ch unk", + "web driver", + "▁с вобо", + "▁сво бо", + "▁mi ędzy", + "Rece ived", + "Receive d", + "▁M onde", + "▁Mon de", + "▁Mo nde", + "▁Mond e", + "▁J Query", + "Bu tt", + "But t", + "B utt", + "▁P DO", + "▁for ec", + "▁fo rec", + "▁fore c", + "▁discipl ine", + "ch ev", + "che v", + "на т", + "н ат", + "▁re dis", + "▁red is", + "▁hun ting", + "▁al k", + "▁ alk", + "▁proof s", + "PR I", + "P RI", + "▁c hip", + "▁ch ip", + "▁chi p", + "és ie", + "▁H O", + "▁ HO", + "▁r ug", + "▁ru g", + "▁ rug", + "zo s", + "z os", + "▁s orte", + "▁sort e", + "▁sor te", + "▁ze igt", + "▁Phys ics", + "leg te", + "legt e", + "▁proport ional", + "▁proportion al", + "▁tool bar", + "ve ment", + "v ement", + "not in", + "▁prv ní", + "bl ah", + "bla h", + "b lah", + "▁prés ence", + "▁l loc", + "▁ll oc", + "▁lí der", + "▁Ac cept", + "▁ Accept", + "▁Al ways", + "▁\" {", + "▁divers i", + "▁diver si", + "ik or", + "iko r", + "i kor", + "Per iod", + "ж ён", + "▁Al liance", + "▁All iance", + "▁re lay", + "▁rel ay", + "▁rela y", + "Br o", + "B ro", + "jö n", + "j ön", + "▁B aud", + "▁Ba ud", + "▁Bau d", + "▁B ian", + "▁Bi an", + "') [", + "' )[", + "чи в", + "▁P oss", + "▁Po ss", + "▁Pos s", + "▁Mitg lieder", + "▁Mitglied er", + "▁n ev", + "▁ne v", + "Dan iel", + "▁t ends", + "▁ten ds", + "▁tend s", + "▁compag nie", + "▁liv res", + "▁livre s", + "lu b", + "l ub", + "▁▁ ▁▁", + "▁▁ ▁▁▁▁", + "▁▁ ▁▁▁▁▁▁▁▁", + "▁▁ ▁▁▁▁▁", + "▁▁ ▁▁▁▁▁▁", + "▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁", + "▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁", + "▁▁ ▁▁▁▁▁▁▁▁▁▁", + "▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁", + "▁▁ ▁▁▁", + "▁▁ ▁▁▁▁▁▁▁▁▁", + "▁▁ ▁▁▁▁▁▁▁", + "▁▁ ▁▁▁▁▁▁▁▁▁▁▁", + "▁▁ ▁", + "▁▁▁▁ ▁▁", + "▁▁▁▁ ▁▁▁▁", + "▁▁▁▁ ▁▁▁▁▁▁▁▁", + "▁▁▁▁ ▁▁▁▁▁", + "▁▁▁▁ ▁▁▁▁▁▁", + "▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁", + "▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁", + "▁▁▁▁ ▁▁▁", + "▁▁▁▁ ▁▁▁▁▁▁▁▁▁", + "▁▁▁▁ ▁▁▁▁▁▁▁", + "▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁▁", + "▁▁▁▁ ▁", + "▁▁▁▁▁▁▁▁ ▁▁", + "▁▁▁▁▁▁▁▁ ▁▁▁▁", + "▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁", + "▁▁▁▁▁▁▁▁ ▁▁▁▁▁", + "▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁", + "▁▁▁▁▁▁▁▁ ▁▁▁", + "▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁", + "▁▁▁▁▁▁▁▁ ▁", + "▁▁▁▁▁ ▁▁", + "▁▁▁▁▁ ▁▁▁▁", + "▁▁▁▁▁ ▁▁▁▁▁▁▁▁", + "▁▁▁▁▁ ▁▁▁▁▁", + "▁▁▁▁▁ ▁▁▁▁▁▁", + "▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁", + "▁▁▁▁▁ ▁▁▁", + "▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁", + "▁▁▁▁▁ ▁▁▁▁▁▁▁", + "▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁▁", + "▁▁▁▁▁ ▁", + "▁▁▁▁▁▁ ▁▁", + "▁▁▁▁▁▁ ▁▁▁▁", + "▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁", + "▁▁▁▁▁▁ ▁▁▁▁▁", + "▁▁▁▁▁▁ ▁▁▁▁▁▁", + "▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁", + "▁▁▁▁▁▁ ▁▁▁", + "▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁", + "▁▁▁▁▁▁ ▁▁▁▁▁▁▁", + "▁▁▁▁▁▁ ▁", + "▁▁▁▁▁▁▁▁▁▁▁▁ ▁▁", + "▁▁▁▁▁▁▁▁▁▁▁▁ ▁▁▁▁", + "▁▁▁▁▁▁▁▁▁▁▁▁ ▁▁▁", + "▁▁▁▁▁▁▁▁▁▁▁▁ ▁", + "▁▁▁▁▁▁▁▁▁▁▁▁▁ ▁▁", + "▁▁▁▁▁▁▁▁▁▁▁▁▁ ▁▁▁", + "▁▁▁▁▁▁▁▁▁▁▁▁▁ ▁", + "▁▁▁▁▁▁▁▁▁▁ ▁▁", + "▁▁▁▁▁▁▁▁▁▁ ▁▁▁▁", + "▁▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁", + "▁▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁", + "▁▁▁▁▁▁▁▁▁▁ ▁▁▁", + "▁▁▁▁▁▁▁▁▁▁ ▁", + "▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▁▁", + "▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▁", + "▁▁▁ ▁▁", + "▁▁▁ ▁▁▁▁", + "▁▁▁ ▁▁▁▁▁▁▁▁", + "▁▁▁ ▁▁▁▁▁", + "▁▁▁ ▁▁▁▁▁▁", + "▁▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁", + "▁▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁", + "▁▁▁ ▁▁▁▁▁▁▁▁▁▁", + "▁▁▁ ▁▁▁", + "▁▁▁ ▁▁▁▁▁▁▁▁▁", + "▁▁▁ ▁▁▁▁▁▁▁", + "▁▁▁ ▁▁▁▁▁▁▁▁▁▁▁", + "▁▁▁ ▁", + "▁▁▁▁▁▁▁▁▁ ▁▁", + "▁▁▁▁▁▁▁▁▁ ▁▁▁▁", + "▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁", + "▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁", + "▁▁▁▁▁▁▁▁▁ ▁▁▁", + "▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁", + "▁▁▁▁▁▁▁▁▁ ▁", + "▁▁▁▁▁▁▁ ▁▁", + "▁▁▁▁▁▁▁ ▁▁▁▁", + "▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁", + "▁▁▁▁▁▁▁ ▁▁▁▁▁", + "▁▁▁▁▁▁▁ ▁▁▁▁▁▁", + "▁▁▁▁▁▁▁ ▁▁▁", + "▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁", + "▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁", + "▁▁▁▁▁▁▁ ▁", + "▁▁▁▁▁▁▁▁▁▁▁ ▁▁", + "▁▁▁▁▁▁▁▁▁▁▁ ▁▁▁▁", + "▁▁▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁", + "▁▁▁▁▁▁▁▁▁▁▁ ▁▁▁", + "▁▁▁▁▁▁▁▁▁▁▁ ▁", + "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▁", + "▁ ▁▁", + "▁ ▁▁▁▁", + "▁ ▁▁▁▁▁▁▁▁", + "▁ ▁▁▁▁▁", + "▁ ▁▁▁▁▁▁", + "▁ ▁▁▁▁▁▁▁▁▁▁▁▁", + "▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁", + "▁ ▁▁▁▁▁▁▁▁▁▁", + "▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁", + "▁ ▁▁▁", + "▁ ▁▁▁▁▁▁▁▁▁", + "▁ ▁▁▁▁▁▁▁", + "▁ ▁▁▁▁▁▁▁▁▁▁▁", + "▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", + "▁ ▁" + ] + } +} \ No newline at end of file diff --git a/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/tokenizer.model b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/tokenizer.model new file mode 100644 index 0000000000000000000000000000000000000000..6c00c742ce03c627d6cd5b795984876fa49fa899 --- /dev/null +++ b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/tokenizer.model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e556afd44213b6bd1be2b850ebbbd98f5481437a8021afaf58ee7fb1818d347 +size 499723 diff --git a/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/tokenizer_config.json b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..400e3de6ffc3884ec3c158a046f6a04da00ef3ca --- /dev/null +++ b/Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/tokenizer_config.json @@ -0,0 +1,33 @@ +{ + "add_bos_token": true, + "add_eos_token": false, + "bos_token": { + "__type": "AddedToken", + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "clean_up_tokenization_spaces": false, + "eos_token": { + "__type": "AddedToken", + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "model_max_length": 1000000000000000019884624838656, + "pad_token": null, + "sp_model_kwargs": {}, + "tokenizer_class": "LlamaTokenizer", + "unk_token": { + "__type": "AddedToken", + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + } +} diff --git a/app.py b/app.py new file mode 100644 index 0000000000000000000000000000000000000000..5c3e0f86e5559a2ec498ee0ec5004420262eff2b --- /dev/null +++ b/app.py @@ -0,0 +1,237 @@ +""" +Adapted from: https://github.com/Vision-CAIR/MiniGPT-4/blob/main/demo.py +""" +import argparse +import os +import random + +import numpy as np +import torch +import torch.backends.cudnn as cudnn +import gradio as gr + +from video_llama.common.config import Config +from video_llama.common.dist_utils import get_rank +from video_llama.common.registry import registry +from video_llama.conversation.conversation_video import Chat, Conversation, default_conversation,SeparatorStyle,conv_llava_llama_2 +import decord +decord.bridge.set_bridge('torch') + +#%% +# imports modules for registration +from video_llama.datasets.builders import * +from video_llama.models import * +from video_llama.processors import * +from video_llama.runners import * +from video_llama.tasks import * + +#%% +def parse_args(): + parser = argparse.ArgumentParser(description="Demo") + parser.add_argument("--cfg-path", default='eval_configs/video_llama_eval_withaudio.yaml', help="path to configuration file.") + parser.add_argument("--gpu-id", type=int, default=0, help="specify the gpu to load the model.") + parser.add_argument("--model_type", type=str, default='vicuna', help="The type of LLM") + parser.add_argument( + "--options", + nargs="+", + help="override some settings in the used config, the key-value pair " + "in xxx=yyy format will be merged into config file (deprecate), " + "change to --cfg-options instead.", + ) + args = parser.parse_args() + return args + + +def setup_seeds(config): + seed = config.run_cfg.seed + get_rank() + + random.seed(seed) + np.random.seed(seed) + torch.manual_seed(seed) + + cudnn.benchmark = False + cudnn.deterministic = True + + +# ======================================== +# Model Initialization +# ======================================== + +print('Initializing Chat') +args = parse_args() +cfg = Config(args) + +model_config = cfg.model_cfg +model_config.device_8bit = args.gpu_id +model_cls = registry.get_model_class(model_config.arch) +model = model_cls.from_config(model_config).to('cuda:{}'.format(args.gpu_id)) +model.eval() +vis_processor_cfg = cfg.datasets_cfg.webvid.vis_processor.train +vis_processor = registry.get_processor_class(vis_processor_cfg.name).from_config(vis_processor_cfg) +chat = Chat(model, vis_processor, device='cuda:{}'.format(args.gpu_id)) +print('Initialization Finished') + +# ======================================== +# Gradio Setting +# ======================================== + +def gradio_reset(chat_state, img_list): + if chat_state is not None: + chat_state.messages = [] + if img_list is not None: + img_list = [] + return None, gr.update(value=None, interactive=True), gr.update(value=None, interactive=True), gr.update(placeholder='Please upload your video first', interactive=False),gr.update(value="Upload & Start Chat", interactive=True), chat_state, img_list + +def upload_imgorvideo(gr_video, gr_img, text_input, chat_state,chatbot,audio_flag): + if args.model_type == 'vicuna': + chat_state = default_conversation.copy() + else: + chat_state = conv_llava_llama_2.copy() + if gr_img is None and gr_video is None: + return None, None, None, gr.update(interactive=True), chat_state, None + elif gr_img is not None and gr_video is None: + print(gr_img) + chatbot = chatbot + [((gr_img,), None)] + chat_state.system = "You are able to understand the visual content that the user provides. Follow the instructions carefully and explain your answers in detail." + img_list = [] + llm_message = chat.upload_img(gr_img, chat_state, img_list) + return gr.update(interactive=False), gr.update(interactive=False), gr.update(interactive=True, placeholder='Type and press Enter'), gr.update(value="Start Chatting", interactive=False), chat_state, img_list,chatbot + elif gr_video is not None and gr_img is None: + print(gr_video) + chatbot = chatbot + [((gr_video,), None)] + chat_state.system = "" + img_list = [] + if audio_flag: + llm_message = chat.upload_video(gr_video, chat_state, img_list) + else: + llm_message = chat.upload_video_without_audio(gr_video, chat_state, img_list) + return gr.update(interactive=False), gr.update(interactive=False), gr.update(interactive=True, placeholder='Type and press Enter'), gr.update(value="Start Chatting", interactive=False), chat_state, img_list,chatbot + else: + # img_list = [] + return gr.update(interactive=False), gr.update(interactive=False, placeholder='Currently, only one input is supported'), gr.update(value="Currently, only one input is supported", interactive=False), chat_state, None,chatbot + +def gradio_ask(user_message, chatbot, chat_state): + if len(user_message) == 0: + return gr.update(interactive=True, placeholder='Input should not be empty!'), chatbot, chat_state + chat.ask(user_message, chat_state) + chatbot = chatbot + [[user_message, None]] + return '', chatbot, chat_state + + +def gradio_answer(chatbot, chat_state, img_list, num_beams, temperature): + llm_message = chat.answer(conv=chat_state, + img_list=img_list, + num_beams=num_beams, + temperature=temperature, + max_new_tokens=300, + max_length=2000)[0] + chatbot[-1][1] = llm_message + print(chat_state.get_prompt()) + print(chat_state) + return chatbot, chat_state, img_list + +title = """ +

Video-LLaMA

+ +

Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding

+ +
Introduction: Video-LLaMA is a multi-model large language model that achieves video-grounded conversations between humans and computers \ + by connecting language decoder with off-the-shelf unimodal pre-trained models.
+ +
+ + + + + +
+ + +Thank you for using the Video-LLaMA Demo Page! If you have any questions or feedback, feel free to contact us. + +If you find Video-LLaMA interesting, please give us a star on GitHub. + +Current online demo uses the 7B version of Video-LLaMA due to resource limitations. We have released \ + the 13B version on our GitHub repository. + + +""" + +Note_markdown = (""" +### Note +Video-LLaMA is a prototype model and may have limitations in understanding complex scenes, long videos, or specific domains. +The output results may be influenced by input quality, limitations of the dataset, and the model's susceptibility to illusions. Please interpret the results with caution. + +**Copyright 2023 Alibaba DAMO Academy.** +""") + +cite_markdown = (""" +## Citation +If you find our project useful, hope you can star our repo and cite our paper as follows: +``` +@article{damonlpsg2023videollama, + author = {Zhang, Hang and Li, Xin and Bing, Lidong}, + title = {Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding}, + year = 2023, + journal = {arXiv preprint arXiv:2306.02858} + url = {https://arxiv.org/abs/2306.02858} +} +""") + +case_note_upload = (""" +### We provide some examples at the bottom of the page. Simply click on them to try them out directly. +""") + +#TODO show examples below + +with gr.Blocks() as demo: + gr.Markdown(title) + + with gr.Row(): + with gr.Column(scale=0.5): + video = gr.Video() + image = gr.Image(type="filepath") + gr.Markdown(case_note_upload) + + upload_button = gr.Button(value="Upload & Start Chat", interactive=True, variant="primary") + clear = gr.Button("Restart") + + num_beams = gr.Slider( + minimum=1, + maximum=10, + value=1, + step=1, + interactive=True, + label="beam search numbers)", + ) + + temperature = gr.Slider( + minimum=0.1, + maximum=2.0, + value=1.0, + step=0.1, + interactive=True, + label="Temperature", + ) + + audio = gr.Checkbox(interactive=True, value=False, label="Audio") + gr.Markdown(Note_markdown) + with gr.Column(): + chat_state = gr.State() + img_list = gr.State() + chatbot = gr.Chatbot(label='Video-LLaMA') + text_input = gr.Textbox(label='User', placeholder='Upload your image/video first, or directly click the examples at the bottom of the page.', interactive=False) + + + gr.Markdown(cite_markdown) + upload_button.click(upload_imgorvideo, [video, image, text_input, chat_state,chatbot,audio], [video, image, text_input, upload_button, chat_state, img_list,chatbot]) + + text_input.submit(gradio_ask, [text_input, chatbot, chat_state], [text_input, chatbot, chat_state]).then( + gradio_answer, [chatbot, chat_state, img_list, num_beams, temperature], [chatbot, chat_state, img_list] + ) + clear.click(gradio_reset, [chat_state, img_list], [chatbot, video, image, text_input, upload_button, chat_state, img_list], queue=False) + +demo.launch(share=False, enable_queue=True) + + +# %% diff --git a/apply_delta.py b/apply_delta.py new file mode 100644 index 0000000000000000000000000000000000000000..06225c6841d006c9b570933385be7451ca16aaf2 --- /dev/null +++ b/apply_delta.py @@ -0,0 +1,49 @@ +""" +Apply the delta weights on top of a base model. +Adapted from: https://github.com/lm-sys/FastChat/blob/main/fastchat/model/apply_delta.py. +""" +import argparse + +import torch +from tqdm import tqdm +from transformers import AutoTokenizer, AutoModelForCausalLM + + +def apply_delta(base_model_path, target_model_path, delta_path): + print(f"Loading the base model from {base_model_path}") + base = AutoModelForCausalLM.from_pretrained( + base_model_path, torch_dtype=torch.float16, low_cpu_mem_usage=True) + + print(f"Loading the delta from {delta_path}") + delta = AutoModelForCausalLM.from_pretrained(delta_path, torch_dtype=torch.float16, low_cpu_mem_usage=True) + delta_tokenizer = AutoTokenizer.from_pretrained(delta_path, use_fast=False) + + DEFAULT_PAD_TOKEN = "[PAD]" + base_tokenizer = AutoTokenizer.from_pretrained(base_model_path, use_fast=False) + num_new_tokens = base_tokenizer.add_special_tokens(dict(pad_token=DEFAULT_PAD_TOKEN)) + + base.resize_token_embeddings(len(base_tokenizer)) + input_embeddings = base.get_input_embeddings().weight.data + output_embeddings = base.get_output_embeddings().weight.data + input_embeddings[-num_new_tokens:] = 0 + output_embeddings[-num_new_tokens:] = 0 + + print("Applying the delta") + for name, param in tqdm(base.state_dict().items(), desc="Applying delta"): + assert name in delta.state_dict() + param.data += delta.state_dict()[name] + + print(f"Saving the target model to {target_model_path}") + base.save_pretrained(target_model_path) + delta_tokenizer.save_pretrained(target_model_path) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--base-model-path", type=str, required=True) + parser.add_argument("--target-model-path", type=str, required=True) + parser.add_argument("--delta-path", type=str, required=True) + + args = parser.parse_args() + + apply_delta(args.base_model_path, args.target_model_path, args.delta_path) diff --git a/demo_audiovideo.py b/demo_audiovideo.py new file mode 100644 index 0000000000000000000000000000000000000000..adb9614543fb904bf8c41ee54da04bfd6648c833 --- /dev/null +++ b/demo_audiovideo.py @@ -0,0 +1,250 @@ +""" +Adapted from: https://github.com/Vision-CAIR/MiniGPT-4/blob/main/demo.py +""" +import argparse +import os +import random + +import numpy as np +import torch +import torch.backends.cudnn as cudnn +import gradio as gr + +from video_llama.common.config import Config +from video_llama.common.dist_utils import get_rank +from video_llama.common.registry import registry +from video_llama.conversation.conversation_video import Chat, Conversation, default_conversation,SeparatorStyle,conv_llava_llama_2 +import decord +decord.bridge.set_bridge('torch') + +#%% +# imports modules for registration +from video_llama.datasets.builders import * +from video_llama.models import * +from video_llama.processors import * +from video_llama.runners import * +from video_llama.tasks import * + +#%% +def parse_args(): + parser = argparse.ArgumentParser(description="Demo") + parser.add_argument("--cfg-path", default='eval_configs/video_llama_eval_withaudio.yaml', help="path to configuration file.") + parser.add_argument("--gpu-id", type=int, default=0, help="specify the gpu to load the model.") + parser.add_argument("--model_type", type=str, default='vicuna', help="The type of LLM") + parser.add_argument( + "--options", + nargs="+", + help="override some settings in the used config, the key-value pair " + "in xxx=yyy format will be merged into config file (deprecate), " + "change to --cfg-options instead.", + ) + args = parser.parse_args() + return args + + +def setup_seeds(config): + seed = config.run_cfg.seed + get_rank() + + random.seed(seed) + np.random.seed(seed) + torch.manual_seed(seed) + + cudnn.benchmark = False + cudnn.deterministic = True + + +# ======================================== +# Model Initialization +# ======================================== + +print('Initializing Chat') +args = parse_args() +cfg = Config(args) + +model_config = cfg.model_cfg +model_config.device_8bit = args.gpu_id +model_cls = registry.get_model_class(model_config.arch) +model = model_cls.from_config(model_config).to('cuda:{}'.format(args.gpu_id)) +model.eval() +vis_processor_cfg = cfg.datasets_cfg.webvid.vis_processor.train +vis_processor = registry.get_processor_class(vis_processor_cfg.name).from_config(vis_processor_cfg) +chat = Chat(model, vis_processor, device='cuda:{}'.format(args.gpu_id)) +print('Initialization Finished') + +# ======================================== +# Gradio Setting +# ======================================== + +def gradio_reset(chat_state, img_list): + if chat_state is not None: + chat_state.messages = [] + if img_list is not None: + img_list = [] + return None, gr.update(value=None, interactive=True), gr.update(value=None, interactive=True), gr.update(placeholder='Please upload your video first', interactive=False),gr.update(value="Upload & Start Chat", interactive=True), chat_state, img_list + +def upload_imgorvideo(gr_video, gr_img, text_input, chat_state,chatbot,audio_flag): + if args.model_type == 'vicuna': + chat_state = default_conversation.copy() + else: + chat_state = conv_llava_llama_2.copy() + if gr_img is None and gr_video is None: + return None, None, None, gr.update(interactive=True), chat_state, None + elif gr_img is not None and gr_video is None: + print(gr_img) + chatbot = chatbot + [((gr_img,), None)] + chat_state.system = "You are able to understand the visual content that the user provides. Follow the instructions carefully and explain your answers in detail." + img_list = [] + llm_message = chat.upload_img(gr_img, chat_state, img_list) + return gr.update(interactive=False), gr.update(interactive=False), gr.update(interactive=True, placeholder='Type and press Enter'), gr.update(value="Start Chatting", interactive=False), chat_state, img_list,chatbot + elif gr_video is not None and gr_img is None: + print(gr_video) + chatbot = chatbot + [((gr_video,), None)] + chat_state.system = "" + img_list = [] + if audio_flag: + llm_message = chat.upload_video(gr_video, chat_state, img_list) + else: + llm_message = chat.upload_video_without_audio(gr_video, chat_state, img_list) + return gr.update(interactive=False), gr.update(interactive=False), gr.update(interactive=True, placeholder='Type and press Enter'), gr.update(value="Start Chatting", interactive=False), chat_state, img_list,chatbot + else: + # img_list = [] + return gr.update(interactive=False), gr.update(interactive=False, placeholder='Currently, only one input is supported'), gr.update(value="Currently, only one input is supported", interactive=False), chat_state, None,chatbot + +def gradio_ask(user_message, chatbot, chat_state): + if len(user_message) == 0: + return gr.update(interactive=True, placeholder='Input should not be empty!'), chatbot, chat_state + chat.ask(user_message, chat_state) + chatbot = chatbot + [[user_message, None]] + return '', chatbot, chat_state + + +def gradio_answer(chatbot, chat_state, img_list, num_beams, temperature): + llm_message = chat.answer(conv=chat_state, + img_list=img_list, + num_beams=num_beams, + temperature=temperature, + max_new_tokens=300, + max_length=2000)[0] + chatbot[-1][1] = llm_message + print(chat_state.get_prompt()) + print(chat_state) + return chatbot, chat_state, img_list + +title = """ +

Video-LLaMA

+ +

Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding

+ +
Introduction: Video-LLaMA is a multi-model large language model that achieves video-grounded conversations between humans and computers \ + by connecting language decoder with off-the-shelf unimodal pre-trained models.
+ +
+ + + + + +
+ + +Thank you for using the Video-LLaMA Demo Page! If you have any questions or feedback, feel free to contact us. + +If you find Video-LLaMA interesting, please give us a star on GitHub. + +Current online demo uses the 7B version of Video-LLaMA due to resource limitations. We have released \ + the 13B version on our GitHub repository. + + +""" + +Note_markdown = (""" +### Note +Video-LLaMA is a prototype model and may have limitations in understanding complex scenes, long videos, or specific domains. +The output results may be influenced by input quality, limitations of the dataset, and the model's susceptibility to illusions. Please interpret the results with caution. + +**Copyright 2023 Alibaba DAMO Academy.** +""") + +cite_markdown = (""" +## Citation +If you find our project useful, hope you can star our repo and cite our paper as follows: +``` +@article{damonlpsg2023videollama, + author = {Zhang, Hang and Li, Xin and Bing, Lidong}, + title = {Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding}, + year = 2023, + journal = {arXiv preprint arXiv:2306.02858} + url = {https://arxiv.org/abs/2306.02858} +} +""") + +case_note_upload = (""" +### We provide some examples at the bottom of the page. Simply click on them to try them out directly. +""") + +#TODO show examples below + +with gr.Blocks() as demo: + gr.Markdown(title) + + with gr.Row(): + with gr.Column(scale=0.5): + video = gr.Video() + image = gr.Image(type="filepath") + gr.Markdown(case_note_upload) + + upload_button = gr.Button(value="Upload & Start Chat", interactive=True, variant="primary") + clear = gr.Button("Restart") + + num_beams = gr.Slider( + minimum=1, + maximum=10, + value=1, + step=1, + interactive=True, + label="beam search numbers)", + ) + + temperature = gr.Slider( + minimum=0.1, + maximum=2.0, + value=1.0, + step=0.1, + interactive=True, + label="Temperature", + ) + + audio = gr.Checkbox(interactive=True, value=False, label="Audio") + gr.Markdown(Note_markdown) + with gr.Column(): + chat_state = gr.State() + img_list = gr.State() + chatbot = gr.Chatbot(label='Video-LLaMA') + text_input = gr.Textbox(label='User', placeholder='Upload your image/video first, or directly click the examples at the bottom of the page.', interactive=False) + + + with gr.Column(): + gr.Examples(examples=[ + [f"examples/dog.jpg", "Which breed is this dog? "], + [f"examples/JonSnow.jpg", "Who's the man on the right? "], + [f"examples/Statue_of_Liberty.jpg", "Can you tell me about this building? "], + ], inputs=[image, text_input]) + + gr.Examples(examples=[ + [f"examples/skateboarding_dog.mp4", "What is the dog doing? "], + [f"examples/birthday.mp4", "What is the boy doing? "], + [f"examples/IronMan.mp4", "Is the guy in the video Iron Man? "], + ], inputs=[video, text_input]) + + gr.Markdown(cite_markdown) + upload_button.click(upload_imgorvideo, [video, image, text_input, chat_state,chatbot,audio], [video, image, text_input, upload_button, chat_state, img_list,chatbot]) + + text_input.submit(gradio_ask, [text_input, chatbot, chat_state], [text_input, chatbot, chat_state]).then( + gradio_answer, [chatbot, chat_state, img_list, num_beams, temperature], [chatbot, chat_state, img_list] + ) + clear.click(gradio_reset, [chat_state, img_list], [chatbot, video, image, text_input, upload_button, chat_state, img_list], queue=False) + +demo.launch(share=False, enable_queue=True) + + +# %% diff --git a/demo_video.py b/demo_video.py new file mode 100644 index 0000000000000000000000000000000000000000..698613532d860e058fc3c56efb9f951e1a5c92fb --- /dev/null +++ b/demo_video.py @@ -0,0 +1,247 @@ +""" +Adapted from: https://github.com/Vision-CAIR/MiniGPT-4/blob/main/demo.py +""" +import argparse +import os +import random + +import numpy as np +import torch +import torch.backends.cudnn as cudnn +import gradio as gr + +from video_llama.common.config import Config +from video_llama.common.dist_utils import get_rank +from video_llama.common.registry import registry +from video_llama.conversation.conversation_video import Chat, Conversation, default_conversation,SeparatorStyle,conv_llava_llama_2 +import decord +decord.bridge.set_bridge('torch') + +#%% +# imports modules for registration +from video_llama.datasets.builders import * +from video_llama.models import * +from video_llama.processors import * +from video_llama.runners import * +from video_llama.tasks import * + +#%% +def parse_args(): + parser = argparse.ArgumentParser(description="Demo") + parser.add_argument("--cfg-path", required=True, help="path to configuration file.") + parser.add_argument("--gpu-id", type=int, default=0, help="specify the gpu to load the model.") + parser.add_argument("--model_type", type=str, default='vicuna', help="The type of LLM") + parser.add_argument( + "--options", + nargs="+", + help="override some settings in the used config, the key-value pair " + "in xxx=yyy format will be merged into config file (deprecate), " + "change to --cfg-options instead.", + ) + args = parser.parse_args() + return args + + +def setup_seeds(config): + seed = config.run_cfg.seed + get_rank() + + random.seed(seed) + np.random.seed(seed) + torch.manual_seed(seed) + + cudnn.benchmark = False + cudnn.deterministic = True + + +# ======================================== +# Model Initialization +# ======================================== + +print('Initializing Chat') +args = parse_args() +cfg = Config(args) + +model_config = cfg.model_cfg +model_config.device_8bit = args.gpu_id +model_cls = registry.get_model_class(model_config.arch) +model = model_cls.from_config(model_config).to('cuda:{}'.format(args.gpu_id)) +model.eval() +vis_processor_cfg = cfg.datasets_cfg.webvid.vis_processor.train +vis_processor = registry.get_processor_class(vis_processor_cfg.name).from_config(vis_processor_cfg) +chat = Chat(model, vis_processor, device='cuda:{}'.format(args.gpu_id)) +print('Initialization Finished') + +# ======================================== +# Gradio Setting +# ======================================== + +def gradio_reset(chat_state, img_list): + if chat_state is not None: + chat_state.messages = [] + if img_list is not None: + img_list = [] + return None, gr.update(value=None, interactive=True), gr.update(value=None, interactive=True), gr.update(placeholder='Please upload your video first', interactive=False),gr.update(value="Upload & Start Chat", interactive=True), chat_state, img_list + +def upload_imgorvideo(gr_video, gr_img, text_input, chat_state,chatbot): + if args.model_type == 'vicuna': + chat_state = default_conversation.copy() + else: + chat_state = conv_llava_llama_2.copy() + if gr_img is None and gr_video is None: + return None, None, None, gr.update(interactive=True), chat_state, None + elif gr_img is not None and gr_video is None: + print(gr_img) + chatbot = chatbot + [((gr_img,), None)] + chat_state.system = "You are able to understand the visual content that the user provides. Follow the instructions carefully and explain your answers in detail." + img_list = [] + llm_message = chat.upload_img(gr_img, chat_state, img_list) + return gr.update(interactive=False), gr.update(interactive=False), gr.update(interactive=True, placeholder='Type and press Enter'), gr.update(value="Start Chatting", interactive=False), chat_state, img_list,chatbot + elif gr_video is not None and gr_img is None: + print(gr_video) + chatbot = chatbot + [((gr_video,), None)] + chat_state.system = "You are able to understand the visual content that the user provides. Follow the instructions carefully and explain your answers in detail." + img_list = [] + llm_message = chat.upload_video_without_audio(gr_video, chat_state, img_list) + return gr.update(interactive=False), gr.update(interactive=False), gr.update(interactive=True, placeholder='Type and press Enter'), gr.update(value="Start Chatting", interactive=False), chat_state, img_list,chatbot + else: + # img_list = [] + return gr.update(interactive=False), gr.update(interactive=False, placeholder='Currently, only one input is supported'), gr.update(value="Currently, only one input is supported", interactive=False), chat_state, None,chatbot + +def gradio_ask(user_message, chatbot, chat_state): + if len(user_message) == 0: + return gr.update(interactive=True, placeholder='Input should not be empty!'), chatbot, chat_state + chat.ask(user_message, chat_state) + chatbot = chatbot + [[user_message, None]] + return '', chatbot, chat_state + + +def gradio_answer(chatbot, chat_state, img_list, num_beams, temperature): + llm_message = chat.answer(conv=chat_state, + img_list=img_list, + num_beams=num_beams, + temperature=temperature, + max_new_tokens=300, + max_length=2000)[0] + chatbot[-1][1] = llm_message + print(chat_state.get_prompt()) + print(chat_state) + return chatbot, chat_state, img_list + +title = """ +

Video-LLaMA

+ +

Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding

+ +
Introduction: Video-LLaMA is a multi-model large language model that achieves video-grounded conversations between humans and computers \ + by connecting language decoder with off-the-shelf unimodal pre-trained models.
+ +
+ + + + + +
+ + +Thank you for using the Video-LLaMA Demo Page! If you have any questions or feedback, feel free to contact us. + +If you find Video-LLaMA interesting, please give us a star on GitHub. + +Current online demo uses the 7B version of Video-LLaMA due to resource limitations. We have released \ + the 13B version on our GitHub repository. + + +""" + +Note_markdown = (""" +### Note +Video-LLaMA is a prototype model and may have limitations in understanding complex scenes, long videos, or specific domains. +The output results may be influenced by input quality, limitations of the dataset, and the model's susceptibility to illusions. Please interpret the results with caution. + +**Copyright 2023 Alibaba DAMO Academy.** +""") + +cite_markdown = (""" +## Citation +If you find our project useful, hope you can star our repo and cite our paper as follows: +``` +@article{damonlpsg2023videollama, + author = {Zhang, Hang and Li, Xin and Bing, Lidong}, + title = {Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding}, + year = 2023, + journal = {arXiv preprint arXiv:2306.02858} + url = {https://arxiv.org/abs/2306.02858} +} +""") + +case_note_upload = (""" +### We provide some examples at the bottom of the page. Simply click on them to try them out directly. +""") + +#TODO show examples below + +with gr.Blocks() as demo: + gr.Markdown(title) + + with gr.Row(): + with gr.Column(scale=0.5): + video = gr.Video() + image = gr.Image(type="filepath") + gr.Markdown(case_note_upload) + + upload_button = gr.Button(value="Upload & Start Chat", interactive=True, variant="primary") + clear = gr.Button("Restart") + + num_beams = gr.Slider( + minimum=1, + maximum=10, + value=1, + step=1, + interactive=True, + label="beam search numbers)", + ) + + temperature = gr.Slider( + minimum=0.1, + maximum=2.0, + value=1.0, + step=0.1, + interactive=True, + label="Temperature", + ) + + audio = gr.Checkbox(interactive=True, value=False, label="Audio") + gr.Markdown(Note_markdown) + with gr.Column(): + chat_state = gr.State() + img_list = gr.State() + chatbot = gr.Chatbot(label='Video-LLaMA') + text_input = gr.Textbox(label='User', placeholder='Upload your image/video first, or directly click the examples at the bottom of the page.', interactive=False) + + + with gr.Column(): + gr.Examples(examples=[ + [f"examples/dog.jpg", "Which breed is this dog? "], + [f"examples/JonSnow.jpg", "Who's the man on the right? "], + [f"examples/Statue_of_Liberty.jpg", "Can you tell me about this building? "], + ], inputs=[image, text_input]) + + gr.Examples(examples=[ + [f"examples/skateboarding_dog.mp4", "What is the dog doing? "], + [f"examples/birthday.mp4", "What is the boy doing? "], + [f"examples/IronMan.mp4", "Is the guy in the video Iron Man? "], + ], inputs=[video, text_input]) + + gr.Markdown(cite_markdown) + upload_button.click(upload_imgorvideo, [video, image, text_input, chat_state,chatbot], [video, image, text_input, upload_button, chat_state, img_list,chatbot]) + + text_input.submit(gradio_ask, [text_input, chatbot, chat_state], [text_input, chatbot, chat_state]).then( + gradio_answer, [chatbot, chat_state, img_list, num_beams, temperature], [chatbot, chat_state, img_list] + ) + clear.click(gradio_reset, [chat_state, img_list], [chatbot, video, image, text_input, upload_button, chat_state, img_list], queue=False) + +demo.launch(share=False, enable_queue=True) + + +# %% diff --git a/environment.yml b/environment.yml new file mode 100644 index 0000000000000000000000000000000000000000..536167e9a164fbe5e9f0adab36b2747fd02e6228 --- /dev/null +++ b/environment.yml @@ -0,0 +1,70 @@ +name: videollama +channels: + - pytorch + - defaults + - anaconda +dependencies: + - python=3.9 + - cudatoolkit + - pip + - pytorch=1.12.1 + - pytorch-mutex=1.0=cuda + - torchaudio=0.12.1 + - torchvision=0.13.1 + + - pip: + - accelerate==0.16.0 + - aiohttp==3.8.4 + - aiosignal==1.3.1 + - async-timeout==4.0.2 + - attrs==22.2.0 + - bitsandbytes==0.37.0 + - cchardet==2.1.7 + - chardet==5.1.0 + - contourpy==1.0.7 + - cycler==0.11.0 + - filelock==3.9.0 + - fonttools==4.38.0 + - frozenlist==1.3.3 + - huggingface-hub==0.13.4 + - importlib-resources==5.12.0 + - kiwisolver==1.4.4 + - matplotlib==3.7.0 + - multidict==6.0.4 + - openai==0.27.0 + - packaging==23.0 + - psutil==5.9.4 + - pycocotools==2.0.6 + - pyparsing==3.0.9 + - python-dateutil==2.8.2 + - pyyaml==6.0 + - regex==2022.10.31 + - tokenizers==0.13.2 + - tqdm==4.64.1 + - transformers==4.28.0 + - timm==0.6.13 + - spacy==3.5.1 + - webdataset==0.2.48 + - scikit-learn==1.2.2 + - scipy==1.10.1 + - yarl==1.8.2 + - zipp==3.14.0 + - omegaconf==2.3.0 + - opencv-python==4.7.0.72 + - iopath==0.1.10 + - decord==0.6.0 + - tenacity==8.2.2 + - peft + - pycocoevalcap + - sentence-transformers + - umap-learn + - notebook + - gradio==3.24.1 + - gradio-client==0.0.8 + - wandb + - einops + - SentencePiece + - ftfy + - pytorchvideo==0.1.5 + + diff --git a/eval_configs/video_llama_eval_only_vl.yaml b/eval_configs/video_llama_eval_only_vl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..11a7abb36381c6b2920d7a6b355655d270fa6e50 --- /dev/null +++ b/eval_configs/video_llama_eval_only_vl.yaml @@ -0,0 +1,36 @@ +model: + arch: video_llama + model_type: pretrain_vicuna + freeze_vit: True + freeze_qformer: True + max_txt_len: 512 + end_sym: "###" + low_resource: False + + frozen_llama_proj: False + + # If you want use LLaMA-2-chat, + # some ckpts could be download from our provided huggingface repo + # i.e. https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-13B-Finetuned + llama_model: "ckpt/vicuna-13b/" or "ckpt/vicuna-7b/" or "ckpt/llama-2-7b-chat-hf" or "ckpt/llama-2-13b-chat-hf" + ckpt: 'path/pretrained_visual_branch_ckpt' # you can use our pretrained ckpt from https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-13B-Pretrained/ + equip_audio_branch: False + + fusion_head_layers: 2 + max_frame_pos: 32 + fusion_header_type: "seqTransf" + + +datasets: + webvid: + vis_processor: + train: + name: "alpro_video_eval" + n_frms: 8 + image_size: 224 + text_processor: + train: + name: "blip_caption" + +run: + task: video_text_pretrain diff --git a/eval_configs/video_llama_eval_withaudio.yaml b/eval_configs/video_llama_eval_withaudio.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f9ab6bd9a556f604e0089ca29be889ef5aad6e64 --- /dev/null +++ b/eval_configs/video_llama_eval_withaudio.yaml @@ -0,0 +1,35 @@ +model: + arch: video_llama + model_type: pretrain_vicuna + freeze_vit: True + freeze_qformer: True + max_txt_len: 512 + end_sym: "###" + low_resource: False + + frozen_llama_proj: False + + llama_model: "Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf" + imagebind_ckpt_path: "Video-LLaMA-2-7B-Finetuned" + ckpt: "Video-LLaMA-2-7B-Finetuned/VL_LLaMA_2_7B_Finetuned.pth" + ckpt_2: "Video-LLaMA-2-7B-Finetuned/AL_LLaMA_2_7B_Finetuned.pth" + + equip_audio_branch: True # whether equips the audio branch + fusion_head_layers: 2 + max_frame_pos: 32 + fusion_header_type: "seqTransf" + + +datasets: + webvid: + vis_processor: + train: + name: "alpro_video_eval" + n_frms: 8 + image_size: 224 + text_processor: + train: + name: "blip_caption" + +run: + task: video_text_pretrain diff --git a/figs/architecture.png b/figs/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..6d55a18a8af7c1cd2843c2b07bffd66793ed925f Binary files /dev/null and b/figs/architecture.png differ diff --git a/figs/architecture_v2.png b/figs/architecture_v2.png new file mode 100644 index 0000000000000000000000000000000000000000..f4cec21b63ae8f1adea4bb53ad53fa63565a4bfc Binary files /dev/null and b/figs/architecture_v2.png differ diff --git a/figs/video_llama_logo.jpg b/figs/video_llama_logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6334a9ef381f3a3dc769d4fb3f903adea84690e0 Binary files /dev/null and b/figs/video_llama_logo.jpg differ diff --git a/prompts/alignment_image.txt b/prompts/alignment_image.txt new file mode 100644 index 0000000000000000000000000000000000000000..0bc3d22ad8a3ff20180a87bd49d151e5a30553a6 --- /dev/null +++ b/prompts/alignment_image.txt @@ -0,0 +1,4 @@ + Describe this image in detail. + Take a look at this image and describe what you notice. + Please provide a detailed description of the picture. + Could you describe the contents of this image for me? \ No newline at end of file diff --git a/requirement.txt b/requirement.txt new file mode 100644 index 0000000000000000000000000000000000000000..37f20bdf3402c61e84a1b5930f7d3a93081fc043 --- /dev/null +++ b/requirement.txt @@ -0,0 +1,13 @@ +--extra-index-url https://download.pytorch.org/whl/cu113 +torch==1.12.1 +torchvision==0.13.1 +transformers==4.28.0 +tqdm +decord +timm +einops +opencv_python +torchvision + +salesforce-lavis +accelerate diff --git a/setup.py b/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..6603f66b1b3e786a25ca3268859ae427d6c36a53 --- /dev/null +++ b/setup.py @@ -0,0 +1,17 @@ +from setuptools import setup, find_packages + + +def _install_requirements(): + with open('requirement.txt') as f: + packages = [line.strip() for line in f if not line.startswith('http')] + return packages + + +setup( + name='videollama', + version='0.1.0', + python_requires='>=3.8.0', + packages=find_packages(), + include_package_data=True, + install_requires=_install_requirements(), +) diff --git a/train.py b/train.py new file mode 100644 index 0000000000000000000000000000000000000000..fead7bdf7f3ea53f5adf3e3f36d57d5b0cb7f151 --- /dev/null +++ b/train.py @@ -0,0 +1,107 @@ +""" +Adapted from salesforce@LAVIS and Vision-CAIR@MiniGPT-4. Below is the original copyright: + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import argparse +import os +import random + +import numpy as np +import torch +import torch.backends.cudnn as cudnn + +import video_llama.tasks as tasks +from video_llama.common.config import Config +from video_llama.common.dist_utils import get_rank, init_distributed_mode +from video_llama.common.logger import setup_logger +from video_llama.common.optims import ( + LinearWarmupCosineLRScheduler, + LinearWarmupStepLRScheduler, +) +from video_llama.common.registry import registry +from video_llama.common.utils import now + +# imports modules for registration +from video_llama.datasets.builders import * +from video_llama.models import * +from video_llama.processors import * +from video_llama.runners import * +from video_llama.tasks import * + + +def parse_args(): + parser = argparse.ArgumentParser(description="Training") + + parser.add_argument("--cfg-path", required=True, help="path to configuration file.") + parser.add_argument( + "--options", + nargs="+", + help="override some settings in the used config, the key-value pair " + "in xxx=yyy format will be merged into config file (deprecate), " + "change to --cfg-options instead.", + ) + + args = parser.parse_args() + # if 'LOCAL_RANK' not in os.environ: + # os.environ['LOCAL_RANK'] = str(args.local_rank) + + return args + + +def setup_seeds(config): + seed = config.run_cfg.seed + get_rank() + + random.seed(seed) + np.random.seed(seed) + torch.manual_seed(seed) + + cudnn.benchmark = False + cudnn.deterministic = True + + +def get_runner_class(cfg): + """ + Get runner class from config. Default to epoch-based runner. + """ + runner_cls = registry.get_runner_class(cfg.run_cfg.get("runner", "runner_base")) + + return runner_cls + + +def main(): + # allow auto-dl completes on main process without timeout when using NCCL backend. + # os.environ["NCCL_BLOCKING_WAIT"] = "1" + + # set before init_distributed_mode() to ensure the same job_id shared across all ranks. + job_id = now() + + cfg = Config(parse_args()) + + init_distributed_mode(cfg.run_cfg) + + setup_seeds(cfg) + + # set after init_distributed_mode() to only log on master. + setup_logger() + + cfg.pretty_print() + + task = tasks.setup_task(cfg) + datasets = task.build_datasets(cfg) + + # datasets['webvid']['train'][0] + # datasets + model = task.build_model(cfg) + + runner = get_runner_class(cfg)( + cfg=cfg, job_id=job_id, task=task, model=model, datasets=datasets + ) + runner.train() + + +if __name__ == "__main__": + main() diff --git a/train_configs/audiobranch_stage1_pretrain.yaml b/train_configs/audiobranch_stage1_pretrain.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ed3972b91d618916c9a9bc637821f9bf9587a697 --- /dev/null +++ b/train_configs/audiobranch_stage1_pretrain.yaml @@ -0,0 +1,88 @@ +model: + arch: video_llama + model_type: pretrain_vicuna + freeze_vit: True + freeze_qformer: True + low_resource: False + + # Q-Former + num_query_token: 32 + + # If you want train models based on LLaMA-2-chat, + # some ckpts could be download from our provided huggingface repo + # i.e. https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-13B-Pretrained + llama_model: "ckpt/vicuna-13b/" or "ckpt/vicuna-7b/" or "ckpt/llama-2-7b-chat-hf" or "ckpt/llama-2-13b-chat-hf" + imagebind_ckpt_path: "ckpt/imagebind_path/" + llama_proj_model: 'ckpt/pretrained_minigpt4.pth' or '/mnt/workspace/ckpt/pretrained_minigpt4_7b.pth' + imagebind_ckpt_path: "ckpt/imagebind_path/" + + # only train vision branch + equip_audio_branch: True # whether equips the audio branch + frozen_llama_proj: True + frozen_video_Qformer: True + frozen_audio_Qformer: False + + fusion_head_layers: 2 + max_frame_pos: 32 + fusion_header_type: "seqTransf" + num_video_query_token: 32 + +datasets: + webvid: + data_type: video + build_info: + anno_dir: path/webvid/webvid_train_data/filter_annotations/ + videos_dir: path/webvid/webvid_train_data/videos/ + + vis_processor: + train: + name: "alpro_video_train" + n_frms: 8 + image_size: 224 + text_processor: + train: + name: "blip_caption" + sample_ratio: 100 + + cc_sbu_align: + data_type: images + build_info: + storage: /path/LLaVA_cc3m + vis_processor: + train: + name: "blip2_image_train" + image_size: 224 + text_processor: + train: + name: "blip_caption" + sample_ratio: 24 + +run: + task: video_text_pretrain + # optimizer + lr_sched: "linear_warmup_cosine_lr" + init_lr: 1e-4 + min_lr: 8e-5 + warmup_lr: 1e-6 + + weight_decay: 0.05 + max_epoch: 5 + batch_size_train: 32 + batch_size_eval: 32 + num_workers: 8 + warmup_steps: 5000 + iters_per_epoch: 5000 + + seed: 42 + output_dir: "output/audiobranch_stage1_pretrain" + + amp: True + resume_ckpt_path: null + + evaluate: False + train_splits: ["train"] + + device: "cuda" + world_size: 1 + dist_url: "env://" + distributed: True \ No newline at end of file diff --git a/train_configs/audiobranch_stage2_finetune.yaml b/train_configs/audiobranch_stage2_finetune.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e7e07b3aba7641f6fbd90c32381b96a5821a173d --- /dev/null +++ b/train_configs/audiobranch_stage2_finetune.yaml @@ -0,0 +1,120 @@ +model: + arch: video_llama + model_type: pretrain_vicuna + freeze_vit: True + freeze_qformer: True + + + # Q-Former + num_query_token: 32 + + # If you want train models based on LLaMA-2-chat, + # some ckpts could be download from our provided huggingface repo + # i.e. https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-13B-Finetuned + llama_model: "ckpt/vicuna-13b/" or "ckpt/vicuna-7b/" or "ckpt/llama-2-7b-chat-hf" or "ckpt/llama-2-13b-chat-hf" + imagebind_ckpt_path: "ckpt/imagebind_path/" + # The ckpt of audio branch after stage1 pretrained, + ckpt: 'path/pretrained_visual_branch_ckpt' # you can use our pretrained ckpt from https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-13B-Pretrained/ + ckpt_2: 'path/pretrained_audio_branch_ckpt' + + # only train audio branch + equip_audio_branch: True # whether equips the audio branch + frozen_llama_proj: True + frozen_video_Qformer: True + frozen_audio_Qformer: False + + fusion_head_layers: 2 + max_frame_pos: 32 + fusion_header_type: "seqTransf" + + max_txt_len: 512 + # vicuna and llama_2_chat use different template !!!! + + # for llama_2_chat: + # end_sym: "
" + # prompt_path: "prompts/alignment_image.txt" + # prompt_template: '[INST] <>\n \n<>\n\n{} [/INST] ' + + # for vicuna: + end_sym: "###" + prompt_path: "prompts/alignment_image.txt" + prompt_template: '###Human: {} ###Assistant: ' + + + + +datasets: + cc_sbu_align: + data_type: images + build_info: + storage: path/cc_sbu_align/ + vis_processor: + train: + name: "blip2_image_train" + image_size: 224 + text_processor: + train: + name: "blip_caption" + + llava_instruct: + data_type: images + build_info: + anno_dir: path/llava_instruct_150k.json + videos_dir: path/train2014/ + vis_processor: + train: + name: "blip2_image_train" + image_size: 224 + text_processor: + train: + name: "blip_caption" + num_video_query_token: 8 + tokenizer_name: "ckpt/vicuna-13b/" or "ckpt/vicuna-7b/" or "ckpt/llama-2-7b-chat-hf" or "ckpt/llama-2-13b-chat-hf" + model_type: "llama_v2" or "vicuna" # need to set, as vicuna and llama_2_chat use different template + + webvid_instruct: + data_type: video + build_info: + anno_dir: path/videochat_instruct_11k.json + videos_dir: path/webvid_align/videos/ + vis_processor: + train: + name: "alpro_video_train" + n_frms: 8 + image_size: 224 + text_processor: + train: + name: "blip_caption" + num_video_query_token: 8 + tokenizer_name: "ckpt/vicuna-13b/" or "ckpt/vicuna-7b/" or "ckpt/llama-2-7b-chat-hf" or "ckpt/llama-2-13b-chat-hf" + model_type: "llama_v2" or "vicuna" # need to set, as vicuna and llama_2_chat use different template + +run: + task: video_text_pretrain + # optimizer + lr_sched: "linear_warmup_cosine_lr" + init_lr: 3e-5 + min_lr: 1e-5 + warmup_lr: 1e-6 + + weight_decay: 0.05 + max_epoch: 3 + iters_per_epoch: 1000 + batch_size_train: 4 + batch_size_eval: 2 + num_workers: 4 + warmup_steps: 400 + + seed: 42 + output_dir: "output/audiobranch_stage2_finetune" + + amp: True + resume_ckpt_path: null + + evaluate: False + train_splits: ["train"] + + device: "cuda" + world_size: 1 + dist_url: "env://" + distributed: True \ No newline at end of file diff --git a/train_configs/visionbranch_stage1_pretrain.yaml b/train_configs/visionbranch_stage1_pretrain.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fb6efa764114202a473404e2bdc9461280c920dd --- /dev/null +++ b/train_configs/visionbranch_stage1_pretrain.yaml @@ -0,0 +1,87 @@ +model: + arch: video_llama + model_type: pretrain_vicuna + freeze_vit: True + freeze_qformer: True + + + # Q-Former + num_query_token: 32 + + # If you want train models based on LLaMA-2-chat, + # some ckpts could be download from our provided huggingface repo + # i.e. https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-13B-Pretrained + llama_model: "ckpt/vicuna-13b/" or "ckpt/vicuna-7b/" or "ckpt/llama-2-7b-chat-hf" or "ckpt/llama-2-13b-chat-hf" + imagebind_ckpt_path: "ckpt/imagebind_path/" + llama_proj_model: 'ckpt/pretrained_minigpt4.pth' or '/mnt/workspace/ckpt/pretrained_minigpt4_7b.pth' + + # only train vision branch + equip_audio_branch: False # whether equips the audio branch + frozen_llama_proj: False + frozen_video_Qformer: False + frozen_audio_Qformer: True + + fusion_head_layers: 2 + max_frame_pos: 32 + fusion_header_type: "seqTransf" + num_video_query_token: 32 + +datasets: + webvid: + data_type: video + build_info: + anno_dir: path/webvid/webvid_train_data/filter_annotations/ + videos_dir: path/webvid/webvid_train_data/videos/ + + vis_processor: + train: + name: "alpro_video_train" + n_frms: 8 + image_size: 224 + text_processor: + train: + name: "blip_caption" + sample_ratio: 100 + + cc_sbu_align: + data_type: images + build_info: + storage: /path/LLaVA_cc3m + vis_processor: + train: + name: "blip2_image_train" + image_size: 224 + text_processor: + train: + name: "blip_caption" + sample_ratio: 24 + +run: + task: video_text_pretrain + # optimizer + lr_sched: "linear_warmup_cosine_lr" + init_lr: 1e-4 + min_lr: 8e-5 + warmup_lr: 1e-6 + + weight_decay: 0.05 + max_epoch: 5 + batch_size_train: 32 + batch_size_eval: 32 + num_workers: 8 + warmup_steps: 2500 + iters_per_epoch: 2500 + + seed: 42 + output_dir: "output/videollama_stage1_pretrain" + + amp: True + resume_ckpt_path: null + + evaluate: False + train_splits: ["train"] + + device: "cuda" + world_size: 1 + dist_url: "env://" + distributed: True \ No newline at end of file diff --git a/train_configs/visionbranch_stage2_finetune.yaml b/train_configs/visionbranch_stage2_finetune.yaml new file mode 100644 index 0000000000000000000000000000000000000000..11f53b539957acad446b0c6347e06f0edad72129 --- /dev/null +++ b/train_configs/visionbranch_stage2_finetune.yaml @@ -0,0 +1,122 @@ +model: + arch: video_llama + model_type: pretrain_vicuna + freeze_vit: True + freeze_qformer: True + + + # Q-Former + num_query_token: 32 + + # If you want train models based on LLaMA-2-chat, + # some ckpts could be download from our provided huggingface repo + # i.e. https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-13B-Finetuned + llama_model: "ckpt/vicuna-13b/" or "ckpt/vicuna-7b/" or "ckpt/llama-2-7b-chat-hf" or "ckpt/llama-2-13b-chat-hf" + imagebind_ckpt_path: "ckpt/imagebind_path/" + + # The ckpt of vision branch after stage1 pretrained, + ckpt: 'path/pretrained_ckpt' # you can use our pretrained ckpt from https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-13B-Pretrained/ + + + # only train vision branch + equip_audio_branch: False # whether equips the audio branch + frozen_llama_proj: False + frozen_video_Qformer: False + frozen_audio_Qformer: True + + fusion_head_layers: 2 + max_frame_pos: 32 + fusion_header_type: "seqTransf" + + max_txt_len: 320 + + # vicuna and llama_2_chat use different template !!! + + # for llama_2_chat: + # end_sym: "
" + # prompt_path: "prompts/alignment_image.txt" + # prompt_template: '[INST] <>\n \n<>\n\n{} [/INST] ' + + # for vicuna: + end_sym: "###" + prompt_path: "prompts/alignment_image.txt" + prompt_template: '###Human: {} ###Assistant: ' + + + + +datasets: + cc_sbu_align: + data_type: images + build_info: + storage: path/cc_sbu_align/ + vis_processor: + train: + name: "blip2_image_train" + image_size: 224 + text_processor: + train: + name: "blip_caption" + + llava_instruct: + data_type: images + build_info: + anno_dir: path/llava_instruct_150k.json + videos_dir: path/train2014/ + vis_processor: + train: + name: "blip2_image_train" + image_size: 224 + text_processor: + train: + name: "blip_caption" + num_video_query_token: 32 + tokenizer_name: "ckpt/vicuna-13b/" or "ckpt/vicuna-7b/" or "ckpt/llama-2-7b-chat-hf" or "ckpt/llama-2-13b-chat-hf" + model_type: "llama_v2" or "vicuna" # need to set, as vicuna and llama_2_chat use different template + + webvid_instruct: + data_type: video + build_info: + anno_dir: path/videochat_instruct_11k.json + videos_dir: path/webvid_align/videos/ + vis_processor: + train: + name: "alpro_video_train" + n_frms: 8 + image_size: 224 + text_processor: + train: + name: "blip_caption" + num_video_query_token: 32 + tokenizer_name: "ckpt/vicuna-13b/" or "ckpt/vicuna-7b/" or "ckpt/llama-2-7b-chat-hf" or "ckpt/llama-2-13b-chat-hf" + model_type: "llama_v2" or "vicuna" # need to set, as vicuna and llama_2_chat use different template + +run: + task: video_text_pretrain + # optimizer + lr_sched: "linear_warmup_cosine_lr" + init_lr: 3e-5 + min_lr: 1e-5 + warmup_lr: 1e-6 + + weight_decay: 0.05 + max_epoch: 3 + iters_per_epoch: 1000 + batch_size_train: 4 + batch_size_eval: 4 + num_workers: 4 + warmup_steps: 1000 + + seed: 42 + output_dir: "output/videollama_stage2_finetune" + + amp: True + resume_ckpt_path: null + + evaluate: False + train_splits: ["train"] + + device: "cuda" + world_size: 1 + dist_url: "env://" + distributed: True \ No newline at end of file diff --git a/video_llama/__init__.py b/video_llama/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..90b38d4c6f7611646be527265cd0bd868d4f1f81 --- /dev/null +++ b/video_llama/__init__.py @@ -0,0 +1,31 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import os +import sys + +from omegaconf import OmegaConf + +from video_llama.common.registry import registry + +from video_llama.datasets.builders import * +from video_llama.models import * +from video_llama.processors import * +from video_llama.tasks import * + + +root_dir = os.path.dirname(os.path.abspath(__file__)) +default_cfg = OmegaConf.load(os.path.join(root_dir, "configs/default.yaml")) + +registry.register_path("library_root", root_dir) +repo_root = os.path.join(root_dir, "..") +registry.register_path("repo_root", repo_root) +cache_root = os.path.join(repo_root, default_cfg.env.cache_root) +registry.register_path("cache_root", cache_root) + +registry.register("MAX_INT", sys.maxsize) +registry.register("SPLIT_NAMES", ["train", "val", "test"]) diff --git a/video_llama/__pycache__/__init__.cpython-39.pyc b/video_llama/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f3e6934ed2cd2429cb65b74260e586575e86223 Binary files /dev/null and b/video_llama/__pycache__/__init__.cpython-39.pyc differ diff --git a/video_llama/common/__init__.py b/video_llama/common/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/video_llama/common/__pycache__/__init__.cpython-39.pyc b/video_llama/common/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..10cb3d95bb6424bf155fc9cdd10a9a2482995607 Binary files /dev/null and b/video_llama/common/__pycache__/__init__.cpython-39.pyc differ diff --git a/video_llama/common/__pycache__/config.cpython-39.pyc b/video_llama/common/__pycache__/config.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..32c937ced2f5532d87a4a929f34eba311a213e51 Binary files /dev/null and b/video_llama/common/__pycache__/config.cpython-39.pyc differ diff --git a/video_llama/common/__pycache__/dist_utils.cpython-39.pyc b/video_llama/common/__pycache__/dist_utils.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d1d74cd0818c4869bbcfe3c84bb497a6b44bf444 Binary files /dev/null and b/video_llama/common/__pycache__/dist_utils.cpython-39.pyc differ diff --git a/video_llama/common/__pycache__/logger.cpython-39.pyc b/video_llama/common/__pycache__/logger.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9db1d43842f4aa06ddee0adbabd11439bc4f215f Binary files /dev/null and b/video_llama/common/__pycache__/logger.cpython-39.pyc differ diff --git a/video_llama/common/__pycache__/registry.cpython-39.pyc b/video_llama/common/__pycache__/registry.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f488047860ec30e8e995f67b774e9519383c93e5 Binary files /dev/null and b/video_llama/common/__pycache__/registry.cpython-39.pyc differ diff --git a/video_llama/common/__pycache__/utils.cpython-39.pyc b/video_llama/common/__pycache__/utils.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b3d32b7f905ce062637abe02850d6738b6eb7c9b Binary files /dev/null and b/video_llama/common/__pycache__/utils.cpython-39.pyc differ diff --git a/video_llama/common/config.py b/video_llama/common/config.py new file mode 100644 index 0000000000000000000000000000000000000000..d3a718644414610b2f10a01a51ebe58c14ff5f30 --- /dev/null +++ b/video_llama/common/config.py @@ -0,0 +1,468 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import logging +import json +from typing import Dict + +from omegaconf import OmegaConf +from video_llama.common.registry import registry + + +class Config: + def __init__(self, args): + self.config = {} + + self.args = args + + # Register the config and configuration for setup + registry.register("configuration", self) + + user_config = self._build_opt_list(self.args.options) + + config = OmegaConf.load(self.args.cfg_path) + + runner_config = self.build_runner_config(config) + model_config = self.build_model_config(config, **user_config) + dataset_config = self.build_dataset_config(config) + + # Validate the user-provided runner configuration + # model and dataset configuration are supposed to be validated by the respective classes + # [TODO] validate the model/dataset configuration + # self._validate_runner_config(runner_config) + + # Override the default configuration with user options. + self.config = OmegaConf.merge( + runner_config, model_config, dataset_config, user_config + ) + + def _validate_runner_config(self, runner_config): + """ + This method validates the configuration, such that + 1) all the user specified options are valid; + 2) no type mismatches between the user specified options and the config. + """ + runner_config_validator = create_runner_config_validator() + runner_config_validator.validate(runner_config) + + def _build_opt_list(self, opts): + opts_dot_list = self._convert_to_dot_list(opts) + return OmegaConf.from_dotlist(opts_dot_list) + + @staticmethod + def build_model_config(config, **kwargs): + model = config.get("model", None) + assert model is not None, "Missing model configuration file." + + model_cls = registry.get_model_class(model.arch) + assert model_cls is not None, f"Model '{model.arch}' has not been registered." + + model_type = kwargs.get("model.model_type", None) + if not model_type: + model_type = model.get("model_type", None) + # else use the model type selected by user. + + assert model_type is not None, "Missing model_type." + + model_config_path = model_cls.default_config_path(model_type=model_type) + + model_config = OmegaConf.create() + # hierarchy override, customized config > default config + model_config = OmegaConf.merge( + model_config, + OmegaConf.load(model_config_path), + {"model": config["model"]}, + ) + + return model_config + + @staticmethod + def build_runner_config(config): + return {"run": config.run} + + @staticmethod + def build_dataset_config(config): + datasets = config.get("datasets", None) + if datasets is None: + raise KeyError( + "Expecting 'datasets' as the root key for dataset configuration." + ) + + dataset_config = OmegaConf.create() + + for dataset_name in datasets: + builder_cls = registry.get_builder_class(dataset_name) + + dataset_config_type = datasets[dataset_name].get("type", "default") + dataset_config_path = builder_cls.default_config_path( + type=dataset_config_type + ) + + # hierarchy override, customized config > default config + dataset_config = OmegaConf.merge( + dataset_config, + OmegaConf.load(dataset_config_path), + {"datasets": {dataset_name: config["datasets"][dataset_name]}}, + ) + + return dataset_config + + def _convert_to_dot_list(self, opts): + if opts is None: + opts = [] + + if len(opts) == 0: + return opts + + has_equal = opts[0].find("=") != -1 + + if has_equal: + return opts + + return [(opt + "=" + value) for opt, value in zip(opts[0::2], opts[1::2])] + + def get_config(self): + return self.config + + @property + def run_cfg(self): + return self.config.run + + @property + def datasets_cfg(self): + return self.config.datasets + + @property + def model_cfg(self): + return self.config.model + + def pretty_print(self): + logging.info("\n===== Running Parameters =====") + logging.info(self._convert_node_to_json(self.config.run)) + + logging.info("\n====== Dataset Attributes ======") + datasets = self.config.datasets + + for dataset in datasets: + if dataset in self.config.datasets: + logging.info(f"\n======== {dataset} =======") + dataset_config = self.config.datasets[dataset] + logging.info(self._convert_node_to_json(dataset_config)) + else: + logging.warning(f"No dataset named '{dataset}' in config. Skipping") + + logging.info(f"\n====== Model Attributes ======") + logging.info(self._convert_node_to_json(self.config.model)) + + def _convert_node_to_json(self, node): + container = OmegaConf.to_container(node, resolve=True) + return json.dumps(container, indent=4, sort_keys=True) + + def to_dict(self): + return OmegaConf.to_container(self.config) + + +def node_to_dict(node): + return OmegaConf.to_container(node) + + +class ConfigValidator: + """ + This is a preliminary implementation to centralize and validate the configuration. + May be altered in the future. + + A helper class to validate configurations from yaml file. + + This serves the following purposes: + 1. Ensure all the options in the yaml are defined, raise error if not. + 2. when type mismatches are found, the validator will raise an error. + 3. a central place to store and display helpful messages for supported configurations. + + """ + + class _Argument: + def __init__(self, name, choices=None, type=None, help=None): + self.name = name + self.val = None + self.choices = choices + self.type = type + self.help = help + + def __str__(self): + s = f"{self.name}={self.val}" + if self.type is not None: + s += f", ({self.type})" + if self.choices is not None: + s += f", choices: {self.choices}" + if self.help is not None: + s += f", ({self.help})" + return s + + def __init__(self, description): + self.description = description + + self.arguments = dict() + + self.parsed_args = None + + def __getitem__(self, key): + assert self.parsed_args is not None, "No arguments parsed yet." + + return self.parsed_args[key] + + def __str__(self) -> str: + return self.format_help() + + def add_argument(self, *args, **kwargs): + """ + Assume the first argument is the name of the argument. + """ + self.arguments[args[0]] = self._Argument(*args, **kwargs) + + def validate(self, config=None): + """ + Convert yaml config (dict-like) to list, required by argparse. + """ + for k, v in config.items(): + assert ( + k in self.arguments + ), f"""{k} is not a valid argument. Support arguments are {self.format_arguments()}.""" + + if self.arguments[k].type is not None: + try: + self.arguments[k].val = self.arguments[k].type(v) + except ValueError: + raise ValueError(f"{k} is not a valid {self.arguments[k].type}.") + + if self.arguments[k].choices is not None: + assert ( + v in self.arguments[k].choices + ), f"""{k} must be one of {self.arguments[k].choices}.""" + + return config + + def format_arguments(self): + return str([f"{k}" for k in sorted(self.arguments.keys())]) + + def format_help(self): + # description + key-value pair string for each argument + help_msg = str(self.description) + return help_msg + ", available arguments: " + self.format_arguments() + + def print_help(self): + # display help message + print(self.format_help()) + + +def create_runner_config_validator(): + validator = ConfigValidator(description="Runner configurations") + + validator.add_argument( + "runner", + type=str, + choices=["runner_base", "runner_iter"], + help="""Runner to use. The "runner_base" uses epoch-based training while iter-based + runner runs based on iters. Default: runner_base""", + ) + # add argumetns for training dataset ratios + validator.add_argument( + "train_dataset_ratios", + type=Dict[str, float], + help="""Ratios of training dataset. This is used in iteration-based runner. + Do not support for epoch-based runner because how to define an epoch becomes tricky. + Default: None""", + ) + validator.add_argument( + "max_iters", + type=float, + help="Maximum number of iterations to run.", + ) + validator.add_argument( + "max_epoch", + type=int, + help="Maximum number of epochs to run.", + ) + # add arguments for iters_per_inner_epoch + validator.add_argument( + "iters_per_inner_epoch", + type=float, + help="Number of iterations per inner epoch. This is required when runner is runner_iter.", + ) + lr_scheds_choices = registry.list_lr_schedulers() + validator.add_argument( + "lr_sched", + type=str, + choices=lr_scheds_choices, + help="Learning rate scheduler to use, from {}".format(lr_scheds_choices), + ) + task_choices = registry.list_tasks() + validator.add_argument( + "task", + type=str, + choices=task_choices, + help="Task to use, from {}".format(task_choices), + ) + # add arguments for init_lr + validator.add_argument( + "init_lr", + type=float, + help="Initial learning rate. This will be the learning rate after warmup and before decay.", + ) + # add arguments for min_lr + validator.add_argument( + "min_lr", + type=float, + help="Minimum learning rate (after decay).", + ) + # add arguments for warmup_lr + validator.add_argument( + "warmup_lr", + type=float, + help="Starting learning rate for warmup.", + ) + # add arguments for learning rate decay rate + validator.add_argument( + "lr_decay_rate", + type=float, + help="Learning rate decay rate. Required if using a decaying learning rate scheduler.", + ) + # add arguments for weight decay + validator.add_argument( + "weight_decay", + type=float, + help="Weight decay rate.", + ) + # add arguments for training batch size + validator.add_argument( + "batch_size_train", + type=int, + help="Training batch size.", + ) + # add arguments for evaluation batch size + validator.add_argument( + "batch_size_eval", + type=int, + help="Evaluation batch size, including validation and testing.", + ) + # add arguments for number of workers for data loading + validator.add_argument( + "num_workers", + help="Number of workers for data loading.", + ) + # add arguments for warm up steps + validator.add_argument( + "warmup_steps", + type=int, + help="Number of warmup steps. Required if a warmup schedule is used.", + ) + # add arguments for random seed + validator.add_argument( + "seed", + type=int, + help="Random seed.", + ) + # add arguments for output directory + validator.add_argument( + "output_dir", + type=str, + help="Output directory to save checkpoints and logs.", + ) + # add arguments for whether only use evaluation + validator.add_argument( + "evaluate", + help="Whether to only evaluate the model. If true, training will not be performed.", + ) + # add arguments for splits used for training, e.g. ["train", "val"] + validator.add_argument( + "train_splits", + type=list, + help="Splits to use for training.", + ) + # add arguments for splits used for validation, e.g. ["val"] + validator.add_argument( + "valid_splits", + type=list, + help="Splits to use for validation. If not provided, will skip the validation.", + ) + # add arguments for splits used for testing, e.g. ["test"] + validator.add_argument( + "test_splits", + type=list, + help="Splits to use for testing. If not provided, will skip the testing.", + ) + # add arguments for accumulating gradient for iterations + validator.add_argument( + "accum_grad_iters", + type=int, + help="Number of iterations to accumulate gradient for.", + ) + + # ====== distributed training ====== + validator.add_argument( + "device", + type=str, + choices=["cpu", "cuda"], + help="Device to use. Support 'cuda' or 'cpu' as for now.", + ) + validator.add_argument( + "world_size", + type=int, + help="Number of processes participating in the job.", + ) + validator.add_argument("dist_url", type=str) + validator.add_argument("distributed", type=bool) + # add arguments to opt using distributed sampler during evaluation or not + validator.add_argument( + "use_dist_eval_sampler", + type=bool, + help="Whether to use distributed sampler during evaluation or not.", + ) + + # ====== task specific ====== + # generation task specific arguments + # add arguments for maximal length of text output + validator.add_argument( + "max_len", + type=int, + help="Maximal length of text output.", + ) + # add arguments for minimal length of text output + validator.add_argument( + "min_len", + type=int, + help="Minimal length of text output.", + ) + # add arguments number of beams + validator.add_argument( + "num_beams", + type=int, + help="Number of beams used for beam search.", + ) + + # vqa task specific arguments + # add arguments for number of answer candidates + validator.add_argument( + "num_ans_candidates", + type=int, + help="""For ALBEF and BLIP, these models first rank answers according to likelihood to select answer candidates.""", + ) + # add arguments for inference method + validator.add_argument( + "inference_method", + type=str, + choices=["genearte", "rank"], + help="""Inference method to use for question answering. If rank, requires a answer list.""", + ) + + # ====== model specific ====== + validator.add_argument( + "k_test", + type=int, + help="Number of top k most similar samples from ITC/VTC selection to be tested.", + ) + + return validator diff --git a/video_llama/common/dist_utils.py b/video_llama/common/dist_utils.py new file mode 100644 index 0000000000000000000000000000000000000000..9280150bf5122d51bb810a9f0258a233e7088647 --- /dev/null +++ b/video_llama/common/dist_utils.py @@ -0,0 +1,137 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import datetime +import functools +import os + +import torch +import torch.distributed as dist +import timm.models.hub as timm_hub + + +def setup_for_distributed(is_master): + """ + This function disables printing when not in master process + """ + import builtins as __builtin__ + + builtin_print = __builtin__.print + + def print(*args, **kwargs): + force = kwargs.pop("force", False) + if is_master or force: + builtin_print(*args, **kwargs) + + __builtin__.print = print + + +def is_dist_avail_and_initialized(): + if not dist.is_available(): + return False + if not dist.is_initialized(): + return False + return True + + +def get_world_size(): + if not is_dist_avail_and_initialized(): + return 1 + return dist.get_world_size() + + +def get_rank(): + if not is_dist_avail_and_initialized(): + return 0 + return dist.get_rank() + + +def is_main_process(): + return get_rank() == 0 + + +def init_distributed_mode(args): + if "RANK" in os.environ and "WORLD_SIZE" in os.environ: + args.rank = int(os.environ["RANK"]) + args.world_size = int(os.environ["WORLD_SIZE"]) + args.gpu = int(os.environ["LOCAL_RANK"]) + elif "SLURM_PROCID" in os.environ: + args.rank = int(os.environ["SLURM_PROCID"]) + args.gpu = args.rank % torch.cuda.device_count() + else: + print("Not using distributed mode") + args.distributed = False + return + + args.distributed = True + + torch.cuda.set_device(args.gpu) + args.dist_backend = "nccl" + print( + "| distributed init (rank {}, world {}): {}".format( + args.rank, args.world_size, args.dist_url + ), + flush=True, + ) + torch.distributed.init_process_group( + backend=args.dist_backend, + init_method=args.dist_url, + world_size=args.world_size, + rank=args.rank, + timeout=datetime.timedelta( + days=365 + ), # allow auto-downloading and de-compressing + ) + torch.distributed.barrier() + setup_for_distributed(args.rank == 0) + + +def get_dist_info(): + if torch.__version__ < "1.0": + initialized = dist._initialized + else: + initialized = dist.is_initialized() + if initialized: + rank = dist.get_rank() + world_size = dist.get_world_size() + else: # non-distributed training + rank = 0 + world_size = 1 + return rank, world_size + + +def main_process(func): + @functools.wraps(func) + def wrapper(*args, **kwargs): + rank, _ = get_dist_info() + if rank == 0: + return func(*args, **kwargs) + + return wrapper + + +def download_cached_file(url, check_hash=True, progress=False): + """ + Download a file from a URL and cache it locally. If the file already exists, it is not downloaded again. + If distributed, only the main process downloads the file, and the other processes wait for the file to be downloaded. + """ + + def get_cached_file_path(): + # a hack to sync the file path across processes + parts = torch.hub.urlparse(url) + filename = os.path.basename(parts.path) + cached_file = os.path.join(timm_hub.get_cache_dir(), filename) + + return cached_file + + if is_main_process(): + timm_hub.download_cached_file(url, check_hash, progress) + + if is_dist_avail_and_initialized(): + dist.barrier() + + return get_cached_file_path() diff --git a/video_llama/common/gradcam.py b/video_llama/common/gradcam.py new file mode 100644 index 0000000000000000000000000000000000000000..d53a5254d4b319eaf2cbfbd081b0ca8e38c5c7a0 --- /dev/null +++ b/video_llama/common/gradcam.py @@ -0,0 +1,24 @@ +import numpy as np +from matplotlib import pyplot as plt +from scipy.ndimage import filters +from skimage import transform as skimage_transform + + +def getAttMap(img, attMap, blur=True, overlap=True): + attMap -= attMap.min() + if attMap.max() > 0: + attMap /= attMap.max() + attMap = skimage_transform.resize(attMap, (img.shape[:2]), order=3, mode="constant") + if blur: + attMap = filters.gaussian_filter(attMap, 0.02 * max(img.shape[:2])) + attMap -= attMap.min() + attMap /= attMap.max() + cmap = plt.get_cmap("jet") + attMapV = cmap(attMap) + attMapV = np.delete(attMapV, 3, 2) + if overlap: + attMap = ( + 1 * (1 - attMap**0.7).reshape(attMap.shape + (1,)) * img + + (attMap**0.7).reshape(attMap.shape + (1,)) * attMapV + ) + return attMap diff --git a/video_llama/common/logger.py b/video_llama/common/logger.py new file mode 100644 index 0000000000000000000000000000000000000000..e9de0e65de4601e9ea10f3af6372adabdd09e44c --- /dev/null +++ b/video_llama/common/logger.py @@ -0,0 +1,195 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import datetime +import logging +import time +from collections import defaultdict, deque + +import torch +import torch.distributed as dist + +from video_llama.common import dist_utils + + +class SmoothedValue(object): + """Track a series of values and provide access to smoothed values over a + window or the global series average. + """ + + def __init__(self, window_size=20, fmt=None): + if fmt is None: + fmt = "{median:.4f} ({global_avg:.4f})" + self.deque = deque(maxlen=window_size) + self.total = 0.0 + self.count = 0 + self.fmt = fmt + + def update(self, value, n=1): + self.deque.append(value) + self.count += n + self.total += value * n + + def synchronize_between_processes(self): + """ + Warning: does not synchronize the deque! + """ + if not dist_utils.is_dist_avail_and_initialized(): + return + t = torch.tensor([self.count, self.total], dtype=torch.float64, device="cuda") + dist.barrier() + dist.all_reduce(t) + t = t.tolist() + self.count = int(t[0]) + self.total = t[1] + + @property + def median(self): + d = torch.tensor(list(self.deque)) + return d.median().item() + + @property + def avg(self): + d = torch.tensor(list(self.deque), dtype=torch.float32) + return d.mean().item() + + @property + def global_avg(self): + return self.total / self.count + + @property + def max(self): + return max(self.deque) + + @property + def value(self): + return self.deque[-1] + + def __str__(self): + return self.fmt.format( + median=self.median, + avg=self.avg, + global_avg=self.global_avg, + max=self.max, + value=self.value, + ) + + +class MetricLogger(object): + def __init__(self, delimiter="\t"): + self.meters = defaultdict(SmoothedValue) + self.delimiter = delimiter + + def update(self, **kwargs): + for k, v in kwargs.items(): + if isinstance(v, torch.Tensor): + v = v.item() + assert isinstance(v, (float, int)) + self.meters[k].update(v) + + def __getattr__(self, attr): + if attr in self.meters: + return self.meters[attr] + if attr in self.__dict__: + return self.__dict__[attr] + raise AttributeError( + "'{}' object has no attribute '{}'".format(type(self).__name__, attr) + ) + + def __str__(self): + loss_str = [] + for name, meter in self.meters.items(): + loss_str.append("{}: {}".format(name, str(meter))) + return self.delimiter.join(loss_str) + + def global_avg(self): + loss_str = [] + for name, meter in self.meters.items(): + loss_str.append("{}: {:.4f}".format(name, meter.global_avg)) + return self.delimiter.join(loss_str) + + def synchronize_between_processes(self): + for meter in self.meters.values(): + meter.synchronize_between_processes() + + def add_meter(self, name, meter): + self.meters[name] = meter + + def log_every(self, iterable, print_freq, header=None): + i = 0 + if not header: + header = "" + start_time = time.time() + end = time.time() + iter_time = SmoothedValue(fmt="{avg:.4f}") + data_time = SmoothedValue(fmt="{avg:.4f}") + space_fmt = ":" + str(len(str(len(iterable)))) + "d" + log_msg = [ + header, + "[{0" + space_fmt + "}/{1}]", + "eta: {eta}", + "{meters}", + "time: {time}", + "data: {data}", + ] + if torch.cuda.is_available(): + log_msg.append("max mem: {memory:.0f}") + log_msg = self.delimiter.join(log_msg) + MB = 1024.0 * 1024.0 + for obj in iterable: + data_time.update(time.time() - end) + yield obj + iter_time.update(time.time() - end) + if i % print_freq == 0 or i == len(iterable) - 1: + eta_seconds = iter_time.global_avg * (len(iterable) - i) + eta_string = str(datetime.timedelta(seconds=int(eta_seconds))) + if torch.cuda.is_available(): + print( + log_msg.format( + i, + len(iterable), + eta=eta_string, + meters=str(self), + time=str(iter_time), + data=str(data_time), + memory=torch.cuda.max_memory_allocated() / MB, + ) + ) + else: + print( + log_msg.format( + i, + len(iterable), + eta=eta_string, + meters=str(self), + time=str(iter_time), + data=str(data_time), + ) + ) + i += 1 + end = time.time() + total_time = time.time() - start_time + total_time_str = str(datetime.timedelta(seconds=int(total_time))) + print( + "{} Total time: {} ({:.4f} s / it)".format( + header, total_time_str, total_time / len(iterable) + ) + ) + + +class AttrDict(dict): + def __init__(self, *args, **kwargs): + super(AttrDict, self).__init__(*args, **kwargs) + self.__dict__ = self + + +def setup_logger(): + logging.basicConfig( + level=logging.INFO if dist_utils.is_main_process() else logging.WARN, + format="%(asctime)s [%(levelname)s] %(message)s", + handlers=[logging.StreamHandler()], + ) diff --git a/video_llama/common/optims.py b/video_llama/common/optims.py new file mode 100644 index 0000000000000000000000000000000000000000..b466e38dc4ceba80ea54759ba608b7281c583bed --- /dev/null +++ b/video_llama/common/optims.py @@ -0,0 +1,119 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import math + +from video_llama.common.registry import registry + + +@registry.register_lr_scheduler("linear_warmup_step_lr") +class LinearWarmupStepLRScheduler: + def __init__( + self, + optimizer, + max_epoch, + min_lr, + init_lr, + decay_rate=1, + warmup_start_lr=-1, + warmup_steps=0, + **kwargs + ): + self.optimizer = optimizer + + self.max_epoch = max_epoch + self.min_lr = min_lr + + self.decay_rate = decay_rate + + self.init_lr = init_lr + self.warmup_steps = warmup_steps + self.warmup_start_lr = warmup_start_lr if warmup_start_lr >= 0 else init_lr + + def step(self, cur_epoch, cur_step): + if cur_epoch == 0: + warmup_lr_schedule( + step=cur_step, + optimizer=self.optimizer, + max_step=self.warmup_steps, + init_lr=self.warmup_start_lr, + max_lr=self.init_lr, + ) + else: + step_lr_schedule( + epoch=cur_epoch, + optimizer=self.optimizer, + init_lr=self.init_lr, + min_lr=self.min_lr, + decay_rate=self.decay_rate, + ) + + +@registry.register_lr_scheduler("linear_warmup_cosine_lr") +class LinearWarmupCosineLRScheduler: + def __init__( + self, + optimizer, + max_epoch, + iters_per_epoch, + min_lr, + init_lr, + warmup_steps=0, + warmup_start_lr=-1, + **kwargs + ): + self.optimizer = optimizer + + self.max_epoch = max_epoch + self.iters_per_epoch = iters_per_epoch + self.min_lr = min_lr + + self.init_lr = init_lr + self.warmup_steps = warmup_steps + self.warmup_start_lr = warmup_start_lr if warmup_start_lr >= 0 else init_lr + + def step(self, cur_epoch, cur_step): + total_cur_step = cur_epoch * self.iters_per_epoch + cur_step + if total_cur_step < self.warmup_steps: + warmup_lr_schedule( + step=cur_step, + optimizer=self.optimizer, + max_step=self.warmup_steps, + init_lr=self.warmup_start_lr, + max_lr=self.init_lr, + ) + else: + cosine_lr_schedule( + epoch=total_cur_step, + optimizer=self.optimizer, + max_epoch=self.max_epoch * self.iters_per_epoch, + init_lr=self.init_lr, + min_lr=self.min_lr, + ) + + +def cosine_lr_schedule(optimizer, epoch, max_epoch, init_lr, min_lr): + """Decay the learning rate""" + lr = (init_lr - min_lr) * 0.5 * ( + 1.0 + math.cos(math.pi * epoch / max_epoch) + ) + min_lr + for param_group in optimizer.param_groups: + param_group["lr"] = lr + + +def warmup_lr_schedule(optimizer, step, max_step, init_lr, max_lr): + """Warmup the learning rate""" + lr = min(max_lr, init_lr + (max_lr - init_lr) * step / max(max_step, 1)) + for param_group in optimizer.param_groups: + param_group["lr"] = lr + + +def step_lr_schedule(optimizer, epoch, init_lr, min_lr, decay_rate): + """Decay the learning rate""" + lr = max(min_lr, init_lr * (decay_rate**epoch)) + for param_group in optimizer.param_groups: + param_group["lr"] = lr diff --git a/video_llama/common/registry.py b/video_llama/common/registry.py new file mode 100644 index 0000000000000000000000000000000000000000..d0d0171ceb39123c7402a554eb8543ce55ff6881 --- /dev/null +++ b/video_llama/common/registry.py @@ -0,0 +1,329 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + + +class Registry: + mapping = { + "builder_name_mapping": {}, + "task_name_mapping": {}, + "processor_name_mapping": {}, + "model_name_mapping": {}, + "lr_scheduler_name_mapping": {}, + "runner_name_mapping": {}, + "state": {}, + "paths": {}, + } + + @classmethod + def register_builder(cls, name): + r"""Register a dataset builder to registry with key 'name' + + Args: + name: Key with which the builder will be registered. + + Usage: + + from video_llama.common.registry import registry + from video_llama.datasets.base_dataset_builder import BaseDatasetBuilder + """ + + def wrap(builder_cls): + from video_llama.datasets.builders.base_dataset_builder import BaseDatasetBuilder + + assert issubclass( + builder_cls, BaseDatasetBuilder + ), "All builders must inherit BaseDatasetBuilder class, found {}".format( + builder_cls + ) + if name in cls.mapping["builder_name_mapping"]: + raise KeyError( + "Name '{}' already registered for {}.".format( + name, cls.mapping["builder_name_mapping"][name] + ) + ) + cls.mapping["builder_name_mapping"][name] = builder_cls + return builder_cls + + return wrap + + @classmethod + def register_task(cls, name): + r"""Register a task to registry with key 'name' + + Args: + name: Key with which the task will be registered. + + Usage: + + from video_llama.common.registry import registry + """ + + def wrap(task_cls): + from video_llama.tasks.base_task import BaseTask + + assert issubclass( + task_cls, BaseTask + ), "All tasks must inherit BaseTask class" + if name in cls.mapping["task_name_mapping"]: + raise KeyError( + "Name '{}' already registered for {}.".format( + name, cls.mapping["task_name_mapping"][name] + ) + ) + cls.mapping["task_name_mapping"][name] = task_cls + return task_cls + + return wrap + + @classmethod + def register_model(cls, name): + r"""Register a task to registry with key 'name' + + Args: + name: Key with which the task will be registered. + + Usage: + + from video_llama.common.registry import registry + """ + + def wrap(model_cls): + from video_llama.models import BaseModel + + assert issubclass( + model_cls, BaseModel + ), "All models must inherit BaseModel class" + if name in cls.mapping["model_name_mapping"]: + raise KeyError( + "Name '{}' already registered for {}.".format( + name, cls.mapping["model_name_mapping"][name] + ) + ) + cls.mapping["model_name_mapping"][name] = model_cls + return model_cls + + return wrap + + @classmethod + def register_processor(cls, name): + r"""Register a processor to registry with key 'name' + + Args: + name: Key with which the task will be registered. + + Usage: + + from video_llama.common.registry import registry + """ + + def wrap(processor_cls): + from video_llama.processors import BaseProcessor + + assert issubclass( + processor_cls, BaseProcessor + ), "All processors must inherit BaseProcessor class" + if name in cls.mapping["processor_name_mapping"]: + raise KeyError( + "Name '{}' already registered for {}.".format( + name, cls.mapping["processor_name_mapping"][name] + ) + ) + cls.mapping["processor_name_mapping"][name] = processor_cls + return processor_cls + + return wrap + + @classmethod + def register_lr_scheduler(cls, name): + r"""Register a model to registry with key 'name' + + Args: + name: Key with which the task will be registered. + + Usage: + + from video_llama.common.registry import registry + """ + + def wrap(lr_sched_cls): + if name in cls.mapping["lr_scheduler_name_mapping"]: + raise KeyError( + "Name '{}' already registered for {}.".format( + name, cls.mapping["lr_scheduler_name_mapping"][name] + ) + ) + cls.mapping["lr_scheduler_name_mapping"][name] = lr_sched_cls + return lr_sched_cls + + return wrap + + @classmethod + def register_runner(cls, name): + r"""Register a model to registry with key 'name' + + Args: + name: Key with which the task will be registered. + + Usage: + + from video_llama.common.registry import registry + """ + + def wrap(runner_cls): + if name in cls.mapping["runner_name_mapping"]: + raise KeyError( + "Name '{}' already registered for {}.".format( + name, cls.mapping["runner_name_mapping"][name] + ) + ) + cls.mapping["runner_name_mapping"][name] = runner_cls + return runner_cls + + return wrap + + @classmethod + def register_path(cls, name, path): + r"""Register a path to registry with key 'name' + + Args: + name: Key with which the path will be registered. + + Usage: + + from video_llama.common.registry import registry + """ + assert isinstance(path, str), "All path must be str." + if name in cls.mapping["paths"]: + raise KeyError("Name '{}' already registered.".format(name)) + cls.mapping["paths"][name] = path + + @classmethod + def register(cls, name, obj): + r"""Register an item to registry with key 'name' + + Args: + name: Key with which the item will be registered. + + Usage:: + + from video_llama.common.registry import registry + + registry.register("config", {}) + """ + path = name.split(".") + current = cls.mapping["state"] + + for part in path[:-1]: + if part not in current: + current[part] = {} + current = current[part] + + current[path[-1]] = obj + + # @classmethod + # def get_trainer_class(cls, name): + # return cls.mapping["trainer_name_mapping"].get(name, None) + + @classmethod + def get_builder_class(cls, name): + return cls.mapping["builder_name_mapping"].get(name, None) + + @classmethod + def get_model_class(cls, name): + return cls.mapping["model_name_mapping"].get(name, None) + + @classmethod + def get_task_class(cls, name): + return cls.mapping["task_name_mapping"].get(name, None) + + @classmethod + def get_processor_class(cls, name): + return cls.mapping["processor_name_mapping"].get(name, None) + + @classmethod + def get_lr_scheduler_class(cls, name): + return cls.mapping["lr_scheduler_name_mapping"].get(name, None) + + @classmethod + def get_runner_class(cls, name): + return cls.mapping["runner_name_mapping"].get(name, None) + + @classmethod + def list_runners(cls): + return sorted(cls.mapping["runner_name_mapping"].keys()) + + @classmethod + def list_models(cls): + return sorted(cls.mapping["model_name_mapping"].keys()) + + @classmethod + def list_tasks(cls): + return sorted(cls.mapping["task_name_mapping"].keys()) + + @classmethod + def list_processors(cls): + return sorted(cls.mapping["processor_name_mapping"].keys()) + + @classmethod + def list_lr_schedulers(cls): + return sorted(cls.mapping["lr_scheduler_name_mapping"].keys()) + + @classmethod + def list_datasets(cls): + return sorted(cls.mapping["builder_name_mapping"].keys()) + + @classmethod + def get_path(cls, name): + return cls.mapping["paths"].get(name, None) + + @classmethod + def get(cls, name, default=None, no_warning=False): + r"""Get an item from registry with key 'name' + + Args: + name (string): Key whose value needs to be retrieved. + default: If passed and key is not in registry, default value will + be returned with a warning. Default: None + no_warning (bool): If passed as True, warning when key doesn't exist + will not be generated. Useful for MMF's + internal operations. Default: False + """ + original_name = name + name = name.split(".") + value = cls.mapping["state"] + for subname in name: + value = value.get(subname, default) + if value is default: + break + + if ( + "writer" in cls.mapping["state"] + and value == default + and no_warning is False + ): + cls.mapping["state"]["writer"].warning( + "Key {} is not present in registry, returning default value " + "of {}".format(original_name, default) + ) + return value + + @classmethod + def unregister(cls, name): + r"""Remove an item from registry with key 'name' + + Args: + name: Key which needs to be removed. + Usage:: + + from mmf.common.registry import registry + + config = registry.unregister("config") + """ + return cls.mapping["state"].pop(name, None) + + +registry = Registry() diff --git a/video_llama/common/utils.py b/video_llama/common/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..f1768fcdfd73b057877a7b0a7c1f10a3aa057caa --- /dev/null +++ b/video_llama/common/utils.py @@ -0,0 +1,424 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import io +import json +import logging +import os +import pickle +import re +import shutil +import urllib +import urllib.error +import urllib.request +from typing import Optional +from urllib.parse import urlparse + +import numpy as np +import pandas as pd +import yaml +from iopath.common.download import download +from iopath.common.file_io import file_lock, g_pathmgr +from video_llama.common.registry import registry +from torch.utils.model_zoo import tqdm +from torchvision.datasets.utils import ( + check_integrity, + download_file_from_google_drive, + extract_archive, +) + + +def now(): + from datetime import datetime + + return datetime.now().strftime("%Y%m%d%H%M")[:-1] + + +def is_url(url_or_filename): + parsed = urlparse(url_or_filename) + return parsed.scheme in ("http", "https") + + +def get_cache_path(rel_path): + return os.path.expanduser(os.path.join(registry.get_path("cache_root"), rel_path)) + + +def get_abs_path(rel_path): + return os.path.join(registry.get_path("library_root"), rel_path) + + +def load_json(filename): + with open(filename, "r") as f: + return json.load(f) + + +# The following are adapted from torchvision and vissl +# torchvision: https://github.com/pytorch/vision +# vissl: https://github.com/facebookresearch/vissl/blob/main/vissl/utils/download.py + + +def makedir(dir_path): + """ + Create the directory if it does not exist. + """ + is_success = False + try: + if not g_pathmgr.exists(dir_path): + g_pathmgr.mkdirs(dir_path) + is_success = True + except BaseException: + print(f"Error creating directory: {dir_path}") + return is_success + + +def get_redirected_url(url: str): + """ + Given a URL, returns the URL it redirects to or the + original URL in case of no indirection + """ + import requests + + with requests.Session() as session: + with session.get(url, stream=True, allow_redirects=True) as response: + if response.history: + return response.url + else: + return url + + +def to_google_drive_download_url(view_url: str) -> str: + """ + Utility function to transform a view URL of google drive + to a download URL for google drive + Example input: + https://drive.google.com/file/d/137RyRjvTBkBiIfeYBNZBtViDHQ6_Ewsp/view + Example output: + https://drive.google.com/uc?export=download&id=137RyRjvTBkBiIfeYBNZBtViDHQ6_Ewsp + """ + splits = view_url.split("/") + assert splits[-1] == "view" + file_id = splits[-2] + return f"https://drive.google.com/uc?export=download&id={file_id}" + + +def download_google_drive_url(url: str, output_path: str, output_file_name: str): + """ + Download a file from google drive + Downloading an URL from google drive requires confirmation when + the file of the size is too big (google drive notifies that + anti-viral checks cannot be performed on such files) + """ + import requests + + with requests.Session() as session: + + # First get the confirmation token and append it to the URL + with session.get(url, stream=True, allow_redirects=True) as response: + for k, v in response.cookies.items(): + if k.startswith("download_warning"): + url = url + "&confirm=" + v + + # Then download the content of the file + with session.get(url, stream=True, verify=True) as response: + makedir(output_path) + path = os.path.join(output_path, output_file_name) + total_size = int(response.headers.get("Content-length", 0)) + with open(path, "wb") as file: + from tqdm import tqdm + + with tqdm(total=total_size) as progress_bar: + for block in response.iter_content( + chunk_size=io.DEFAULT_BUFFER_SIZE + ): + file.write(block) + progress_bar.update(len(block)) + + +def _get_google_drive_file_id(url: str) -> Optional[str]: + parts = urlparse(url) + + if re.match(r"(drive|docs)[.]google[.]com", parts.netloc) is None: + return None + + match = re.match(r"/file/d/(?P[^/]*)", parts.path) + if match is None: + return None + + return match.group("id") + + +def _urlretrieve(url: str, filename: str, chunk_size: int = 1024) -> None: + with open(filename, "wb") as fh: + with urllib.request.urlopen( + urllib.request.Request(url, headers={"User-Agent": "vissl"}) + ) as response: + with tqdm(total=response.length) as pbar: + for chunk in iter(lambda: response.read(chunk_size), ""): + if not chunk: + break + pbar.update(chunk_size) + fh.write(chunk) + + +def download_url( + url: str, + root: str, + filename: Optional[str] = None, + md5: Optional[str] = None, +) -> None: + """Download a file from a url and place it in root. + Args: + url (str): URL to download file from + root (str): Directory to place downloaded file in + filename (str, optional): Name to save the file under. + If None, use the basename of the URL. + md5 (str, optional): MD5 checksum of the download. If None, do not check + """ + root = os.path.expanduser(root) + if not filename: + filename = os.path.basename(url) + fpath = os.path.join(root, filename) + + makedir(root) + + # check if file is already present locally + if check_integrity(fpath, md5): + print("Using downloaded and verified file: " + fpath) + return + + # expand redirect chain if needed + url = get_redirected_url(url) + + # check if file is located on Google Drive + file_id = _get_google_drive_file_id(url) + if file_id is not None: + return download_file_from_google_drive(file_id, root, filename, md5) + + # download the file + try: + print("Downloading " + url + " to " + fpath) + _urlretrieve(url, fpath) + except (urllib.error.URLError, IOError) as e: # type: ignore[attr-defined] + if url[:5] == "https": + url = url.replace("https:", "http:") + print( + "Failed download. Trying https -> http instead." + " Downloading " + url + " to " + fpath + ) + _urlretrieve(url, fpath) + else: + raise e + + # check integrity of downloaded file + if not check_integrity(fpath, md5): + raise RuntimeError("File not found or corrupted.") + + +def download_and_extract_archive( + url: str, + download_root: str, + extract_root: Optional[str] = None, + filename: Optional[str] = None, + md5: Optional[str] = None, + remove_finished: bool = False, +) -> None: + download_root = os.path.expanduser(download_root) + if extract_root is None: + extract_root = download_root + if not filename: + filename = os.path.basename(url) + + download_url(url, download_root, filename, md5) + + archive = os.path.join(download_root, filename) + print("Extracting {} to {}".format(archive, extract_root)) + extract_archive(archive, extract_root, remove_finished) + + +def cache_url(url: str, cache_dir: str) -> str: + """ + This implementation downloads the remote resource and caches it locally. + The resource will only be downloaded if not previously requested. + """ + parsed_url = urlparse(url) + dirname = os.path.join(cache_dir, os.path.dirname(parsed_url.path.lstrip("/"))) + makedir(dirname) + filename = url.split("/")[-1] + cached = os.path.join(dirname, filename) + with file_lock(cached): + if not os.path.isfile(cached): + logging.info(f"Downloading {url} to {cached} ...") + cached = download(url, dirname, filename=filename) + logging.info(f"URL {url} cached in {cached}") + return cached + + +# TODO (prigoyal): convert this into RAII-style API +def create_file_symlink(file1, file2): + """ + Simply create the symlinks for a given file1 to file2. + Useful during model checkpointing to symlinks to the + latest successful checkpoint. + """ + try: + if g_pathmgr.exists(file2): + g_pathmgr.rm(file2) + g_pathmgr.symlink(file1, file2) + except Exception as e: + logging.info(f"Could NOT create symlink. Error: {e}") + + +def save_file(data, filename, append_to_json=True, verbose=True): + """ + Common i/o utility to handle saving data to various file formats. + Supported: + .pkl, .pickle, .npy, .json + Specifically for .json, users have the option to either append (default) + or rewrite by passing in Boolean value to append_to_json. + """ + if verbose: + logging.info(f"Saving data to file: {filename}") + file_ext = os.path.splitext(filename)[1] + if file_ext in [".pkl", ".pickle"]: + with g_pathmgr.open(filename, "wb") as fopen: + pickle.dump(data, fopen, pickle.HIGHEST_PROTOCOL) + elif file_ext == ".npy": + with g_pathmgr.open(filename, "wb") as fopen: + np.save(fopen, data) + elif file_ext == ".json": + if append_to_json: + with g_pathmgr.open(filename, "a") as fopen: + fopen.write(json.dumps(data, sort_keys=True) + "\n") + fopen.flush() + else: + with g_pathmgr.open(filename, "w") as fopen: + fopen.write(json.dumps(data, sort_keys=True) + "\n") + fopen.flush() + elif file_ext == ".yaml": + with g_pathmgr.open(filename, "w") as fopen: + dump = yaml.dump(data) + fopen.write(dump) + fopen.flush() + else: + raise Exception(f"Saving {file_ext} is not supported yet") + + if verbose: + logging.info(f"Saved data to file: {filename}") + + +def load_file(filename, mmap_mode=None, verbose=True, allow_pickle=False): + """ + Common i/o utility to handle loading data from various file formats. + Supported: + .pkl, .pickle, .npy, .json + For the npy files, we support reading the files in mmap_mode. + If the mmap_mode of reading is not successful, we load data without the + mmap_mode. + """ + if verbose: + logging.info(f"Loading data from file: {filename}") + + file_ext = os.path.splitext(filename)[1] + if file_ext == ".txt": + with g_pathmgr.open(filename, "r") as fopen: + data = fopen.readlines() + elif file_ext in [".pkl", ".pickle"]: + with g_pathmgr.open(filename, "rb") as fopen: + data = pickle.load(fopen, encoding="latin1") + elif file_ext == ".npy": + if mmap_mode: + try: + with g_pathmgr.open(filename, "rb") as fopen: + data = np.load( + fopen, + allow_pickle=allow_pickle, + encoding="latin1", + mmap_mode=mmap_mode, + ) + except ValueError as e: + logging.info( + f"Could not mmap {filename}: {e}. Trying without g_pathmgr" + ) + data = np.load( + filename, + allow_pickle=allow_pickle, + encoding="latin1", + mmap_mode=mmap_mode, + ) + logging.info("Successfully loaded without g_pathmgr") + except Exception: + logging.info("Could not mmap without g_pathmgr. Trying without mmap") + with g_pathmgr.open(filename, "rb") as fopen: + data = np.load(fopen, allow_pickle=allow_pickle, encoding="latin1") + else: + with g_pathmgr.open(filename, "rb") as fopen: + data = np.load(fopen, allow_pickle=allow_pickle, encoding="latin1") + elif file_ext == ".json": + with g_pathmgr.open(filename, "r") as fopen: + data = json.load(fopen) + elif file_ext == ".yaml": + with g_pathmgr.open(filename, "r") as fopen: + data = yaml.load(fopen, Loader=yaml.FullLoader) + elif file_ext == ".csv": + with g_pathmgr.open(filename, "r") as fopen: + data = pd.read_csv(fopen) + else: + raise Exception(f"Reading from {file_ext} is not supported yet") + return data + + +def abspath(resource_path: str): + """ + Make a path absolute, but take into account prefixes like + "http://" or "manifold://" + """ + regex = re.compile(r"^\w+://") + if regex.match(resource_path) is None: + return os.path.abspath(resource_path) + else: + return resource_path + + +def makedir(dir_path): + """ + Create the directory if it does not exist. + """ + is_success = False + try: + if not g_pathmgr.exists(dir_path): + g_pathmgr.mkdirs(dir_path) + is_success = True + except BaseException: + logging.info(f"Error creating directory: {dir_path}") + return is_success + + +def is_url(input_url): + """ + Check if an input string is a url. look for http(s):// and ignoring the case + """ + is_url = re.match(r"^(?:http)s?://", input_url, re.IGNORECASE) is not None + return is_url + + +def cleanup_dir(dir): + """ + Utility for deleting a directory. Useful for cleaning the storage space + that contains various training artifacts like checkpoints, data etc. + """ + if os.path.exists(dir): + logging.info(f"Deleting directory: {dir}") + shutil.rmtree(dir) + logging.info(f"Deleted contents of directory: {dir}") + + +def get_file_size(filename): + """ + Given a file, get the size of file in MB + """ + size_in_mb = os.path.getsize(filename) / float(1024**2) + return size_in_mb diff --git a/video_llama/configs/datasets/cc_sbu/align.yaml b/video_llama/configs/datasets/cc_sbu/align.yaml new file mode 100644 index 0000000000000000000000000000000000000000..180ea8ff0a3548219165e8864d4a59a951206298 --- /dev/null +++ b/video_llama/configs/datasets/cc_sbu/align.yaml @@ -0,0 +1,5 @@ +datasets: + cc_sbu_align: + data_type: images + build_info: + storage: /path/to/cc_sbu_align_dataset diff --git a/video_llama/configs/datasets/cc_sbu/defaults.yaml b/video_llama/configs/datasets/cc_sbu/defaults.yaml new file mode 100644 index 0000000000000000000000000000000000000000..359de601d2511acd6cac34e7ee1c20a1dfe9ae04 --- /dev/null +++ b/video_llama/configs/datasets/cc_sbu/defaults.yaml @@ -0,0 +1,5 @@ +datasets: + cc_sbu: + data_type: images + build_info: + storage: /path/to/cc_sbu_dataset/{00000..00001}.tar diff --git a/video_llama/configs/datasets/instruct/llava_instruct.yaml b/video_llama/configs/datasets/instruct/llava_instruct.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0ec4a938e299f98f6d84104c909da210385003af --- /dev/null +++ b/video_llama/configs/datasets/instruct/llava_instruct.yaml @@ -0,0 +1,6 @@ +datasets: + llava_instruct: + data_type: image + build_info: + anno_dir: /path/llava_instruct_150k.json + videos_dir: /path/train2014/train2014/ diff --git a/video_llama/configs/datasets/instruct/webvid_instruct.yaml b/video_llama/configs/datasets/instruct/webvid_instruct.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9619106ad8cb1000c3c40fa48672fb9247988d74 --- /dev/null +++ b/video_llama/configs/datasets/instruct/webvid_instruct.yaml @@ -0,0 +1,6 @@ +datasets: + webvid_instruct: + data_type: image + build_info: + anno_dir: /path/webvid_align/videochat_instruct_11k.json + videos_dir: /path/webvid_align/videos/ diff --git a/video_llama/configs/datasets/laion/defaults.yaml b/video_llama/configs/datasets/laion/defaults.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7dfff3ba891d96a136510f34b1dcf1b774705f4a --- /dev/null +++ b/video_llama/configs/datasets/laion/defaults.yaml @@ -0,0 +1,5 @@ +datasets: + laion: + data_type: images + build_info: + storage: path/laion/laion_dataset/{00000..00001}.tar diff --git a/video_llama/configs/datasets/webvid/defaults.yaml b/video_llama/configs/datasets/webvid/defaults.yaml new file mode 100644 index 0000000000000000000000000000000000000000..046ae32dde61e2d79d1f519e1c8c653d8e2b5886 --- /dev/null +++ b/video_llama/configs/datasets/webvid/defaults.yaml @@ -0,0 +1,6 @@ +datasets: + webvid: + data_type: video + build_info: + anno_dir: path/webvid/webvid_tain_data/annotations/ + videos_dir: path//webvid/webvid_tain_data/videos/ diff --git a/video_llama/configs/default.yaml b/video_llama/configs/default.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ff5a6a23fa2e3914938631b96c71fdf723dbbc10 --- /dev/null +++ b/video_llama/configs/default.yaml @@ -0,0 +1,5 @@ +env: + # For default users + # cache_root: "cache" + # For internal use with persistent storage + cache_root: "/export/home/.cache/minigpt4" diff --git a/video_llama/configs/models/minigpt4.yaml b/video_llama/configs/models/minigpt4.yaml new file mode 100644 index 0000000000000000000000000000000000000000..358c3f5f7b53251c607ea490ee262a890e531dc6 --- /dev/null +++ b/video_llama/configs/models/minigpt4.yaml @@ -0,0 +1,33 @@ +model: + arch: mini_gpt4 + + # vit encoder + image_size: 224 + drop_path_rate: 0 + use_grad_checkpoint: False + vit_precision: "fp16" + freeze_vit: True + freeze_qformer: True + + # Q-Former + num_query_token: 32 + + # Vicuna + llama_model: "ckpt/vicuna-13b/" + + # generation configs + prompt: "" + +preprocess: + vis_processor: + train: + name: "blip2_image_train" + image_size: 224 + eval: + name: "blip2_image_eval" + image_size: 224 + text_processor: + train: + name: "blip_caption" + eval: + name: "blip_caption" diff --git a/video_llama/configs/models/video_llama.yaml b/video_llama/configs/models/video_llama.yaml new file mode 100644 index 0000000000000000000000000000000000000000..27ce07c3fbaa5a867279572c5b7d1dc31d469791 --- /dev/null +++ b/video_llama/configs/models/video_llama.yaml @@ -0,0 +1,36 @@ +model: + arch: video_llama + + # vit encoder + image_size: 224 + drop_path_rate: 0 + use_grad_checkpoint: False + vit_precision: "fp16" + freeze_vit: True + freeze_qformer: True + + # Q-Former + num_query_token: 32 + + # Vicuna + llama_model: "ckpt/vicuna-7b/" + + # generation configs + prompt: "" + +preprocess: + vis_processor: + train: + name: "alpro_video_train" + image_size: 224 + n_frms: 8 + eval: + name: "alpro_video_eval" + image_size: 224 + n_frms: 8 + text_processor: + train: + name: "blip_caption" + eval: + name: "blip_caption" + \ No newline at end of file diff --git a/video_llama/conversation/__init__.py b/video_llama/conversation/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/video_llama/conversation/__pycache__/__init__.cpython-39.pyc b/video_llama/conversation/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aaf98d99633d77e09dfae33c544cf72d4828b696 Binary files /dev/null and b/video_llama/conversation/__pycache__/__init__.cpython-39.pyc differ diff --git a/video_llama/conversation/__pycache__/conversation_video.cpython-39.pyc b/video_llama/conversation/__pycache__/conversation_video.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ceeea6f3c96147da8e7e4efbadfa175d071d77fa Binary files /dev/null and b/video_llama/conversation/__pycache__/conversation_video.cpython-39.pyc differ diff --git a/video_llama/conversation/conversation_video.py b/video_llama/conversation/conversation_video.py new file mode 100644 index 0000000000000000000000000000000000000000..32d9294b8b1a824aa6bd7e6d6a5676bc4d384158 --- /dev/null +++ b/video_llama/conversation/conversation_video.py @@ -0,0 +1,348 @@ +""" +Conversation prompt template of Video-LLaMA. +Adapted from: https://github.com/Vision-CAIR/MiniGPT-4/blob/main/minigpt4/conversation/conversation.py +""" +import argparse +import time +from PIL import Image +import sys +import os +import torch +from transformers import AutoTokenizer, AutoModelForCausalLM, LlamaTokenizer +from transformers import StoppingCriteria, StoppingCriteriaList + +import dataclasses +from enum import auto, Enum +from typing import List, Tuple, Any +import os +from video_llama.common.registry import registry +from video_llama.processors.video_processor import ToTHWC,ToUint8,load_video +from video_llama.processors import Blip2ImageEvalProcessor + +from video_llama.models.ImageBind.data import load_and_transform_audio_data +class SeparatorStyle(Enum): + """Different separator style.""" + SINGLE = auto() + TWO = auto() + LLAMA_2 = auto() + + +@dataclasses.dataclass +class Conversation: + """A class that keeps all conversation history.""" + system: str + roles: List[str] + messages: List[List[str]] + offset: int + # system_img: List[Image.Image] = [] + sep_style: SeparatorStyle = SeparatorStyle.SINGLE + sep: str = "###" + sep2: str = None + + skip_next: bool = False + conv_id: Any = None + + def get_prompt(self): + if self.sep_style == SeparatorStyle.SINGLE: + ret = self.system + self.sep + for role, message in self.messages: + if message: + ret += role + ": " + message + self.sep + else: + ret += role + ":" + return ret + elif self.sep_style == SeparatorStyle.TWO: + seps = [self.sep, self.sep2] + ret = self.system + seps[0] + for i, (role, message) in enumerate(self.messages): + if message: + ret += role + ": " + message + seps[i % 2] + else: + ret += role + ":" + return ret + elif self.sep_style == SeparatorStyle.LLAMA_2: + wrap_sys = lambda msg: f"<>\n{msg}\n<>\n\n" + wrap_inst = lambda msg: f"[INST] {msg} [/INST]" + ret = "" + + for i, (role, message) in enumerate(self.messages): + if i == 0: + assert message, "first message should not be none" + assert role == self.roles[0], "first message should come from user" + if message: + if type(message) is tuple: + message, _, _ = message + if i == 0: message = wrap_sys(self.system) + message + if i % 2 == 0: + message = wrap_inst(message) + ret += self.sep + message + else: + ret += " " + message + " " + self.sep2 + else: + ret += "" + ret = ret.lstrip(self.sep) + return ret + else: + raise ValueError(f"Invalid style: {self.sep_style}") + + def append_message(self, role, message): + self.messages.append([role, message]) + + def to_gradio_chatbot(self): + ret = [] + for i, (role, msg) in enumerate(self.messages[self.offset:]): + if i % 2 == 0: + ret.append([msg, None]) + else: + ret[-1][-1] = msg + return ret + + def copy(self): + return Conversation( + system=self.system, + # system_img=self.system_img, + roles=self.roles, + messages=[[x, y] for x, y in self.messages], + offset=self.offset, + sep_style=self.sep_style, + sep=self.sep, + sep2=self.sep2, + conv_id=self.conv_id) + + def dict(self): + return { + "system": self.system, + # "system_img": self.system_img, + "roles": self.roles, + "messages": self.messages, + "offset": self.offset, + "sep": self.sep, + "sep2": self.sep2, + "conv_id": self.conv_id, + } + + +class StoppingCriteriaSub(StoppingCriteria): + + def __init__(self, stops=[], encounters=1): + super().__init__() + self.stops = stops + + def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor): + for stop in self.stops: + if torch.all((stop == input_ids[0][-len(stop):])).item(): + return True + + return False + + +CONV_VISION = Conversation( + system="Give the following image: ImageContent. " + "You will be able to see the image once I provide it to you. Please answer my questions.", + roles=("Human", "Assistant"), + messages=[], + offset=0, + sep_style=SeparatorStyle.SINGLE, + sep="###", +) + +default_conversation = Conversation( + system="", + roles=("Human", "Assistant"), + messages=[], + offset=0, + sep_style=SeparatorStyle.SINGLE, + sep="###", +) +conv_llava_llama_2 = Conversation( + system="You are a helpful language and vision assistant. " + "You are able to understand the visual content that the user provides, " + "and assist the user with a variety of tasks using natural language.", + roles=("USER", "ASSISTANT"), + messages=(), + offset=0, + sep_style=SeparatorStyle.LLAMA_2, + sep="", + sep2="", +) +class Chat: + def __init__(self, model, vis_processor, device='cuda:0'): + self.device = device + self.model = model + self.vis_processor = vis_processor + self.image_vis_processor = Blip2ImageEvalProcessor() + # stop_words_ids = [torch.tensor([835]).to(self.device), + # torch.tensor([2277, 29937]).to(self.device)] # '###' can be encoded in two different ways. + # self.stopping_criteria = StoppingCriteriaList([StoppingCriteriaSub(stops=stop_words_ids)]) + + def ask(self, text, conv): + if len(conv.messages) > 0 and conv.messages[-1][0] == conv.roles[0] \ + and ('' in conv.messages[-1][1] or '' in conv.messages[-1][1]): # last message is image. + conv.messages[-1][1] = ' '.join([conv.messages[-1][1], text]) + else: + conv.append_message(conv.roles[0], text) + + def answer(self, conv, img_list, max_new_tokens=300, num_beams=1, min_length=1, top_p=0.9, + repetition_penalty=1.0, length_penalty=1, temperature=1.0, max_length=2000): + conv.append_message(conv.roles[1], None) + embs = self.get_context_emb(conv, img_list) + + current_max_len = embs.shape[1] + max_new_tokens + if current_max_len - max_length > 0: + print('Warning: The number of tokens in current conversation exceeds the max length. ' + 'The model will not see the contexts outside the range.') + begin_idx = max(0, current_max_len - max_length) + + embs = embs[:, begin_idx:] + if conv.sep =="###": + stop_words_ids = [torch.tensor([835]).to(self.device), + torch.tensor([2277, 29937]).to(self.device)] # '###' can be encoded in two different ways. + stopping_criteria = StoppingCriteriaList([StoppingCriteriaSub(stops=stop_words_ids)]) + else: + stop_words_ids = [torch.tensor([2]).to(self.device)] + stopping_criteria = StoppingCriteriaList([StoppingCriteriaSub(stops=stop_words_ids)]) + + # stopping_criteria + outputs = self.model.llama_model.generate( + inputs_embeds=embs, + max_new_tokens=max_new_tokens, + stopping_criteria=stopping_criteria, + num_beams=num_beams, + do_sample=True, + min_length=min_length, + top_p=top_p, + repetition_penalty=repetition_penalty, + length_penalty=length_penalty, + temperature=temperature, + ) + output_token = outputs[0] + if output_token[0] == 0: # the model might output a unknow token at the beginning. remove it + output_token = output_token[1:] + if output_token[0] == 1: # some users find that there is a start token at the beginning. remove it + output_token = output_token[1:] + output_text = self.model.llama_tokenizer.decode(output_token, add_special_tokens=False) + if conv.sep =="###": + output_text = output_text.split('###')[0] # remove the stop sign '###' + output_text = output_text.split('Assistant:')[-1].strip() + else: + output_text = output_text.split(conv.sep2)[0] # remove the stop sign '###' + output_text = output_text.split(conv.roles[1]+':')[-1].strip() + conv.messages[-1][1] = output_text + return output_text, output_token.cpu().numpy() + + def upload_video(self, video_path, conv, img_list): + + msg = "" + if isinstance(video_path, str): # is a video path + ext = os.path.splitext(video_path)[-1].lower() + print(video_path) + # image = self.vis_processor(image).unsqueeze(0).to(self.device) + video, msg = load_video( + video_path=video_path, + n_frms=8, + height=224, + width=224, + sampling ="uniform", return_msg = True + ) + video = self.vis_processor.transform(video) + video = video.unsqueeze(0).to(self.device) + # print(image) + else: + raise NotImplementedError + + try: + audio_flag = 1 + audio = load_and_transform_audio_data([video_path],"cpu", clips_per_video=8) + audio = audio.to(self.device) + except : + print('no audio is found') + audio_flag = 0 + finally: + if audio_flag == 1: + # image_emb, _ = self.model.encode_videoQformer_audiovideo(video,audio) + image_emb, _ = self.model.encode_videoQformer_visual(video) + audio_emb,_ = self.model.encode_audioQformer(audio) + img_list.append(audio_emb) + img_list.append(image_emb) + conv.system = "" + # conv.append_message(conv.roles[0], "The audio of this video is ") + conv.append_message(conv.roles[0], "Close your eyes, open your ears and you imagine only based on the sound that: . \ + Close your ears, open your eyes and you see that . \ + Now answer my question based on what you have just seen and heard.") + + else: # only vison no audio + # conv.system = "You can understand the video that the user provides. Follow the instructions carefully and explain your answers in detail." + image_emb, _ = self.model.encode_videoQformer_visual(video) + img_list.append(image_emb) + conv.append_message(conv.roles[0], " "+ msg) + return "Received." + + def upload_video_without_audio(self, video_path, conv, img_list): + msg = "" + if isinstance(video_path, str): # is a video path + ext = os.path.splitext(video_path)[-1].lower() + print(video_path) + # image = self.vis_processor(image).unsqueeze(0).to(self.device) + video, msg = load_video( + video_path=video_path, + n_frms=8, + height=224, + width=224, + sampling ="uniform", return_msg = True + ) + video = self.vis_processor.transform(video) + video = video.unsqueeze(0).to(self.device) + # print(image) + else: + raise NotImplementedError + + + # conv.system = "You can understand the video that the user provides. Follow the instructions carefully and explain your answers in detail." + image_emb, _ = self.model.encode_videoQformer_visual(video) + img_list.append(image_emb) + conv.append_message(conv.roles[0], " "+ msg) + return "Received." + + def upload_img(self, image, conv, img_list): + + msg = "" + if isinstance(image, str): # is a image path + raw_image = Image.open(image).convert('RGB') # 增加一个时间维度 + image = self.image_vis_processor(raw_image).unsqueeze(0).unsqueeze(2).to(self.device) + elif isinstance(image, Image.Image): + raw_image = image + image = self.image_vis_processor(raw_image).unsqueeze(0).unsqueeze(2).to(self.device) + elif isinstance(image, torch.Tensor): + if len(image.shape) == 3: + image = image.unsqueeze(0) + image = image.to(self.device) + else: + raise NotImplementedError + + image_emb, _ = self.model.encode_videoQformer_visual(image) + img_list.append(image_emb) + # Todo msg="" + conv.append_message(conv.roles[0], " "+ msg) + + return "Received." + + def get_context_emb(self, conv, img_list): + prompt = conv.get_prompt() + prompt_segs = prompt.split('') + assert len(prompt_segs) == len(img_list) + 1, "Unmatched numbers of image placeholders and images." + seg_tokens = [ + self.model.llama_tokenizer( + seg, return_tensors="pt", add_special_tokens=i == 0).to(self.device).input_ids + # only add bos to the first seg + for i, seg in enumerate(prompt_segs) + ] + seg_embs = [self.model.llama_model.model.embed_tokens(seg_t) for seg_t in seg_tokens] + mixed_embs = [emb for pair in zip(seg_embs[:-1], img_list) for emb in pair] + [seg_embs[-1]] + mixed_embs = torch.cat(mixed_embs, dim=1) + return mixed_embs + +if __name__ =='__main__': + video_path = '/mnt/workspace/videoGPT/Video-LLaMA/examples/applausing.mp4' + # import torch.classes.torchaudio.ffmpeg_StreamReader + # ffmpeg_StreamReader(video_path) + load_and_transform_audio_data([video_path],"cpu", clips_per_video=8) diff --git a/video_llama/datasets/__init__.py b/video_llama/datasets/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/video_llama/datasets/__pycache__/__init__.cpython-39.pyc b/video_llama/datasets/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f923d815aabf2fba0b0fd2f145cb24015cc11241 Binary files /dev/null and b/video_llama/datasets/__pycache__/__init__.cpython-39.pyc differ diff --git a/video_llama/datasets/__pycache__/data_utils.cpython-39.pyc b/video_llama/datasets/__pycache__/data_utils.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d55aa65031883b276c1138d0ec06085b7b61d4a3 Binary files /dev/null and b/video_llama/datasets/__pycache__/data_utils.cpython-39.pyc differ diff --git a/video_llama/datasets/builders/__init__.py b/video_llama/datasets/builders/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..0b160d0b8ad5793e368d8b2d26ff9829fa3ddd9a --- /dev/null +++ b/video_llama/datasets/builders/__init__.py @@ -0,0 +1,77 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +from video_llama.datasets.builders.base_dataset_builder import load_dataset_config +from video_llama.datasets.builders.image_text_pair_builder import ( + CCSBUBuilder, + LaionBuilder, + CCSBUAlignBuilder +) +from video_llama.datasets.builders.video_caption_builder import WebvidBuilder +from video_llama.common.registry import registry +from video_llama.datasets.builders.instruct_builder import WebvidInstruct_Builder,LlavaInstruct_Builder +__all__ = [ + "CCSBUBuilder", + "LaionBuilder", + "CCSBUAlignBuilder", + "WebvidBuilder", + "LlavaInstruct_Builder", + "WebvidInstruct_Builder" + +] + + +def load_dataset(name, cfg_path=None, vis_path=None, data_type=None): + """ + Example + + >>> dataset = load_dataset("coco_caption", cfg=None) + >>> splits = dataset.keys() + >>> print([len(dataset[split]) for split in splits]) + + """ + if cfg_path is None: + cfg = None + else: + cfg = load_dataset_config(cfg_path) + + try: + builder = registry.get_builder_class(name)(cfg) + except TypeError: + print( + f"Dataset {name} not found. Available datasets:\n" + + ", ".join([str(k) for k in dataset_zoo.get_names()]) + ) + exit(1) + + if vis_path is not None: + if data_type is None: + # use default data type in the config + data_type = builder.config.data_type + + assert ( + data_type in builder.config.build_info + ), f"Invalid data_type {data_type} for {name}." + + builder.config.build_info.get(data_type).storage = vis_path + + dataset = builder.build_datasets() + return dataset + + +class DatasetZoo: + def __init__(self) -> None: + self.dataset_zoo = { + k: list(v.DATASET_CONFIG_DICT.keys()) + for k, v in sorted(registry.mapping["builder_name_mapping"].items()) + } + + def get_names(self): + return list(self.dataset_zoo.keys()) + + +dataset_zoo = DatasetZoo() diff --git a/video_llama/datasets/builders/__pycache__/__init__.cpython-39.pyc b/video_llama/datasets/builders/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..372cb4a073f576804113a6638fd310504ef98ec9 Binary files /dev/null and b/video_llama/datasets/builders/__pycache__/__init__.cpython-39.pyc differ diff --git a/video_llama/datasets/builders/__pycache__/base_dataset_builder.cpython-39.pyc b/video_llama/datasets/builders/__pycache__/base_dataset_builder.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..52101f963e8a65b0770f8df1a45d0a2338adbbd2 Binary files /dev/null and b/video_llama/datasets/builders/__pycache__/base_dataset_builder.cpython-39.pyc differ diff --git a/video_llama/datasets/builders/__pycache__/image_text_pair_builder.cpython-39.pyc b/video_llama/datasets/builders/__pycache__/image_text_pair_builder.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a8ae00c0d7933a1eca998ae10da51bfe9dc0a403 Binary files /dev/null and b/video_llama/datasets/builders/__pycache__/image_text_pair_builder.cpython-39.pyc differ diff --git a/video_llama/datasets/builders/__pycache__/instruct_builder.cpython-39.pyc b/video_llama/datasets/builders/__pycache__/instruct_builder.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..be70d84cfd855182b4bc9f859160aab929f94835 Binary files /dev/null and b/video_llama/datasets/builders/__pycache__/instruct_builder.cpython-39.pyc differ diff --git a/video_llama/datasets/builders/__pycache__/video_caption_builder.cpython-39.pyc b/video_llama/datasets/builders/__pycache__/video_caption_builder.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4cbfb966519e8656b886de7d3c3f4f93a2774350 Binary files /dev/null and b/video_llama/datasets/builders/__pycache__/video_caption_builder.cpython-39.pyc differ diff --git a/video_llama/datasets/builders/base_dataset_builder.py b/video_llama/datasets/builders/base_dataset_builder.py new file mode 100644 index 0000000000000000000000000000000000000000..86c2cf688e9bcac67138aa32c58927e4a5ddebba --- /dev/null +++ b/video_llama/datasets/builders/base_dataset_builder.py @@ -0,0 +1,236 @@ +""" + This file is from + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import logging +import os +import shutil +import warnings + +from omegaconf import OmegaConf +import torch.distributed as dist +from torchvision.datasets.utils import download_url + +import video_llama.common.utils as utils +from video_llama.common.dist_utils import is_dist_avail_and_initialized, is_main_process +from video_llama.common.registry import registry +from video_llama.processors.base_processor import BaseProcessor + + + +class BaseDatasetBuilder: + train_dataset_cls, eval_dataset_cls = None, None + + def __init__(self, cfg=None): + super().__init__() + + if cfg is None: + # help to create datasets from default config. + self.config = load_dataset_config(self.default_config_path()) + elif isinstance(cfg, str): + self.config = load_dataset_config(cfg) + else: + # when called from task.build_dataset() + self.config = cfg + + self.data_type = self.config.data_type + + self.vis_processors = {"train": BaseProcessor(), "eval": BaseProcessor()} + self.text_processors = {"train": BaseProcessor(), "eval": BaseProcessor()} + + def build_datasets(self): + # download, split, etc... + # only called on 1 GPU/TPU in distributed + + if is_main_process(): + self._download_data() + + if is_dist_avail_and_initialized(): + dist.barrier() + + # at this point, all the annotations and image/videos should be all downloaded to the specified locations. + logging.info("Building datasets...") + datasets = self.build() # dataset['train'/'val'/'test'] + + return datasets + + def build_processors(self): + vis_proc_cfg = self.config.get("vis_processor") + txt_proc_cfg = self.config.get("text_processor") + + if vis_proc_cfg is not None: + vis_train_cfg = vis_proc_cfg.get("train") + vis_eval_cfg = vis_proc_cfg.get("eval") + + self.vis_processors["train"] = self._build_proc_from_cfg(vis_train_cfg) + self.vis_processors["eval"] = self._build_proc_from_cfg(vis_eval_cfg) + + if txt_proc_cfg is not None: + txt_train_cfg = txt_proc_cfg.get("train") + txt_eval_cfg = txt_proc_cfg.get("eval") + + self.text_processors["train"] = self._build_proc_from_cfg(txt_train_cfg) + self.text_processors["eval"] = self._build_proc_from_cfg(txt_eval_cfg) + + @staticmethod + def _build_proc_from_cfg(cfg): + return ( + registry.get_processor_class(cfg.name).from_config(cfg) + if cfg is not None + else None + ) + + @classmethod + def default_config_path(cls, type="default"): + return utils.get_abs_path(cls.DATASET_CONFIG_DICT[type]) + + def _download_data(self): + self._download_ann() + self._download_vis() + + def _download_ann(self): + """ + Download annotation files if necessary. + All the vision-language datasets should have annotations of unified format. + + storage_path can be: + (1) relative/absolute: will be prefixed with env.cache_root to make full path if relative. + (2) basename/dirname: will be suffixed with base name of URL if dirname is provided. + + Local annotation paths should be relative. + """ + anns = self.config.build_info.annotations + + splits = anns.keys() + + cache_root = registry.get_path("cache_root") + + for split in splits: + info = anns[split] + + urls, storage_paths = info.get("url", None), info.storage + + if isinstance(urls, str): + urls = [urls] + if isinstance(storage_paths, str): + storage_paths = [storage_paths] + + assert len(urls) == len(storage_paths) + + for url_or_filename, storage_path in zip(urls, storage_paths): + # if storage_path is relative, make it full by prefixing with cache_root. + if not os.path.isabs(storage_path): + storage_path = os.path.join(cache_root, storage_path) + + dirname = os.path.dirname(storage_path) + if not os.path.exists(dirname): + os.makedirs(dirname) + + if os.path.isfile(url_or_filename): + src, dst = url_or_filename, storage_path + if not os.path.exists(dst): + shutil.copyfile(src=src, dst=dst) + else: + logging.info("Using existing file {}.".format(dst)) + else: + if os.path.isdir(storage_path): + # if only dirname is provided, suffix with basename of URL. + raise ValueError( + "Expecting storage_path to be a file path, got directory {}".format( + storage_path + ) + ) + else: + filename = os.path.basename(storage_path) + + download_url(url=url_or_filename, root=dirname, filename=filename) + + def _download_vis(self): + + storage_path = self.config.build_info.get(self.data_type).storage + storage_path = utils.get_cache_path(storage_path) + + if not os.path.exists(storage_path): + warnings.warn( + f""" + The specified path {storage_path} for visual inputs does not exist. + Please provide a correct path to the visual inputs or + refer to datasets/download_scripts/README.md for downloading instructions. + """ + ) + + def build(self): + """ + Create by split datasets inheriting torch.utils.data.Datasets. + + # build() can be dataset-specific. Overwrite to customize. + """ + self.build_processors() + + build_info = self.config.build_info + + ann_info = build_info.annotations + vis_info = build_info.get(self.data_type) + + datasets = dict() + for split in ann_info.keys(): + if split not in ["train", "val", "test"]: + continue + + is_train = split == "train" + + # processors + vis_processor = ( + self.vis_processors["train"] + if is_train + else self.vis_processors["eval"] + ) + text_processor = ( + self.text_processors["train"] + if is_train + else self.text_processors["eval"] + ) + + # annotation path + ann_paths = ann_info.get(split).storage + if isinstance(ann_paths, str): + ann_paths = [ann_paths] + + abs_ann_paths = [] + for ann_path in ann_paths: + if not os.path.isabs(ann_path): + ann_path = utils.get_cache_path(ann_path) + abs_ann_paths.append(ann_path) + ann_paths = abs_ann_paths + + # visual data storage path + vis_path = os.path.join(vis_info.storage, split) + + if not os.path.isabs(vis_path): + # vis_path = os.path.join(utils.get_cache_path(), vis_path) + vis_path = utils.get_cache_path(vis_path) + + if not os.path.exists(vis_path): + warnings.warn("storage path {} does not exist.".format(vis_path)) + + # create datasets + dataset_cls = self.train_dataset_cls if is_train else self.eval_dataset_cls + datasets[split] = dataset_cls( + vis_processor=vis_processor, + text_processor=text_processor, + ann_paths=ann_paths, + vis_root=vis_path, + ) + + return datasets + + +def load_dataset_config(cfg_path): + cfg = OmegaConf.load(cfg_path).datasets + cfg = cfg[list(cfg.keys())[0]] + + return cfg diff --git a/video_llama/datasets/builders/image_text_pair_builder.py b/video_llama/datasets/builders/image_text_pair_builder.py new file mode 100644 index 0000000000000000000000000000000000000000..8f93bf8f0dd51318c01940f07dc10e9dda2dd275 --- /dev/null +++ b/video_llama/datasets/builders/image_text_pair_builder.py @@ -0,0 +1,106 @@ +import os +import logging +import warnings + +from video_llama.common.registry import registry +from video_llama.datasets.builders.base_dataset_builder import BaseDatasetBuilder +from video_llama.datasets.datasets.laion_dataset import LaionDataset +from video_llama.datasets.datasets.cc_sbu_dataset import CCSBUDataset, CCSBUAlignDataset + + +@registry.register_builder("cc_sbu") +class CCSBUBuilder(BaseDatasetBuilder): + train_dataset_cls = CCSBUDataset + + DATASET_CONFIG_DICT = {"default": "configs/datasets/cc_sbu/defaults.yaml"} + + def _download_ann(self): + pass + + def _download_vis(self): + pass + + def build(self): + self.build_processors() + + build_info = self.config.build_info + + datasets = dict() + split = "train" + + # create datasets + # [NOTE] return inner_datasets (wds.DataPipeline) + dataset_cls = self.train_dataset_cls + datasets[split] = dataset_cls( + vis_processor=self.vis_processors[split], + text_processor=self.text_processors[split], + location=build_info.storage, + ).inner_dataset + + return datasets + + +@registry.register_builder("laion") +class LaionBuilder(BaseDatasetBuilder): + train_dataset_cls = LaionDataset + + DATASET_CONFIG_DICT = {"default": "configs/datasets/laion/defaults.yaml"} + + def _download_ann(self): + pass + + def _download_vis(self): + pass + + def build(self): + self.build_processors() + + build_info = self.config.build_info + + datasets = dict() + split = "train" + + # create datasets + # [NOTE] return inner_datasets (wds.DataPipeline) + dataset_cls = self.train_dataset_cls + datasets[split] = dataset_cls( + vis_processor=self.vis_processors[split], + text_processor=self.text_processors[split], + location=build_info.storage, + ).inner_dataset + + return datasets + + +@registry.register_builder("cc_sbu_align") +class CCSBUAlignBuilder(BaseDatasetBuilder): + train_dataset_cls = CCSBUAlignDataset + + DATASET_CONFIG_DICT = { + "default": "configs/datasets/cc_sbu/align.yaml", + } + + def build_datasets(self): + # at this point, all the annotations and image/videos should be all downloaded to the specified locations. + logging.info("Building datasets...") + self.build_processors() + + build_info = self.config.build_info + storage_path = build_info.storage + + datasets = dict() + + if not os.path.exists(storage_path): + warnings.warn("storage path {} does not exist.".format(storage_path)) + + # create datasets + dataset_cls = self.train_dataset_cls + datasets['train'] = dataset_cls( + vis_processor=self.vis_processors["train"], + text_processor=self.text_processors["train"], + ann_paths=[os.path.join(storage_path, 'filter_cap.json')], + vis_root=os.path.join(storage_path, 'image'), + ) + + return datasets + diff --git a/video_llama/datasets/builders/instruct_builder.py b/video_llama/datasets/builders/instruct_builder.py new file mode 100644 index 0000000000000000000000000000000000000000..b95238785386af934721d65cc7859d60f57023ae --- /dev/null +++ b/video_llama/datasets/builders/instruct_builder.py @@ -0,0 +1,78 @@ +import os +import logging +import warnings + +from video_llama.common.registry import registry +from video_llama.datasets.builders.base_dataset_builder import BaseDatasetBuilder +from video_llama.datasets.datasets.laion_dataset import LaionDataset +from video_llama.datasets.datasets.llava_instruct_dataset import Instruct_Dataset +from video_llama.datasets.datasets.video_instruct_dataset import Video_Instruct_Dataset + +@registry.register_builder("instruct") +class Instruct_Builder(BaseDatasetBuilder): + train_dataset_cls = Instruct_Dataset + + DATASET_CONFIG_DICT = {"default": "configs/datasets/instruct/defaults.yaml"} + + def _download_ann(self): + pass + + def _download_vis(self): + pass + + def build(self): + self.build_processors() + datasets = dict() + split = "train" + + build_info = self.config.build_info + dataset_cls = self.train_dataset_cls + if self.config.num_video_query_token: + num_video_query_token = self.config.num_video_query_token + else: + num_video_query_token = 32 + + if self.config.tokenizer_name: + tokenizer_name = self.config.tokenizer_name + else: + tokenizer_name = '/mnt/workspace/ckpt/vicuna-13b/' + + + datasets[split] = dataset_cls( + vis_processor=self.vis_processors[split], + text_processor=self.text_processors[split], + vis_root=build_info.videos_dir, + ann_root=build_info.anno_dir, + num_video_query_token = num_video_query_token, + tokenizer_name = tokenizer_name, + data_type = self.config.data_type + ) + + return datasets + +@registry.register_builder("webvid_instruct") +class WebvidInstruct_Builder(Instruct_Builder): + train_dataset_cls = Video_Instruct_Dataset + + DATASET_CONFIG_DICT = { + "default": "configs/datasets/instruct/webvid_instruct.yaml", + } + +@registry.register_builder("webvid_instruct_zh") +class WebvidInstruct_zh_Builder(Instruct_Builder): + train_dataset_cls = Video_Instruct_Dataset + + DATASET_CONFIG_DICT = { + "default": "configs/datasets/instruct/webvid_instruct.yaml", + } + + + +@registry.register_builder("llava_instruct") +class LlavaInstruct_Builder(Instruct_Builder): + train_dataset_cls = Instruct_Dataset + + DATASET_CONFIG_DICT = { + "default": "configs/datasets/instruct/llava_instruct.yaml", + } + diff --git a/video_llama/datasets/builders/video_caption_builder.py b/video_llama/datasets/builders/video_caption_builder.py new file mode 100644 index 0000000000000000000000000000000000000000..e73ef9db75c4699e1a763b459a7c96c1147e192b --- /dev/null +++ b/video_llama/datasets/builders/video_caption_builder.py @@ -0,0 +1,34 @@ +import os +import logging +import warnings + +from video_llama.common.registry import registry +from video_llama.datasets.builders.base_dataset_builder import BaseDatasetBuilder +from video_llama.datasets.datasets.webvid_datasets import WebvidDataset + +@registry.register_builder("webvid") +class WebvidBuilder(BaseDatasetBuilder): + train_dataset_cls = WebvidDataset + DATASET_CONFIG_DICT = {"default": "configs/datasets/webvid/defaults.yaml"} + + def _download_ann(self): + pass + + def _download_vis(self): + pass + + def build(self): + self.build_processors() + datasets = dict() + split = "train" + + build_info = self.config.build_info + dataset_cls = self.train_dataset_cls + datasets[split] = dataset_cls( + vis_processor=self.vis_processors[split], + text_processor=self.text_processors[split], + vis_root=build_info.videos_dir, + ann_root=build_info.anno_dir + ) + + return datasets \ No newline at end of file diff --git a/video_llama/datasets/data_utils.py b/video_llama/datasets/data_utils.py new file mode 100644 index 0000000000000000000000000000000000000000..8fe6a567bae667f00ef0ee1d4d9075649107b471 --- /dev/null +++ b/video_llama/datasets/data_utils.py @@ -0,0 +1,196 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import gzip +import logging +import os +import random as rnd +import tarfile +import zipfile +import random +from typing import List +from tqdm import tqdm + +import decord +from decord import VideoReader +import webdataset as wds +import numpy as np +import torch +from torch.utils.data.dataset import IterableDataset + +from video_llama.common.registry import registry +from video_llama.datasets.datasets.base_dataset import ConcatDataset + + +decord.bridge.set_bridge("torch") +MAX_INT = registry.get("MAX_INT") + + +class ChainDataset(wds.DataPipeline): + r"""Dataset for chaining multiple :class:`DataPipeline` s. + + This class is useful to assemble different existing dataset streams. The + chaining operation is done on-the-fly, so concatenating large-scale + datasets with this class will be efficient. + + Args: + datasets (iterable of IterableDataset): datasets to be chained together + """ + def __init__(self, datasets: List[wds.DataPipeline]) -> None: + super().__init__() + self.datasets = datasets + self.prob = [] + self.names = [] + for dataset in self.datasets: + if hasattr(dataset, 'name'): + self.names.append(dataset.name) + else: + self.names.append('Unknown') + if hasattr(dataset, 'sample_ratio'): + self.prob.append(dataset.sample_ratio) + else: + self.prob.append(1) + logging.info("One of the datapipeline doesn't define ratio and set to 1 automatically.") + + def __iter__(self): + datastreams = [iter(dataset) for dataset in self.datasets] + while True: + select_datastream = random.choices(datastreams, weights=self.prob, k=1)[0] + yield next(select_datastream) + + +def apply_to_sample(f, sample): + if len(sample) == 0: + return {} + + def _apply(x): + if torch.is_tensor(x): + return f(x) + elif isinstance(x, dict): + return {key: _apply(value) for key, value in x.items()} + elif isinstance(x, list): + return [_apply(x) for x in x] + else: + return x + + return _apply(sample) + + +def move_to_cuda(sample): + def _move_to_cuda(tensor): + return tensor.cuda() + + return apply_to_sample(_move_to_cuda, sample) + + +def prepare_sample(samples, cuda_enabled=True): + if cuda_enabled: + samples = move_to_cuda(samples) + + # TODO fp16 support + + return samples + + +def reorg_datasets_by_split(datasets): + """ + Organizes datasets by split. + + Args: + datasets: dict of torch.utils.data.Dataset objects by name. + + Returns: + Dict of datasets by split {split_name: List[Datasets]}. + """ + # if len(datasets) == 1: + # return datasets[list(datasets.keys())[0]] + # else: + reorg_datasets = dict() + + # reorganize by split + for _, dataset in datasets.items(): + for split_name, dataset_split in dataset.items(): + if split_name not in reorg_datasets: + reorg_datasets[split_name] = [dataset_split] + else: + reorg_datasets[split_name].append(dataset_split) + + return reorg_datasets + + +def concat_datasets(datasets): + """ + Concatenates multiple datasets into a single dataset. + + It supports may-style datasets and DataPipeline from WebDataset. Currently, does not support + generic IterableDataset because it requires creating separate samplers. + + Now only supports conctenating training datasets and assuming validation and testing + have only a single dataset. This is because metrics should not be computed on the concatenated + datasets. + + Args: + datasets: dict of torch.utils.data.Dataset objects by split. + + Returns: + Dict of concatenated datasets by split, "train" is the concatenation of multiple datasets, + "val" and "test" remain the same. + + If the input training datasets contain both map-style and DataPipeline datasets, returns + a tuple, where the first element is a concatenated map-style dataset and the second + element is a chained DataPipeline dataset. + + """ + # concatenate datasets in the same split + for split_name in datasets: + if split_name != "train": + assert ( + len(datasets[split_name]) == 1 + ), "Do not support multiple {} datasets.".format(split_name) + datasets[split_name] = datasets[split_name][0] + else: + iterable_datasets, map_datasets = [], [] + for dataset in datasets[split_name]: + if isinstance(dataset, wds.DataPipeline): + logging.info( + "Dataset {} is IterableDataset, can't be concatenated.".format( + dataset + ) + ) + iterable_datasets.append(dataset) + elif isinstance(dataset, IterableDataset): + raise NotImplementedError( + "Do not support concatenation of generic IterableDataset." + ) + else: + map_datasets.append(dataset) + + # if len(iterable_datasets) > 0: + # concatenate map-style datasets and iterable-style datasets separately + if len(iterable_datasets) > 1: + chained_datasets = ( + ChainDataset(iterable_datasets) + ) + elif len(iterable_datasets) == 1: + chained_datasets = iterable_datasets[0] + else: + chained_datasets = None + + concat_datasets = ( + ConcatDataset(map_datasets) if len(map_datasets) > 0 else None + ) + + train_datasets = concat_datasets, chained_datasets + train_datasets = tuple([x for x in train_datasets if x is not None]) + train_datasets = ( + train_datasets[0] if len(train_datasets) == 1 else train_datasets + ) + + datasets[split_name] = train_datasets + + return datasets + diff --git a/video_llama/datasets/datasets/__init__.py b/video_llama/datasets/datasets/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/video_llama/datasets/datasets/__pycache__/__init__.cpython-39.pyc b/video_llama/datasets/datasets/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c84292d5483bc419041069db33208f7da8ef0924 Binary files /dev/null and b/video_llama/datasets/datasets/__pycache__/__init__.cpython-39.pyc differ diff --git a/video_llama/datasets/datasets/__pycache__/base_dataset.cpython-39.pyc b/video_llama/datasets/datasets/__pycache__/base_dataset.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..02a6327621cf33e9c2630da65a11e724a5ebf66f Binary files /dev/null and b/video_llama/datasets/datasets/__pycache__/base_dataset.cpython-39.pyc differ diff --git a/video_llama/datasets/datasets/__pycache__/caption_datasets.cpython-39.pyc b/video_llama/datasets/datasets/__pycache__/caption_datasets.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d2d69f6d2bd7df66e2b0d8448292af2f795a8d4b Binary files /dev/null and b/video_llama/datasets/datasets/__pycache__/caption_datasets.cpython-39.pyc differ diff --git a/video_llama/datasets/datasets/__pycache__/cc_sbu_dataset.cpython-39.pyc b/video_llama/datasets/datasets/__pycache__/cc_sbu_dataset.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d559ec1fe10af670cc25dee47300b36b9a1e6d9a Binary files /dev/null and b/video_llama/datasets/datasets/__pycache__/cc_sbu_dataset.cpython-39.pyc differ diff --git a/video_llama/datasets/datasets/__pycache__/dataloader_utils.cpython-39.pyc b/video_llama/datasets/datasets/__pycache__/dataloader_utils.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ff22ce498d9b35c626749014ba013d9fdf386eda Binary files /dev/null and b/video_llama/datasets/datasets/__pycache__/dataloader_utils.cpython-39.pyc differ diff --git a/video_llama/datasets/datasets/__pycache__/laion_dataset.cpython-39.pyc b/video_llama/datasets/datasets/__pycache__/laion_dataset.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..36272c4aaf24ddc54a5aeb9545f1126495a7b308 Binary files /dev/null and b/video_llama/datasets/datasets/__pycache__/laion_dataset.cpython-39.pyc differ diff --git a/video_llama/datasets/datasets/__pycache__/llava_instruct_dataset.cpython-39.pyc b/video_llama/datasets/datasets/__pycache__/llava_instruct_dataset.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8345a5b29b09e8bbde3b1b9e9f3b69819f4e0e5f Binary files /dev/null and b/video_llama/datasets/datasets/__pycache__/llava_instruct_dataset.cpython-39.pyc differ diff --git a/video_llama/datasets/datasets/__pycache__/video_instruct_dataset.cpython-39.pyc b/video_llama/datasets/datasets/__pycache__/video_instruct_dataset.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2baac67bbac9db08b3e886dd8d0957b43219adf2 Binary files /dev/null and b/video_llama/datasets/datasets/__pycache__/video_instruct_dataset.cpython-39.pyc differ diff --git a/video_llama/datasets/datasets/__pycache__/webvid_datasets.cpython-39.pyc b/video_llama/datasets/datasets/__pycache__/webvid_datasets.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7b6d7a4428f1fd822e171f89630b8b0b4ee08238 Binary files /dev/null and b/video_llama/datasets/datasets/__pycache__/webvid_datasets.cpython-39.pyc differ diff --git a/video_llama/datasets/datasets/base_dataset.py b/video_llama/datasets/datasets/base_dataset.py new file mode 100644 index 0000000000000000000000000000000000000000..ae2a8d0e21370129c0182cddc427eb293bbe5982 --- /dev/null +++ b/video_llama/datasets/datasets/base_dataset.py @@ -0,0 +1,68 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import json +from typing import Iterable + +from torch.utils.data import Dataset, ConcatDataset +from torch.utils.data.dataloader import default_collate + + +class BaseDataset(Dataset): + def __init__( + self, vis_processor=None, text_processor=None, vis_root=None, ann_paths=[] + ): + """ + vis_root (string): Root directory of images (e.g. coco/images/) + ann_root (string): directory to store the annotation file + """ + self.vis_root = vis_root + + self.annotation = [] + for ann_path in ann_paths: + self.annotation.extend(json.load(open(ann_path, "r"))['annotations']) + + self.vis_processor = vis_processor + self.text_processor = text_processor + + self._add_instance_ids() + + def __len__(self): + return len(self.annotation) + + def collater(self, samples): + return default_collate(samples) + + def set_processors(self, vis_processor, text_processor): + self.vis_processor = vis_processor + self.text_processor = text_processor + + def _add_instance_ids(self, key="instance_id"): + for idx, ann in enumerate(self.annotation): + ann[key] = str(idx) + + +class ConcatDataset(ConcatDataset): + def __init__(self, datasets: Iterable[Dataset]) -> None: + super().__init__(datasets) + + def collater(self, samples): + # TODO For now only supports datasets with same underlying collater implementations + + all_keys = set() + for s in samples: + all_keys.update(s) + + shared_keys = all_keys + for s in samples: + shared_keys = shared_keys & set(s.keys()) + + samples_shared_keys = [] + for s in samples: + samples_shared_keys.append({k: s[k] for k in s.keys() if k in shared_keys}) + + return self.datasets[0].collater(samples_shared_keys) diff --git a/video_llama/datasets/datasets/caption_datasets.py b/video_llama/datasets/datasets/caption_datasets.py new file mode 100644 index 0000000000000000000000000000000000000000..a78105896012b87174a547a365451d5d67fd8e93 --- /dev/null +++ b/video_llama/datasets/datasets/caption_datasets.py @@ -0,0 +1,85 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import os +from collections import OrderedDict + +from video_llama.datasets.datasets.base_dataset import BaseDataset +from PIL import Image + + +class __DisplMixin: + def displ_item(self, index): + sample, ann = self.__getitem__(index), self.annotation[index] + + return OrderedDict( + { + "file": ann["image"], + "caption": ann["caption"], + "image": sample["image"], + } + ) + + +class CaptionDataset(BaseDataset, __DisplMixin): + def __init__(self, vis_processor, text_processor, vis_root, ann_paths): + """ + vis_root (string): Root directory of images (e.g. coco/images/) + ann_root (string): directory to store the annotation file + """ + super().__init__(vis_processor, text_processor, vis_root, ann_paths) + + self.img_ids = {} + n = 0 + for ann in self.annotation: + img_id = ann["image_id"] + if img_id not in self.img_ids.keys(): + self.img_ids[img_id] = n + n += 1 + + def __getitem__(self, index): + + # TODO this assumes image input, not general enough + ann = self.annotation[index] + + img_file = '{:0>12}.jpg'.format(ann["image_id"]) + image_path = os.path.join(self.vis_root, img_file) + image = Image.open(image_path).convert("RGB") + + image = self.vis_processor(image) + caption = self.text_processor(ann["caption"]) + + return { + "image": image, + "text_input": caption, + "image_id": self.img_ids[ann["image_id"]], + } + + +class CaptionEvalDataset(BaseDataset, __DisplMixin): + def __init__(self, vis_processor, text_processor, vis_root, ann_paths): + """ + vis_root (string): Root directory of images (e.g. coco/images/) + ann_root (string): directory to store the annotation file + split (string): val or test + """ + super().__init__(vis_processor, text_processor, vis_root, ann_paths) + + def __getitem__(self, index): + + ann = self.annotation[index] + + image_path = os.path.join(self.vis_root, ann["image"]) + image = Image.open(image_path).convert("RGB") + + image = self.vis_processor(image) + + return { + "image": image, + "image_id": ann["image_id"], + "instance_id": ann["instance_id"], + } diff --git a/video_llama/datasets/datasets/cc_sbu_dataset.py b/video_llama/datasets/datasets/cc_sbu_dataset.py new file mode 100644 index 0000000000000000000000000000000000000000..59311479552e55b0e6f7d9aec3d70b3d993f92d1 --- /dev/null +++ b/video_llama/datasets/datasets/cc_sbu_dataset.py @@ -0,0 +1,49 @@ +import os +from PIL import Image +import webdataset as wds +from video_llama.datasets.datasets.base_dataset import BaseDataset +from video_llama.datasets.datasets.caption_datasets import CaptionDataset + + +class CCSBUDataset(BaseDataset): + def __init__(self, vis_processor, text_processor, location): + super().__init__(vis_processor=vis_processor, text_processor=text_processor) + + self.inner_dataset = wds.DataPipeline( + wds.ResampledShards(location), + wds.tarfile_to_samples(handler=wds.warn_and_continue), + wds.shuffle(1000, handler=wds.warn_and_continue), + wds.decode("pilrgb", handler=wds.warn_and_continue), + wds.to_tuple("jpg", "json", handler=wds.warn_and_continue), + wds.map_tuple(self.vis_processor, handler=wds.warn_and_continue), + wds.map(self.to_dict, handler=wds.warn_and_continue), + ) + + def to_dict(self, sample): + return { + "image": sample[0], + "text_input": self.text_processor(sample[1]["caption"]), + "type":'image', + } + + +class CCSBUAlignDataset(CaptionDataset): + + def __getitem__(self, index): + + # TODO this assumes image input, not general enough + ann = self.annotation[index] + + img_file = '{}.jpg'.format(ann["image_id"]) + image_path = os.path.join(self.vis_root, img_file) + image = Image.open(image_path).convert("RGB") + + image = self.vis_processor(image) + caption = ann["caption"] + + return { + "image": image, + "text_input": caption, + "image_id": self.img_ids[ann["image_id"]], + "type":'image', + } \ No newline at end of file diff --git a/video_llama/datasets/datasets/dataloader_utils.py b/video_llama/datasets/datasets/dataloader_utils.py new file mode 100644 index 0000000000000000000000000000000000000000..3e2f574e24d2a32a18533a11492cfd481ff2cfbb --- /dev/null +++ b/video_llama/datasets/datasets/dataloader_utils.py @@ -0,0 +1,162 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import time +import random +import torch +from video_llama.datasets.data_utils import move_to_cuda +from torch.utils.data import DataLoader + + +class MultiIterLoader: + """ + A simple wrapper for iterating over multiple iterators. + + Args: + loaders (List[Loader]): List of Iterator loaders. + ratios (List[float]): List of ratios to sample from each loader. If None, all loaders are sampled uniformly. + """ + + def __init__(self, loaders, ratios=None): + # assert all loaders has __next__ method + for loader in loaders: + assert hasattr( + loader, "__next__" + ), "Loader {} has no __next__ method.".format(loader) + + if ratios is None: + ratios = [1.0] * len(loaders) + else: + assert len(ratios) == len(loaders) + ratios = [float(ratio) / sum(ratios) for ratio in ratios] + + self.loaders = loaders + self.ratios = ratios + + def __next__(self): + # random sample from each loader by ratio + loader_idx = random.choices(range(len(self.loaders)), self.ratios, k=1)[0] + return next(self.loaders[loader_idx]) + + +class PrefetchLoader(object): + """ + Modified from https://github.com/ChenRocks/UNITER. + + overlap compute and cuda data transfer + (copied and then modified from nvidia apex) + """ + + def __init__(self, loader): + self.loader = loader + self.stream = torch.cuda.Stream() + + def __iter__(self): + loader_it = iter(self.loader) + self.preload(loader_it) + batch = self.next(loader_it) + while batch is not None: + is_tuple = isinstance(batch, tuple) + if is_tuple: + task, batch = batch + + if is_tuple: + yield task, batch + else: + yield batch + batch = self.next(loader_it) + + def __len__(self): + return len(self.loader) + + def preload(self, it): + try: + self.batch = next(it) + except StopIteration: + self.batch = None + return + # if record_stream() doesn't work, another option is to make sure + # device inputs are created on the main stream. + # self.next_input_gpu = torch.empty_like(self.next_input, + # device='cuda') + # self.next_target_gpu = torch.empty_like(self.next_target, + # device='cuda') + # Need to make sure the memory allocated for next_* is not still in use + # by the main stream at the time we start copying to next_*: + # self.stream.wait_stream(torch.cuda.current_stream()) + with torch.cuda.stream(self.stream): + self.batch = move_to_cuda(self.batch) + # more code for the alternative if record_stream() doesn't work: + # copy_ will record the use of the pinned source tensor in this + # side stream. + # self.next_input_gpu.copy_(self.next_input, non_blocking=True) + # self.next_target_gpu.copy_(self.next_target, non_blocking=True) + # self.next_input = self.next_input_gpu + # self.next_target = self.next_target_gpu + + def next(self, it): + torch.cuda.current_stream().wait_stream(self.stream) + batch = self.batch + if batch is not None: + record_cuda_stream(batch) + self.preload(it) + return batch + + def __getattr__(self, name): + method = self.loader.__getattribute__(name) + return method + + +def record_cuda_stream(batch): + if isinstance(batch, torch.Tensor): + batch.record_stream(torch.cuda.current_stream()) + elif isinstance(batch, list) or isinstance(batch, tuple): + for t in batch: + record_cuda_stream(t) + elif isinstance(batch, dict): + for t in batch.values(): + record_cuda_stream(t) + else: + pass + + +class IterLoader: + """ + A wrapper to convert DataLoader as an infinite iterator. + + Modified from: + https://github.com/open-mmlab/mmcv/blob/master/mmcv/runner/iter_based_runner.py + """ + + def __init__(self, dataloader: DataLoader, use_distributed: bool = False): + self._dataloader = dataloader + self.iter_loader = iter(self._dataloader) + self._use_distributed = use_distributed + self._epoch = 0 + + @property + def epoch(self) -> int: + return self._epoch + + def __next__(self): + try: + data = next(self.iter_loader) + except StopIteration: + self._epoch += 1 + if hasattr(self._dataloader.sampler, "set_epoch") and self._use_distributed: + self._dataloader.sampler.set_epoch(self._epoch) + time.sleep(2) # Prevent possible deadlock during epoch transition + self.iter_loader = iter(self._dataloader) + data = next(self.iter_loader) + + return data + + def __iter__(self): + return self + + def __len__(self): + return len(self._dataloader) diff --git a/video_llama/datasets/datasets/laion_dataset.py b/video_llama/datasets/datasets/laion_dataset.py new file mode 100644 index 0000000000000000000000000000000000000000..1be30abb188e1afad6fe678ccbb367931a2b3d26 --- /dev/null +++ b/video_llama/datasets/datasets/laion_dataset.py @@ -0,0 +1,31 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import webdataset as wds +from video_llama.datasets.datasets.base_dataset import BaseDataset + + +class LaionDataset(BaseDataset): + def __init__(self, vis_processor, text_processor, location): + super().__init__(vis_processor=vis_processor, text_processor=text_processor) + + self.inner_dataset = wds.DataPipeline( + wds.ResampledShards(location), + wds.tarfile_to_samples(handler=wds.warn_and_continue), + wds.shuffle(1000, handler=wds.warn_and_continue), + wds.decode("pilrgb", handler=wds.warn_and_continue), + wds.to_tuple("jpg", "json", handler=wds.warn_and_continue), + wds.map_tuple(self.vis_processor, handler=wds.warn_and_continue), + wds.map(self.to_dict, handler=wds.warn_and_continue), + ) + + def to_dict(self, sample): + return { + "image": sample[0], + "text_input": self.text_processor(sample[1]["caption"]), + } + diff --git a/video_llama/datasets/datasets/llava_instruct_dataset.py b/video_llama/datasets/datasets/llava_instruct_dataset.py new file mode 100644 index 0000000000000000000000000000000000000000..675061bf5c13a44785c61564625fd1dc85b065d9 --- /dev/null +++ b/video_llama/datasets/datasets/llava_instruct_dataset.py @@ -0,0 +1,312 @@ +import os +from video_llama.datasets.datasets.base_dataset import BaseDataset +from video_llama.datasets.datasets.caption_datasets import CaptionDataset +import pandas as pd +import decord +from decord import VideoReader +import random +import torch +from torch.utils.data.dataloader import default_collate +from PIL import Image +from typing import Dict, Optional, Sequence +import transformers +import pathlib +import json +from transformers import AutoTokenizer, AutoModelForCausalLM, LlamaTokenizer +from video_llama.conversation.conversation_video import Conversation,SeparatorStyle +DEFAULT_IMAGE_PATCH_TOKEN = '' +DEFAULT_IMAGE_TOKEN = "" +import copy +from video_llama.processors import transforms_video,AlproVideoTrainProcessor +IGNORE_INDEX = -100 +image_conversation = Conversation( + system="", + roles=("Human", "Assistant"), + messages=[], + offset=0, + sep_style=SeparatorStyle.SINGLE, + sep="###", +) +llama_v2_image_conversation = Conversation( + system=" ", + roles=("USER", "ASSISTANT"), + messages=(), + offset=0, + sep_style=SeparatorStyle.LLAMA_2, + sep="", + sep2="", +) +IGNORE_INDEX = -100 + +class Instruct_Dataset(BaseDataset): + def __init__(self, vis_processor, text_processor, vis_root, ann_root,num_video_query_token=32,tokenizer_name = '/mnt/workspace/ckpt/vicuna-13b/',data_type = 'image', model_type='vicuna'): + """ + vis_root (string): Root directory of Llava images (e.g. webvid_eval/video/) + ann_root (string): Root directory of video (e.g. webvid_eval/annotations/) + split (string): val or test + """ + super().__init__(vis_processor=vis_processor, text_processor=text_processor) + + data_path = pathlib.Path(ann_root) + with data_path.open(encoding='utf-8') as f: + self.annotation = json.load(f) + + self.vis_root = vis_root + self.resize_size = 224 + self.num_frm = 8 + self.tokenizer = LlamaTokenizer.from_pretrained(tokenizer_name, use_fast=False) + self.tokenizer.pad_token = self.tokenizer.unk_token + self.tokenizer.add_tokens([DEFAULT_IMAGE_PATCH_TOKEN], special_tokens=True) + self.num_video_query_token = num_video_query_token + self.IMAGE_PATCH_TOKEN_ID = self.tokenizer.get_vocab()[DEFAULT_IMAGE_PATCH_TOKEN] + + self.transform = AlproVideoTrainProcessor( + image_size=self.resize_size, n_frms = self.num_frm + ).transform + self.data_type = data_type + self.model_type = model_type + + def _get_image_path(self, sample): + rel_video_fp ='COCO_train2014_' + sample['image'] + full_video_fp = os.path.join(self.vis_root, rel_video_fp) + return full_video_fp + + def __getitem__(self, index): + num_retries = 10 # skip error videos + for _ in range(num_retries): + try: + sample = self.annotation[index] + + image_path = self._get_image_path(sample) + conversation_list = sample['conversations'] + image = Image.open(image_path).convert("RGB") + + image = self.vis_processor(image) + # text = self.text_processor(text) + sources = preprocess_multimodal(copy.deepcopy(conversation_list), None, cur_token_len=self.num_video_query_token) + if self.model_type =='vicuna': + data_dict = preprocess( + sources, + self.tokenizer) + elif self.model_type =='llama_v2': + data_dict = preprocess_for_llama_v2( + sources, + self.tokenizer) + else: + print('not support') + raise('not support') + data_dict = dict(input_ids=data_dict["input_ids"][0], + labels=data_dict["labels"][0]) + + # image exist in the data + data_dict['image'] = image + except: + print(f"Failed to load examples with image: {image_path}. " + f"Will randomly sample an example as a replacement.") + index = random.randint(0, len(self) - 1) + continue + break + else: + raise RuntimeError(f"Failed to fetch image after {num_retries} retries.") + # "image_id" is kept to stay compatible with the COCO evaluation format + return { + "image": image, + "text_input": data_dict["input_ids"], + "labels": data_dict["labels"], + "type":'image', + } + + def __len__(self): + return len(self.annotation) + + def collater(self, instances): + input_ids, labels = tuple([instance[key] for instance in instances] + for key in ("text_input", "labels")) + input_ids = torch.nn.utils.rnn.pad_sequence( + input_ids, + batch_first=True, + padding_value=self.tokenizer.pad_token_id) + labels = torch.nn.utils.rnn.pad_sequence(labels, + batch_first=True, + padding_value=IGNORE_INDEX) + batch = dict( + input_ids=input_ids, + labels=labels, + attention_mask=input_ids.ne(self.tokenizer.pad_token_id), + ) + + if 'image' in instances[0]: + images = [instance['image'] for instance in instances] + if all(x is not None and x.shape == images[0].shape for x in images): + batch['images'] = torch.stack(images) + else: + batch['images'] = images + batch['conv_type'] = 'multi' + return batch + + +def preprocess_multimodal( + conversation_list: Sequence[str], + multimodal_cfg: dict, + cur_token_len: int, +) -> Dict: + # 将conversational list中 + is_multimodal = True + # image_token_len = multimodal_cfg['image_token_len'] + image_token_len = cur_token_len + + for sentence in conversation_list: + replace_token = ''+DEFAULT_IMAGE_PATCH_TOKEN * image_token_len+'' + sentence["value"] = sentence["value"].replace(DEFAULT_IMAGE_TOKEN, replace_token) + + return [conversation_list] + +def _add_speaker_and_signal(header, source, get_conversation=True): + """Add speaker and start/end signal on each round.""" + BEGIN_SIGNAL = "###" + END_SIGNAL = "\n" + conversation = header + for sentence in source: + from_str = sentence["from"] + if from_str.lower() == "human": + from_str = image_conversation.roles[0] + elif from_str.lower() == "gpt": + from_str = image_conversation.roles[1] + else: + from_str = 'unknown' + sentence["value"] = (BEGIN_SIGNAL + from_str + ": " + + sentence["value"] + END_SIGNAL) + if get_conversation: + conversation += sentence["value"] + conversation += BEGIN_SIGNAL + return conversation + +def _tokenize_fn(strings: Sequence[str], + tokenizer: transformers.PreTrainedTokenizer) -> Dict: + """Tokenize a list of strings.""" + tokenized_list = [ + tokenizer( + text, + return_tensors="pt", + padding="longest", + max_length=512, + truncation=True, + ) for text in strings + ] + input_ids = labels = [ + tokenized.input_ids[0] for tokenized in tokenized_list + ] + input_ids_lens = labels_lens = [ + tokenized.input_ids.ne(tokenizer.pad_token_id).sum().item() + for tokenized in tokenized_list + ] + return dict( + input_ids=input_ids, + labels=labels, + input_ids_lens=input_ids_lens, + labels_lens=labels_lens, + ) + +def preprocess( + sources: Sequence[str], + tokenizer: transformers.PreTrainedTokenizer, +) -> Dict: + """ + Given a list of sources, each is a conversation list. This transform: + 1. Add signal '### ' at the beginning each sentence, with end signal '\n'; + 2. Concatenate conversations together; + 3. Tokenize the concatenated conversation; + 4. Make a deepcopy as the target. Mask human words with IGNORE_INDEX. + """ + # add end signal and concatenate together + conversations = [] + for source in sources: + header = f"{image_conversation.system}\n\n" + conversation = _add_speaker_and_signal(header, source) + conversations.append(conversation) + # tokenize conversations + conversations_tokenized = _tokenize_fn(conversations, tokenizer) + input_ids = conversations_tokenized["input_ids"] + targets = copy.deepcopy(input_ids) + for target, source in zip(targets, sources): + tokenized_lens = _tokenize_fn([header] + [s["value"] for s in source], + tokenizer)["input_ids_lens"] + speakers = [sentence["from"] for sentence in source] + _mask_targets(target, tokenized_lens, speakers) + + return dict(input_ids=input_ids, labels=targets) + +def preprocess_for_llama_v2( + sources: Sequence[str], + tokenizer: transformers.PreTrainedTokenizer, +) -> Dict: + """ + Given a list of sources, each is a conversation list. This transform: + 1. Add signal '### ' at the beginning each sentence, with end signal '\n'; + 2. Concatenate conversations together; + 3. Tokenize the concatenated conversation; + 4. Make a deepcopy as the target. Mask human words with IGNORE_INDEX. + """ + # add end signal and concatenate together + conversations = [] + conv = copy.deepcopy(llama_v2_image_conversation.copy()) + roles = {"human": conv.roles[0], "gpt": conv.roles[1]} + for source in sources: + # [INST] <>\n{system_prompt}\n<>\n\n + header = f"[INST] <>\n{conv.system}\n>\n\n" + + if roles[source[0]["from"]] != conv.roles[0]: + # Skip the first one if it is not from human + source = source[1:] + conv.messages = [] + for j, sentence in enumerate(source): + role = roles[sentence["from"]] + assert role == conv.roles[j % 2] + conv.append_message(role, sentence["value"]) + conversations.append(conv.get_prompt()) + + input_ids = tokenizer( + conversations, + return_tensors="pt", + padding="longest", + max_length=512, + truncation=True, + ).input_ids + targets = copy.deepcopy(input_ids) + + + sep = "[/INST] " + for conversation, target in zip(conversations, targets): + # total_len = int(target.ne(tokenizer.pad_token_id).sum()) + rounds = conversation.split(conv.sep2) + cur_len = 1 + target[:cur_len] = IGNORE_INDEX + for i, rou in enumerate(rounds): + if rou == "": + break + + parts = rou.split(sep) + if len(parts) != 2: + break + parts[0] += sep + + + round_len = len(tokenizer(rou).input_ids) + instruction_len = len(tokenizer(parts[0]).input_ids) - 2 # 为什么减去2,speical token 的数目 + + target[cur_len : cur_len + instruction_len] = IGNORE_INDEX + + cur_len += round_len + target[cur_len:] = IGNORE_INDEX + + return dict(input_ids=input_ids, labels=targets) + +def _mask_targets(target, tokenized_lens, speakers): + # cur_idx = 0 + cur_idx = tokenized_lens[0] + tokenized_lens = tokenized_lens[1:] + target[:cur_idx] = IGNORE_INDEX + for tokenized_len, speaker in zip(tokenized_lens, speakers): + if speaker == "human": + target[cur_idx+2:cur_idx + tokenized_len] = IGNORE_INDEX + cur_idx += tokenized_len diff --git a/video_llama/datasets/datasets/video_instruct_dataset.py b/video_llama/datasets/datasets/video_instruct_dataset.py new file mode 100644 index 0000000000000000000000000000000000000000..63a8712bc81300140aa38af9226e155f44ea9a4f --- /dev/null +++ b/video_llama/datasets/datasets/video_instruct_dataset.py @@ -0,0 +1,335 @@ +import os +from video_llama.datasets.datasets.base_dataset import BaseDataset +from video_llama.datasets.datasets.caption_datasets import CaptionDataset +import pandas as pd +import decord +from decord import VideoReader +import random +import torch +from torch.utils.data.dataloader import default_collate +from PIL import Image +from typing import Dict, Optional, Sequence +import transformers +import pathlib +import json +from transformers import AutoTokenizer, AutoModelForCausalLM, LlamaTokenizer +import copy +from video_llama.processors import transforms_video,AlproVideoTrainProcessor +from torchvision import transforms +from video_llama.processors.video_processor import ToTHWC,ToUint8,load_video +from video_llama.conversation.conversation_video import Conversation,SeparatorStyle + +DEFAULT_IMAGE_PATCH_TOKEN = '' +video_conversation = Conversation( + system="", + roles=("Human", "Assistant"), + messages=[], + offset=0, + sep_style=SeparatorStyle.SINGLE, + sep="###", +) +llama_v2_video_conversation = Conversation( + system=" ", + roles=("USER", "ASSISTANT"), + messages=(), + offset=0, + sep_style=SeparatorStyle.LLAMA_2, + sep="", + sep2="", +) +IGNORE_INDEX = -100 + +class Video_Instruct_Dataset(BaseDataset): + def __init__(self, vis_processor, text_processor, vis_root, ann_root,num_video_query_token=32,tokenizer_name = '/mnt/workspace/ckpt/vicuna-13b/',data_type = 'video', model_type='vicuna'): + """ + vis_root (string): Root directory of Llava images (e.g. webvid_eval/video/) + ann_root (string): Root directory of video (e.g. webvid_eval/annotations/) + split (string): val or test + """ + super().__init__(vis_processor=vis_processor, text_processor=text_processor) + + data_path = pathlib.Path(ann_root) + with data_path.open(encoding='utf-8') as f: + self.annotation = json.load(f) + + self.num_video_query_token = num_video_query_token + self.vis_root = vis_root + self.resize_size = 224 + self.num_frm = 8 + self.tokenizer = LlamaTokenizer.from_pretrained(tokenizer_name, use_fast=False) + self.tokenizer.pad_token = self.tokenizer.unk_token + self.tokenizer.add_tokens([DEFAULT_IMAGE_PATCH_TOKEN], special_tokens=True) + self.IMAGE_PATCH_TOKEN_ID = self.tokenizer.get_vocab()[DEFAULT_IMAGE_PATCH_TOKEN] + + self.transform = AlproVideoTrainProcessor( + image_size=self.resize_size, n_frms = self.num_frm + ).transform + self.data_type = data_type + self.model_type = model_type + + def _get_video_path(self, sample): + rel_video_fp = sample['video'] + full_video_fp = os.path.join(self.vis_root, rel_video_fp) + return full_video_fp + + def __getitem__(self, index): + num_retries = 10 # skip error videos + for _ in range(num_retries): + try: + sample = self.annotation[index] + + video_path = self._get_video_path(sample) + conversation_list = sample['QA'] + + video, msg = load_video( + video_path=video_path, + n_frms=self.num_frm, + height=self.resize_size, + width=self.resize_size, + sampling ="uniform", return_msg = True + ) + video = self.transform(video) + if 'cn' in self.data_type: + msg = "" + # 添加视频,以及msg到convsation list 0 + sources = preprocess_multimodal(copy.deepcopy(conversation_list), None, cur_token_len=self.num_video_query_token,msg = msg) + new_sources = convert_source_vicuna_format(sources) + + if self.model_type =='vicuna': + data_dict = preprocess( + new_sources, + self.tokenizer) + elif self.model_type =='llama_v2': + data_dict = preprocess_for_llama_v2( + new_sources, + self.tokenizer) + else: + print('not support') + raise('not support') + data_dict = dict(input_ids=data_dict["input_ids"][0], + labels=data_dict["labels"][0]) + # image exist in the data + data_dict['image'] = video + except: + print(f"Failed to load examples with video: {video_path}. " + f"Will randomly sample an example as a replacement.") + index = random.randint(0, len(self) - 1) + continue + break + else: + raise RuntimeError(f"Failed to fetch video after {num_retries} retries.") + # "image_id" is kept to stay compatible with the COCO evaluation format + return { + "image": video, + "text_input": data_dict["input_ids"], + "labels": data_dict["labels"], + "type":'video', + } + + def __len__(self): + return len(self.annotation) + + def collater(self, instances): + input_ids, labels = tuple([instance[key] for instance in instances] + for key in ("text_input", "labels")) + input_ids = torch.nn.utils.rnn.pad_sequence( + input_ids, + batch_first=True, + padding_value=self.tokenizer.pad_token_id) + labels = torch.nn.utils.rnn.pad_sequence(labels, + batch_first=True, + padding_value=IGNORE_INDEX) + batch = dict( + input_ids=input_ids, + labels=labels, + attention_mask=input_ids.ne(self.tokenizer.pad_token_id), + ) + + if 'image' in instances[0]: + images = [instance['image'] for instance in instances] + if all(x is not None and x.shape == images[0].shape for x in images): + batch['images'] = torch.stack(images) + else: + batch['images'] = images + batch['conv_type'] = 'multi' + return batch + +def convert_source_vicuna_format(sources): + new_sources = [] + for source in sources: + new_source = [] + for i, sentence in enumerate(source): + role_0_msg = sentence['q'] + role_1_msg = sentence['a'] + new_source.append({ + 'from':'human', + 'value': role_0_msg, + }) + new_source.append({ + 'from':'gpt', + 'value': role_1_msg, + }) + new_sources.append(new_source) + return new_sources + +def preprocess_multimodal( + conversation_list: Sequence[str], + multimodal_cfg: dict, + cur_token_len: int, + msg='' +) -> Dict: + # 将conversational list中 + is_multimodal = True + # image_token_len = multimodal_cfg['image_token_len'] + image_token_len = cur_token_len + conversation_list[0]["q"] = " " + msg + conversation_list[0]["q"] + return [conversation_list] + +def _add_speaker_and_signal(header, source, get_conversation=True): + """Add speaker and start/end signal on each round.""" + BEGIN_SIGNAL = "###" + END_SIGNAL = "\n" + conversation = header + for sentence in source: + from_str = sentence["from"] + if from_str.lower() == "human": + from_str = video_conversation.roles[0] + elif from_str.lower() == "gpt": + from_str = video_conversation.roles[1] + else: + from_str = 'unknown' + sentence["value"] = (BEGIN_SIGNAL + from_str + ": " + + sentence["value"] + END_SIGNAL) + if get_conversation: + conversation += sentence["value"] + conversation += BEGIN_SIGNAL + return conversation + +def _tokenize_fn(strings: Sequence[str], + tokenizer: transformers.PreTrainedTokenizer) -> Dict: + """Tokenize a list of strings.""" + tokenized_list = [ + tokenizer( + text, + return_tensors="pt", + padding="longest", + max_length=512, + truncation=True, + ) for text in strings + ] + input_ids = labels = [ + tokenized.input_ids[0] for tokenized in tokenized_list + ] + input_ids_lens = labels_lens = [ + tokenized.input_ids.ne(tokenizer.pad_token_id).sum().item() + for tokenized in tokenized_list + ] + return dict( + input_ids=input_ids, + labels=labels, + input_ids_lens=input_ids_lens, + labels_lens=labels_lens, + ) + +def preprocess( + sources: Sequence[str], + tokenizer: transformers.PreTrainedTokenizer, +) -> Dict: + """ + Given a list of sources, each is a conversation list. This transform: + 1. Add signal '### ' at the beginning each sentence, with end signal '\n'; + 2. Concatenate conversations together; + 3. Tokenize the concatenated conversation; + 4. Make a deepcopy as the target. Mask human words with IGNORE_INDEX. + """ + # add end signal and concatenate together + conversations = [] + for source in sources: + header = f"{video_conversation.system}\n\n" + conversation = _add_speaker_and_signal(header, source) + conversations.append(conversation) + # tokenize conversations + conversations_tokenized = _tokenize_fn(conversations, tokenizer) + input_ids = conversations_tokenized["input_ids"] + targets = copy.deepcopy(input_ids) + for target, source in zip(targets, sources): + tokenized_lens = _tokenize_fn([header] + [s["value"] for s in source], + tokenizer)["input_ids_lens"] + speakers = [sentence["from"] for sentence in source] + _mask_targets(target, tokenized_lens, speakers) + + return dict(input_ids=input_ids, labels=targets) + +def preprocess_for_llama_v2( + sources: Sequence[str], + tokenizer: transformers.PreTrainedTokenizer, +) -> Dict: + """ + Given a list of sources, each is a conversation list. This transform: + 1. Add signal '### ' at the beginning each sentence, with end signal '\n'; + 2. Concatenate conversations together; + 3. Tokenize the concatenated conversation; + 4. Make a deepcopy as the target. Mask human words with IGNORE_INDEX. + """ + # add end signal and concatenate together + conversations = [] + conv = copy.deepcopy(video_conversation.copy()) + roles = {"human": conv.roles[0], "gpt": conv.roles[1]} + for source in sources: + # [INST] <>\n{system_prompt}\n<>\n\n + header = f"[INST] <>\n{conv.system}\n>\n\n" + + if roles[source[0]["from"]] != conv.roles[0]: + # Skip the first one if it is not from human + source = source[1:] + conv.messages = [] + for j, sentence in enumerate(source): + role = roles[sentence["from"]] + assert role == conv.roles[j % 2] + conv.append_message(role, sentence["value"]) + conversations.append(conv.get_prompt()) + + input_ids = tokenizer( + conversations, + return_tensors="pt", + padding="longest", + max_length=512, + truncation=True, + ).input_ids + targets = copy.deepcopy(input_ids) + + + sep = "[/INST] " + for conversation, target in zip(conversations, targets): + # total_len = int(target.ne(tokenizer.pad_token_id).sum()) + rounds = conversation.split(conv.sep2) + cur_len = 1 + target[:cur_len] = IGNORE_INDEX + for i, rou in enumerate(rounds): + if rou == "": + break + + parts = rou.split(sep) + if len(parts) != 2: + break + parts[0] += sep + + + round_len = len(tokenizer(rou).input_ids) + instruction_len = len(tokenizer(parts[0]).input_ids) - 2 # 为什么减去2,speical token 的数目 + + target[cur_len : cur_len + instruction_len] = IGNORE_INDEX + + cur_len += round_len + target[cur_len:] = IGNORE_INDEX + + return dict(input_ids=input_ids, labels=targets) +def _mask_targets(target, tokenized_lens, speakers): + # cur_idx = 0 + cur_idx = tokenized_lens[0] + tokenized_lens = tokenized_lens[1:] + target[:cur_idx] = IGNORE_INDEX + for tokenized_len, speaker in zip(tokenized_lens, speakers): + if speaker == "human": + target[cur_idx+2:cur_idx + tokenized_len] = IGNORE_INDEX + cur_idx += tokenized_len diff --git a/video_llama/datasets/datasets/webvid_datasets.py b/video_llama/datasets/datasets/webvid_datasets.py new file mode 100644 index 0000000000000000000000000000000000000000..aaf6b9d6dff0d96b04d40a40c0051527f7d01842 --- /dev/null +++ b/video_llama/datasets/datasets/webvid_datasets.py @@ -0,0 +1,122 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import os +from video_llama.datasets.datasets.base_dataset import BaseDataset +from video_llama.datasets.datasets.caption_datasets import CaptionDataset +import pandas as pd +import decord +from decord import VideoReader +import random +import torch +from torch.utils.data.dataloader import default_collate +class WebvidDataset(BaseDataset): + def __init__(self, vis_processor, text_processor, vis_root, ann_root): + """ + vis_root (string): Root directory of video (e.g. webvid_eval/video/) + ann_root (string): Root directory of video (e.g. webvid_eval/annotations/) + split (string): val or test + """ + super().__init__(vis_processor=vis_processor, text_processor=text_processor) + + + # 读取一个路径下所有的 + + ts_df = [] + for file_name in os.listdir(ann_root): + if file_name.endswith('.csv'): + df = pd.read_csv(os.path.join(ann_root, file_name)) + ts_df.append(df) + + merged_df = pd.concat(ts_df) + self.annotation = merged_df + self.vis_root = vis_root + self.resize_size = 224 + self.num_frm = 8 + self.frm_sampling_strategy = 'headtail' + + def _get_video_path(self, sample): + rel_video_fp = os.path.join(sample['page_dir'], str(sample['videoid']) + '.mp4') + full_video_fp = os.path.join(self.vis_root, rel_video_fp) + return full_video_fp + + def __getitem__(self, index): + num_retries = 10 # skip error videos + for _ in range(num_retries): + sample = self.annotation.iloc[index] + sample_dict = sample.to_dict() + video_id = sample_dict['videoid'] + + if 'name' in sample_dict.keys(): + text = sample_dict['name'].strip() + else: + raise NotImplementedError("Un-supported text annotation format.") + + # fetch video + video_path = self._get_video_path(sample_dict) + # if os.path.exists(video_path): + try: + video = self.vis_processor(video_path) + except: + print(f"Failed to load examples with video: {video_path}. " + f"Will randomly sample an example as a replacement.") + index = random.randint(0, len(self) - 1) + continue + caption = self.text_processor(text) + + # print(video.size()) + if video is None or caption is None \ + or video.size()!=torch.Size([3,self.vis_processor.n_frms,224,224]): + print(f"Failed to load examples with video: {video_path}. " + f"Will randomly sample an example as a replacement.") + index = random.randint(0, len(self) - 1) + continue + else: + break + else: + raise RuntimeError(f"Failed to fetch video after {num_retries} retries.") + # "image_id" is kept to stay compatible with the COCO evaluation format + return { + "image": video, + "text_input": caption, + "type":'video', + } + + def __len__(self): + return len(self.annotation) + + # def collater(self, samples): + # new_result = {} + # new_result['image'] = default_collate( [sample["image"] for sample in samples]) + # new_result['text_input'] = default_collate( [sample["text_input"] for sample in samples]) + # return new_result + +class WebvidDatasetEvalDataset(BaseDataset): + def __init__(self, vis_processor, text_processor, vis_root, ann_paths): + """ + vis_root (string): Root directory of images (e.g. coco/images/) + ann_root (string): directory to store the annotation file + split (string): val or test + """ + super().__init__(vis_processor, text_processor, vis_root, ann_paths) + + def __getitem__(self, index): + + ann = self.annotation[index] + + vname = ann["video"] + video_path = os.path.join(self.vis_root, vname) + + video = self.vis_processor(video_path) + + return { + "video": video, + "image_id": ann["image_id"], + "instance_id": ann["instance_id"], + } + + diff --git a/video_llama/models/ImageBind/.assets/bird_audio.wav b/video_llama/models/ImageBind/.assets/bird_audio.wav new file mode 100644 index 0000000000000000000000000000000000000000..a98fc72b0df440fd10b3e54c87dfe0ffae0fa12e Binary files /dev/null and b/video_llama/models/ImageBind/.assets/bird_audio.wav differ diff --git a/video_llama/models/ImageBind/.assets/bird_image.jpg b/video_llama/models/ImageBind/.assets/bird_image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..78b10ab1fe76f42e3dda1dc515e69312f02713d9 Binary files /dev/null and b/video_llama/models/ImageBind/.assets/bird_image.jpg differ diff --git a/video_llama/models/ImageBind/.assets/car_audio.wav b/video_llama/models/ImageBind/.assets/car_audio.wav new file mode 100644 index 0000000000000000000000000000000000000000..b71b42a3a375b763521d08855f1a1eebb647a3d2 Binary files /dev/null and b/video_llama/models/ImageBind/.assets/car_audio.wav differ diff --git a/video_llama/models/ImageBind/.assets/car_image.jpg b/video_llama/models/ImageBind/.assets/car_image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e33288eb765882c594f479bfb35d941fd51a19b1 Binary files /dev/null and b/video_llama/models/ImageBind/.assets/car_image.jpg differ diff --git a/video_llama/models/ImageBind/.assets/dog_audio.wav b/video_llama/models/ImageBind/.assets/dog_audio.wav new file mode 100644 index 0000000000000000000000000000000000000000..71d69c77e92039d5906ed766d9c3ca4b181f9ffd Binary files /dev/null and b/video_llama/models/ImageBind/.assets/dog_audio.wav differ diff --git a/video_llama/models/ImageBind/.assets/dog_image.jpg b/video_llama/models/ImageBind/.assets/dog_image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a54bffa5c80869c6b96246ba29c9e2462c698e3b Binary files /dev/null and b/video_llama/models/ImageBind/.assets/dog_image.jpg differ diff --git a/video_llama/models/ImageBind/CODE_OF_CONDUCT.md b/video_llama/models/ImageBind/CODE_OF_CONDUCT.md new file mode 100644 index 0000000000000000000000000000000000000000..f913b6a55a6c5ab6e1224e11fc039c3d4c3b6283 --- /dev/null +++ b/video_llama/models/ImageBind/CODE_OF_CONDUCT.md @@ -0,0 +1,80 @@ +# Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to make participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic +address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a +professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies within all project spaces, and it also applies when +an individual is representing the project or its community in public spaces. +Examples of representing a project or community include using an official +project e-mail address, posting via an official social media account, or acting +as an appointed representative at an online or offline event. Representation of +a project may be further defined and clarified by project maintainers. + +This Code of Conduct also applies outside the project spaces when there is a +reasonable belief that an individual's behavior may have a negative impact on +the project or its community. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at . All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq \ No newline at end of file diff --git a/video_llama/models/ImageBind/CONTRIBUTING.md b/video_llama/models/ImageBind/CONTRIBUTING.md new file mode 100644 index 0000000000000000000000000000000000000000..63d0b751e8a00b606ddff92e2524faa3c90a63b0 --- /dev/null +++ b/video_llama/models/ImageBind/CONTRIBUTING.md @@ -0,0 +1,31 @@ +# Contributing to ImageBind +We want to make contributing to this project as easy and transparent as +possible. + +## Pull Requests +We actively welcome your pull requests. + +1. Fork the repo and create your branch from `main`. +2. If you've added code that should be tested, add tests. +3. If you've changed APIs, update the documentation. +4. Ensure the test suite passes. +5. Make sure your code lints. +6. If you haven't already, complete the Contributor License Agreement ("CLA"). + +## Contributor License Agreement ("CLA") +In order to accept your pull request, we need you to submit a CLA. You only need +to do this once to work on any of Meta's open source projects. + +Complete your CLA here: + +## Issues +We use GitHub issues to track public bugs. Please ensure your description is +clear and has sufficient instructions to be able to reproduce the issue. + +Meta has a [bounty program](https://www.facebook.com/whitehat/) for the safe +disclosure of security bugs. In those cases, please go through the process +outlined on that page and do not file a public issue. + +## License +By contributing to Omnivore, you agree that your contributions will be licensed +under the [LICENSE](LICENSE) file in the root directory of this source tree. diff --git a/video_llama/models/ImageBind/LICENSE b/video_llama/models/ImageBind/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..bfef380bf7d9cb74ec9ba533b37c3fbeef3bdc09 --- /dev/null +++ b/video_llama/models/ImageBind/LICENSE @@ -0,0 +1,437 @@ +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: + wiki.creativecommons.org/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: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +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. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. 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. + + l. 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. + + m. 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. + + n. 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. + + 1. 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. + + 2. 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. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. 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. + + 5. 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. + + 6. 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. + + 1. 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. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. 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. + + 1. 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. + + 2. 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. + 3. 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. + + 1. 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. + + 2. 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. + + 3. 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: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + 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.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. 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, 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. \ No newline at end of file diff --git a/video_llama/models/ImageBind/README.md b/video_llama/models/ImageBind/README.md new file mode 100644 index 0000000000000000000000000000000000000000..028fa988bb6cd9843aec9454636e1541b53680e7 --- /dev/null +++ b/video_llama/models/ImageBind/README.md @@ -0,0 +1,155 @@ +# ImageBind: One Embedding Space To Bind Them All + +**[FAIR, Meta AI](https://ai.facebook.com/research/)** + +Rohit Girdhar*, +Alaaeldin El-Nouby*, +Zhuang Liu, +Mannat Singh, +Kalyan Vasudev Alwala, +Armand Joulin, +Ishan Misra* + +To appear at CVPR 2023 (*Highlighted paper*) + +[[`Paper`](https://facebookresearch.github.io/ImageBind/paper)] [[`Blog`](https://ai.facebook.com/blog/imagebind-six-modalities-binding-ai/)] [[`Demo`](https://imagebind.metademolab.com/)] [[`Supplementary Video`](https://dl.fbaipublicfiles.com/imagebind/imagebind_video.mp4)] [[`BibTex`](#citing-imagebind)] + +PyTorch implementation and pretrained models for ImageBind. For details, see the paper: **[ImageBind: One Embedding Space To Bind Them All](https://facebookresearch.github.io/ImageBind/paper)**. + +ImageBind learns a joint embedding across six different modalities - images, text, audio, depth, thermal, and IMU data. It enables novel emergent applications ‘out-of-the-box’ including cross-modal retrieval, composing modalities with arithmetic, cross-modal detection and generation. + + + +![ImageBind](https://user-images.githubusercontent.com/8495451/236859695-ffa13364-3e39-4d99-a8da-fbfab17f9a6b.gif) + +## ImageBind model + +Emergent zero-shot classification performance. + + + + + + + + + + + + + + + + + + + + + + + +
ModelIN1kK400NYU-DESCLLVIPEgo4Ddownload
imagebind_huge77.750.054.066.963.425.0checkpoint
+ +## Usage + +Install pytorch 1.13+ and other 3rd party dependencies. + +```shell +conda create --name imagebind python=3.8 -y +conda activate imagebind + +pip install -r requirements.txt +``` + +For windows users, you might need to install `soundfile` for reading/writing audio files. (Thanks @congyue1977) + +``` +pip install soundfile +``` + + +Extract and compare features across modalities (e.g. Image, Text and Audio). + +```python +import data +import torch +from models import imagebind_model +from models.imagebind_model import ModalityType + +text_list=["A dog.", "A car", "A bird"] +image_paths=[".assets/dog_image.jpg", ".assets/car_image.jpg", ".assets/bird_image.jpg"] +audio_paths=[".assets/dog_audio.wav", ".assets/car_audio.wav", ".assets/bird_audio.wav"] + +device = "cuda:0" if torch.cuda.is_available() else "cpu" + +# Instantiate model +model = imagebind_model.imagebind_huge(pretrained=True) +model.eval() +model.to(device) + +# Load data +inputs = { + ModalityType.TEXT: data.load_and_transform_text(text_list, device), + ModalityType.VISION: data.load_and_transform_vision_data(image_paths, device), + ModalityType.AUDIO: data.load_and_transform_audio_data(audio_paths, device), +} + +with torch.no_grad(): + embeddings = model(inputs) + +print( + "Vision x Text: ", + torch.softmax(embeddings[ModalityType.VISION] @ embeddings[ModalityType.TEXT].T, dim=-1), +) +print( + "Audio x Text: ", + torch.softmax(embeddings[ModalityType.AUDIO] @ embeddings[ModalityType.TEXT].T, dim=-1), +) +print( + "Vision x Audio: ", + torch.softmax(embeddings[ModalityType.VISION] @ embeddings[ModalityType.AUDIO].T, dim=-1), +) + +# Expected output: +# +# Vision x Text: +# tensor([[9.9761e-01, 2.3694e-03, 1.8612e-05], +# [3.3836e-05, 9.9994e-01, 2.4118e-05], +# [4.7997e-05, 1.3496e-02, 9.8646e-01]]) +# +# Audio x Text: +# tensor([[1., 0., 0.], +# [0., 1., 0.], +# [0., 0., 1.]]) +# +# Vision x Audio: +# tensor([[0.8070, 0.1088, 0.0842], +# [0.1036, 0.7884, 0.1079], +# [0.0018, 0.0022, 0.9960]]) + +``` + +## Model card +Please see the [model card](model_card.md) for details. + +## License + +ImageBind code and model weights are released under the CC-BY-NC 4.0 license. See [LICENSE](LICENSE) for additional details. + +## Contributing + +See [contributing](CONTRIBUTING.md) and the [code of conduct](CODE_OF_CONDUCT.md). + +## Citing ImageBind + +If you find this repository useful, please consider giving a star :star: and citation + +``` +@inproceedings{girdhar2023imagebind, + title={ImageBind: One Embedding Space To Bind Them All}, + author={Girdhar, Rohit and El-Nouby, Alaaeldin and Liu, Zhuang +and Singh, Mannat and Alwala, Kalyan Vasudev and Joulin, Armand and Misra, Ishan}, + booktitle={CVPR}, + year={2023} +} +``` diff --git a/video_llama/models/ImageBind/__pycache__/data.cpython-39.pyc b/video_llama/models/ImageBind/__pycache__/data.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6f00fd07ae06c2049fe28b586b239bd631720231 Binary files /dev/null and b/video_llama/models/ImageBind/__pycache__/data.cpython-39.pyc differ diff --git a/video_llama/models/ImageBind/bpe/bpe_simple_vocab_16e6.txt.gz b/video_llama/models/ImageBind/bpe/bpe_simple_vocab_16e6.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..36a15856e00a06a9fbed8cdd34d2393fea4a3113 --- /dev/null +++ b/video_llama/models/ImageBind/bpe/bpe_simple_vocab_16e6.txt.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:924691ac288e54409236115652ad4aa250f48203de50a9e4722a6ecd48d6804a +size 1356917 diff --git a/video_llama/models/ImageBind/data.py b/video_llama/models/ImageBind/data.py new file mode 100644 index 0000000000000000000000000000000000000000..993ff696bd98f1b380f2e9537b3f70ca38501f22 --- /dev/null +++ b/video_llama/models/ImageBind/data.py @@ -0,0 +1,338 @@ +#!/usr/bin/env python3 +# Portions Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +import logging +import math + +import torch +import torch.nn as nn +import torchaudio +from PIL import Image +from pytorchvideo import transforms as pv_transforms +from pytorchvideo.data.clip_sampling import ConstantClipsPerVideoSampler +from pytorchvideo.data.encoded_video import EncodedVideo +from torchvision import transforms +from torchvision.transforms._transforms_video import NormalizeVideo + +from .models.multimodal_preprocessors import SimpleTokenizer + +DEFAULT_AUDIO_FRAME_SHIFT_MS = 10 # in milliseconds + +BPE_PATH = "bpe/bpe_simple_vocab_16e6.txt.gz" + + +def waveform2melspec(waveform, sample_rate, num_mel_bins, target_length): + # Based on https://github.com/YuanGongND/ast/blob/d7d8b4b8e06cdaeb6c843cdb38794c1c7692234c/src/dataloader.py#L102 + waveform -= waveform.mean() + fbank = torchaudio.compliance.kaldi.fbank( + waveform, + htk_compat=True, + sample_frequency=sample_rate, + use_energy=False, + window_type="hanning", + num_mel_bins=num_mel_bins, + dither=0.0, + frame_length=25, + frame_shift=DEFAULT_AUDIO_FRAME_SHIFT_MS, + ) + # Convert to [mel_bins, num_frames] shape + fbank = fbank.transpose(0, 1) + # Pad to target_length + n_frames = fbank.size(1) + p = target_length - n_frames + # if p is too large (say >20%), flash a warning + if abs(p) / n_frames > 0.2: + logging.warning( + "Large gap between audio n_frames(%d) and " + "target_length (%d). Is the audio_target_length " + "setting correct?", + n_frames, + target_length, + ) + # cut and pad + if p > 0: + fbank = torch.nn.functional.pad(fbank, (0, p), mode="constant", value=0) + elif p < 0: + fbank = fbank[:, 0:target_length] + # Convert to [1, mel_bins, num_frames] shape, essentially like a 1 + # channel image + fbank = fbank.unsqueeze(0) + return fbank + + +def get_clip_timepoints(clip_sampler, duration): + # Read out all clips in this video + all_clips_timepoints = [] + is_last_clip = False + end = 0.0 + while not is_last_clip: + start, end, _, _, is_last_clip = clip_sampler(end, duration, annotation=None) + all_clips_timepoints.append((start, end)) + return all_clips_timepoints + + +def load_and_transform_vision_data(image_paths, device): + if image_paths is None: + return None + + image_ouputs = [] + for image_path in image_paths: + data_transform = transforms.Compose( + [ + transforms.Resize( + 224, interpolation=transforms.InterpolationMode.BICUBIC + ), + transforms.CenterCrop(224), + transforms.ToTensor(), + transforms.Normalize( + mean=(0.48145466, 0.4578275, 0.40821073), + std=(0.26862954, 0.26130258, 0.27577711), + ), + ] + ) + with open(image_path, "rb") as fopen: + image = Image.open(fopen).convert("RGB") + + image = data_transform(image).to(device) + image_ouputs.append(image) + return torch.stack(image_ouputs, dim=0) + + +def load_and_transform_text(text, device): + if text is None: + return None + tokenizer = SimpleTokenizer(bpe_path=BPE_PATH) + tokens = [tokenizer(t).unsqueeze(0).to(device) for t in text] + tokens = torch.cat(tokens, dim=0) + return tokens + + +def load_and_transform_audio_data( + audio_paths, + device, + num_mel_bins=128, + target_length=204, + sample_rate=16000, + clip_duration=2, + clips_per_video=3, + mean=-4.268, + std=9.138, +): + if audio_paths is None: + return None + + audio_outputs = [] + clip_sampler = ConstantClipsPerVideoSampler( + clip_duration=clip_duration, clips_per_video=clips_per_video + ) + + for audio_path in audio_paths: + waveform, sr = torchaudio.load(audio_path) + if sample_rate != sr: + waveform = torchaudio.functional.resample( + waveform, orig_freq=sr, new_freq=sample_rate + ) + all_clips_timepoints = get_clip_timepoints( + clip_sampler, waveform.size(1) / sample_rate + ) + all_clips = [] + for clip_timepoints in all_clips_timepoints: + waveform_clip = waveform[ + :, + int(clip_timepoints[0] * sample_rate) : int( + clip_timepoints[1] * sample_rate + ), + ] + waveform_melspec = waveform2melspec( + waveform_clip, sample_rate, num_mel_bins, target_length + ) + all_clips.append(waveform_melspec) + + normalize = transforms.Normalize(mean=mean, std=std) + all_clips = [normalize(ac).to(device) for ac in all_clips] + + all_clips = torch.stack(all_clips, dim=0) + audio_outputs.append(all_clips) + + return torch.stack(audio_outputs, dim=0) + + +def crop_boxes(boxes, x_offset, y_offset): + """ + Perform crop on the bounding boxes given the offsets. + Args: + boxes (ndarray or None): bounding boxes to perform crop. The dimension + is `num boxes` x 4. + x_offset (int): cropping offset in the x axis. + y_offset (int): cropping offset in the y axis. + Returns: + cropped_boxes (ndarray or None): the cropped boxes with dimension of + `num boxes` x 4. + """ + cropped_boxes = boxes.copy() + cropped_boxes[:, [0, 2]] = boxes[:, [0, 2]] - x_offset + cropped_boxes[:, [1, 3]] = boxes[:, [1, 3]] - y_offset + + return cropped_boxes + + +def uniform_crop(images, size, spatial_idx, boxes=None, scale_size=None): + """ + Perform uniform spatial sampling on the images and corresponding boxes. + Args: + images (tensor): images to perform uniform crop. The dimension is + `num frames` x `channel` x `height` x `width`. + size (int): size of height and weight to crop the images. + spatial_idx (int): 0, 1, or 2 for left, center, and right crop if width + is larger than height. Or 0, 1, or 2 for top, center, and bottom + crop if height is larger than width. + boxes (ndarray or None): optional. Corresponding boxes to images. + Dimension is `num boxes` x 4. + scale_size (int): optinal. If not None, resize the images to scale_size before + performing any crop. + Returns: + cropped (tensor): images with dimension of + `num frames` x `channel` x `size` x `size`. + cropped_boxes (ndarray or None): the cropped boxes with dimension of + `num boxes` x 4. + """ + assert spatial_idx in [0, 1, 2] + ndim = len(images.shape) + if ndim == 3: + images = images.unsqueeze(0) + height = images.shape[2] + width = images.shape[3] + + if scale_size is not None: + if width <= height: + width, height = scale_size, int(height / width * scale_size) + else: + width, height = int(width / height * scale_size), scale_size + images = torch.nn.functional.interpolate( + images, + size=(height, width), + mode="bilinear", + align_corners=False, + ) + + y_offset = int(math.ceil((height - size) / 2)) + x_offset = int(math.ceil((width - size) / 2)) + + if height > width: + if spatial_idx == 0: + y_offset = 0 + elif spatial_idx == 2: + y_offset = height - size + else: + if spatial_idx == 0: + x_offset = 0 + elif spatial_idx == 2: + x_offset = width - size + cropped = images[:, :, y_offset : y_offset + size, x_offset : x_offset + size] + cropped_boxes = crop_boxes(boxes, x_offset, y_offset) if boxes is not None else None + if ndim == 3: + cropped = cropped.squeeze(0) + return cropped, cropped_boxes + + +class SpatialCrop(nn.Module): + """ + Convert the video into 3 smaller clips spatially. Must be used after the + temporal crops to get spatial crops, and should be used with + -2 in the spatial crop at the slowfast augmentation stage (so full + frames are passed in here). Will return a larger list with the + 3x spatial crops as well. + """ + + def __init__(self, crop_size: int = 224, num_crops: int = 3): + super().__init__() + self.crop_size = crop_size + if num_crops == 3: + self.crops_to_ext = [0, 1, 2] + self.flipped_crops_to_ext = [] + elif num_crops == 1: + self.crops_to_ext = [1] + self.flipped_crops_to_ext = [] + else: + raise NotImplementedError("Nothing else supported yet") + + def forward(self, videos): + """ + Args: + videos: A list of C, T, H, W videos. + Returns: + videos: A list with 3x the number of elements. Each video converted + to C, T, H', W' by spatial cropping. + """ + assert isinstance(videos, list), "Must be a list of videos after temporal crops" + assert all([video.ndim == 4 for video in videos]), "Must be (C,T,H,W)" + res = [] + for video in videos: + for spatial_idx in self.crops_to_ext: + res.append(uniform_crop(video, self.crop_size, spatial_idx)[0]) + if not self.flipped_crops_to_ext: + continue + flipped_video = transforms.functional.hflip(video) + for spatial_idx in self.flipped_crops_to_ext: + res.append(uniform_crop(flipped_video, self.crop_size, spatial_idx)[0]) + return res + + +def load_and_transform_video_data( + video_paths, + device, + clip_duration=2, + clips_per_video=5, + sample_rate=16000, +): + if video_paths is None: + return None + + video_outputs = [] + video_transform = transforms.Compose( + [ + pv_transforms.ShortSideScale(224), + NormalizeVideo( + mean=(0.48145466, 0.4578275, 0.40821073), + std=(0.26862954, 0.26130258, 0.27577711), + ), + ] + ) + + clip_sampler = ConstantClipsPerVideoSampler( + clip_duration=clip_duration, clips_per_video=clips_per_video + ) + frame_sampler = pv_transforms.UniformTemporalSubsample(num_samples=clip_duration) + + for video_path in video_paths: + video = EncodedVideo.from_path( + video_path, + decoder="decord", + decode_audio=False, + **{"sample_rate": sample_rate}, + ) + + all_clips_timepoints = get_clip_timepoints(clip_sampler, video.duration) + + all_video = [] + for clip_timepoints in all_clips_timepoints: + # Read the clip, get frames + clip = video.get_clip(clip_timepoints[0], clip_timepoints[1]) + if clip is None: + raise ValueError("No clip found") + video_clip = frame_sampler(clip["video"]) + video_clip = video_clip / 255.0 # since this is float, need 0-1 + + all_video.append(video_clip) + + all_video = [video_transform(clip) for clip in all_video] + all_video = SpatialCrop(224, num_crops=3)(all_video) + + all_video = torch.stack(all_video, dim=0) + video_outputs.append(all_video) + + return torch.stack(video_outputs, dim=0).to(device) diff --git a/video_llama/models/ImageBind/model_card.md b/video_llama/models/ImageBind/model_card.md new file mode 100644 index 0000000000000000000000000000000000000000..c7bb26500b6590b64ffa6350f37be80dc88612d8 --- /dev/null +++ b/video_llama/models/ImageBind/model_card.md @@ -0,0 +1,94 @@ +# Model Card for ImageBind + +Multimodal joint embedding model for image/video, text, audio, depth, IMU, and thermal images. +Input any of the six modalities and get the same sized embedding that can be used for cross-modal and multimodal tasks. + +# Model Details + +## Model Description + + +Multimodal joint embedding model for image/video, text, audio, depth, IMU, and thermal images + +- **Developed by:** Meta AI +- **Model type:** Multimodal model +- **Language(s) (NLP):** en +- **License:** CC BY-NC-SA 4.0 +- **Resources for more information:** + - [GitHub Repo](https://github.com/facebookresearch/ImageBind) + + +# Uses + + +This model is intended only for research purposes. It provides a joint embedding space for different modalities -- image/video, text, audio, depth, IMU and thermal images. +We hope that these joint embeddings can be used for a variety of different cross-modal research, e.g., cross-modal retrieval and combining embeddings from different modalities. + +## Out-of-Scope Use + + + + +This model is *NOT* intended to be used in any real world application -- commercial or otherwise. +It may produce harmful associations with different inputs. +The model needs to be investigated and likely re-trained on specific data for any such application. +The model is expected to work better on web-based visual data since it was trained on such data. +The text encoder is likely to work only on English language text because of the underlying training datasets. + +# Bias, Risks, and Limitations + + +Open-domain joint embedding models are prone to producing specific biases, e.g., study from [CLIP](https://github.com/openai/CLIP/blob/main/model-card.md#bias-and-fairness). +Since our model uses such models as initialization, it will exhibit such biases too. +Moreover, for learning joint embeddings for other modalities such as audio, thermal, depth, and IMU we leverage datasets that are relatively small. These joint embeddings are thus limited to the concepts present in the datasets. For example, the thermal datasets we used are limited to outdoor street scenes, while the depth datasets are limited to indoor scenes. + + + +# Training Details + +## Training Data + + + +ImageBind uses image-paired data for training -- (image, X) where X is one of text, audio, depth, IMU or thermal data. +In particular, we initialize and freeze the image and text encoders using an OpenCLIP ViT-H encoder. +We train audio embeddings using Audioset, depth embeddings using the SUN RGB-D dataset, IMU using the Ego4D dataset and thermal embeddings using the LLVIP dataset. +We provide the exact training data details in the paper. + + +## Training Procedure + + +Please refer to the research paper and github repo for exact details on this. + +# Evaluation + +## Testing Data, Factors & Metrics + +We evaluate the model on a variety of different classification benchmarks for each modality. +The evaluation details are presented in the paper. +The models performance is measured using standard classification metrics such as accuracy and mAP. + +# Citation + + + +**BibTeX:** +``` +@inproceedings{girdhar2023imagebind, + title={ImageBind: One Embedding Space To Bind Them All}, + author={Girdhar, Rohit and El-Nouby, Alaaeldin and Liu, Zhuang +and Singh, Mannat and Alwala, Kalyan Vasudev and Joulin, Armand and Misra, Ishan}, + booktitle={CVPR}, + year={2023} +} +``` + + +# Model Card Contact + +Please reach out to the authors at: rgirdhar@meta.com imisra@meta.com alaaelnouby@gmail.com + +# How to Get Started with the Model + +Our github repo provides a simple example to extract embeddings from images, audio etc. diff --git a/video_llama/models/ImageBind/models/__init__.py b/video_llama/models/ImageBind/models/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/video_llama/models/ImageBind/models/__pycache__/__init__.cpython-39.pyc b/video_llama/models/ImageBind/models/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..585ad1036781962a5072c8b0af815643cfa86680 Binary files /dev/null and b/video_llama/models/ImageBind/models/__pycache__/__init__.cpython-39.pyc differ diff --git a/video_llama/models/ImageBind/models/__pycache__/helpers.cpython-39.pyc b/video_llama/models/ImageBind/models/__pycache__/helpers.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..54324d367b2489b1ee5fa876015dd2a8c6f9e68a Binary files /dev/null and b/video_llama/models/ImageBind/models/__pycache__/helpers.cpython-39.pyc differ diff --git a/video_llama/models/ImageBind/models/__pycache__/imagebind_model.cpython-39.pyc b/video_llama/models/ImageBind/models/__pycache__/imagebind_model.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b41f98007b6feaecd1c799294ff444d04f2e2aa8 Binary files /dev/null and b/video_llama/models/ImageBind/models/__pycache__/imagebind_model.cpython-39.pyc differ diff --git a/video_llama/models/ImageBind/models/__pycache__/multimodal_preprocessors.cpython-39.pyc b/video_llama/models/ImageBind/models/__pycache__/multimodal_preprocessors.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dbeef8fa6646ada6ad30849ae250d404e42d0c37 Binary files /dev/null and b/video_llama/models/ImageBind/models/__pycache__/multimodal_preprocessors.cpython-39.pyc differ diff --git a/video_llama/models/ImageBind/models/__pycache__/transformer.cpython-39.pyc b/video_llama/models/ImageBind/models/__pycache__/transformer.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c02891d1a6e52df886bead322e4634cf933480f6 Binary files /dev/null and b/video_llama/models/ImageBind/models/__pycache__/transformer.cpython-39.pyc differ diff --git a/video_llama/models/ImageBind/models/helpers.py b/video_llama/models/ImageBind/models/helpers.py new file mode 100644 index 0000000000000000000000000000000000000000..71abe9b1fc32ed22ba46ea89ae7439d4ea49afca --- /dev/null +++ b/video_llama/models/ImageBind/models/helpers.py @@ -0,0 +1,140 @@ +#!/usr/bin/env python3 +# Portions Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + + +import einops +import numpy as np +import torch +import torch.nn as nn + + +class Normalize(nn.Module): + def __init__(self, dim: int) -> None: + super().__init__() + self.dim = dim + + def forward(self, x): + return torch.nn.functional.normalize(x, dim=self.dim, p=2) + + +class LearnableLogitScaling(nn.Module): + def __init__( + self, + logit_scale_init: float = 1 / 0.07, + learnable: bool = True, + max_logit_scale: float = 100, + ) -> None: + super().__init__() + self.max_logit_scale = max_logit_scale + self.logit_scale_init = logit_scale_init + self.learnable = learnable + log_logit_scale = torch.ones([]) * np.log(self.logit_scale_init) + if learnable: + self.log_logit_scale = nn.Parameter(log_logit_scale) + else: + self.register_buffer("log_logit_scale", log_logit_scale) + + def forward(self, x): + return torch.clip(self.log_logit_scale.exp(), max=self.max_logit_scale) * x + + def extra_repr(self): + st = f"logit_scale_init={self.logit_scale_init},learnable={self.learnable}," \ + f" max_logit_scale={self.max_logit_scale}" + return st + + +class EinOpsRearrange(nn.Module): + def __init__(self, rearrange_expr: str, **kwargs) -> None: + super().__init__() + self.rearrange_expr = rearrange_expr + self.kwargs = kwargs + + def forward(self, x): + assert isinstance(x, torch.Tensor) + return einops.rearrange(x, self.rearrange_expr, **self.kwargs) + + +class VerboseNNModule(nn.Module): + """ + Wrapper around nn.Module that prints registered buffers and parameter names. + """ + + @staticmethod + def get_readable_tensor_repr(name: str, tensor: torch.Tensor) -> str: + st = ( + "(" + + name + + "): " + + "tensor(" + + str(tuple(tensor[1].shape)) + + ", requires_grad=" + + str(tensor[1].requires_grad) + + ")\n" + ) + return st + + def extra_repr(self) -> str: + named_modules = set() + for p in self.named_modules(): + named_modules.update([p[0]]) + named_modules = list(named_modules) + + string_repr = "" + for p in self.named_parameters(): + name = p[0].split(".")[0] + if name not in named_modules: + string_repr += self.get_readable_tensor_repr(name, p) + + for p in self.named_buffers(): + name = p[0].split(".")[0] + string_repr += self.get_readable_tensor_repr(name, p) + + return string_repr + + +def cast_if_src_dtype( + tensor: torch.Tensor, src_dtype: torch.dtype, tgt_dtype: torch.dtype +): + updated = False + if tensor.dtype == src_dtype: + tensor = tensor.to(dtype=tgt_dtype) + updated = True + return tensor, updated + + +class QuickGELU(nn.Module): + # From https://github.com/openai/CLIP/blob/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1/clip/model.py#L166 + def forward(self, x: torch.Tensor): + return x * torch.sigmoid(1.702 * x) + + +class SelectElement(nn.Module): + def __init__(self, index) -> None: + super().__init__() + self.index = index + + def forward(self, x): + assert x.ndim >= 3 + return x[:, self.index, ...] + + +class SelectEOSAndProject(nn.Module): + """ + Text Pooling used in OpenCLIP + """ + + def __init__(self, proj: nn.Module) -> None: + super().__init__() + self.proj = proj + + def forward(self, x, seq_len): + assert x.ndim == 3 + # x is of shape B x L x D + # take features from the eot embedding (eot_token is the highest number in each sequence) + x = x[torch.arange(x.shape[0]), seq_len] + x = self.proj(x) + return x diff --git a/video_llama/models/ImageBind/models/imagebind_model.py b/video_llama/models/ImageBind/models/imagebind_model.py new file mode 100644 index 0000000000000000000000000000000000000000..4430d2ea7a0acb19ca0bdf16dfebfc252164cccd --- /dev/null +++ b/video_llama/models/ImageBind/models/imagebind_model.py @@ -0,0 +1,541 @@ +#!/usr/bin/env python3 +# Portions Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + + +import os +from functools import partial +from types import SimpleNamespace + +import torch +import torch.nn as nn + +from .helpers import (EinOpsRearrange, LearnableLogitScaling, Normalize, + SelectElement, SelectEOSAndProject) +from .multimodal_preprocessors import (AudioPreprocessor, + IMUPreprocessor, PadIm2Video, + PatchEmbedGeneric, + RGBDTPreprocessor, + SpatioTemporalPosEmbeddingHelper, + TextPreprocessor, + ThermalPreprocessor) +from .transformer import MultiheadAttention, SimpleTransformer + +ModalityType = SimpleNamespace( + VISION="vision", + TEXT="text", + AUDIO="audio", + THERMAL="thermal", + DEPTH="depth", + IMU="imu", +) + + +class ImageBindModel(nn.Module): + def __init__( + self, + video_frames=2, + kernel_size=(2, 14, 14), + audio_kernel_size=16, + audio_stride=10, + out_embed_dim=768, + vision_embed_dim=1024, + vision_num_blocks=24, + vision_num_heads=16, + audio_embed_dim=768, + audio_num_blocks=12, + audio_num_heads=12, + audio_num_mel_bins=128, + audio_target_len=204, + audio_drop_path=0.1, + text_embed_dim=768, + text_num_blocks=12, + text_num_heads=12, + depth_embed_dim=384, + depth_kernel_size=16, + depth_num_blocks=12, + depth_num_heads=8, + depth_drop_path=0.0, + thermal_embed_dim=768, + thermal_kernel_size=16, + thermal_num_blocks=12, + thermal_num_heads=12, + thermal_drop_path=0.0, + imu_embed_dim=512, + imu_kernel_size=8, + imu_num_blocks=6, + imu_num_heads=8, + imu_drop_path=0.7, + ): + super().__init__() + + self.modality_preprocessors = self._create_modality_preprocessors( + video_frames, + vision_embed_dim, + kernel_size, + text_embed_dim, + audio_embed_dim, + audio_kernel_size, + audio_stride, + audio_num_mel_bins, + audio_target_len, + depth_embed_dim, + depth_kernel_size, + thermal_embed_dim, + thermal_kernel_size, + imu_embed_dim, + ) + + self.modality_trunks = self._create_modality_trunks( + vision_embed_dim, + vision_num_blocks, + vision_num_heads, + text_embed_dim, + text_num_blocks, + text_num_heads, + audio_embed_dim, + audio_num_blocks, + audio_num_heads, + audio_drop_path, + depth_embed_dim, + depth_num_blocks, + depth_num_heads, + depth_drop_path, + thermal_embed_dim, + thermal_num_blocks, + thermal_num_heads, + thermal_drop_path, + imu_embed_dim, + imu_num_blocks, + imu_num_heads, + imu_drop_path, + ) + + self.modality_heads = self._create_modality_heads( + out_embed_dim, + vision_embed_dim, + text_embed_dim, + audio_embed_dim, + depth_embed_dim, + thermal_embed_dim, + imu_embed_dim, + ) + + self.modality_postprocessors = self._create_modality_postprocessors( + out_embed_dim + ) + + def _create_modality_preprocessors( + self, + video_frames=2, + vision_embed_dim=1024, + kernel_size=(2, 14, 14), + text_embed_dim=768, + audio_embed_dim=768, + audio_kernel_size=16, + audio_stride=10, + audio_num_mel_bins=128, + audio_target_len=204, + depth_embed_dim=768, + depth_kernel_size=16, + thermal_embed_dim=768, + thermal_kernel_size=16, + imu_embed_dim=512, + ): + rgbt_stem = PatchEmbedGeneric( + proj_stem=[ + PadIm2Video(pad_type="repeat", ntimes=2), + nn.Conv3d( + in_channels=3, + kernel_size=kernel_size, + out_channels=vision_embed_dim, + stride=kernel_size, + bias=False, + ), + ] + ) + rgbt_preprocessor = RGBDTPreprocessor( + img_size=[3, video_frames, 224, 224], + num_cls_tokens=1, + pos_embed_fn=partial(SpatioTemporalPosEmbeddingHelper, learnable=True), + rgbt_stem=rgbt_stem, + depth_stem=None, + ) + + text_preprocessor = TextPreprocessor( + context_length=77, + vocab_size=49408, + embed_dim=text_embed_dim, + causal_masking=True, + ) + + audio_stem = PatchEmbedGeneric( + proj_stem=[ + nn.Conv2d( + in_channels=1, + kernel_size=audio_kernel_size, + stride=audio_stride, + out_channels=audio_embed_dim, + bias=False, + ), + ], + norm_layer=nn.LayerNorm(normalized_shape=audio_embed_dim), + ) + audio_preprocessor = AudioPreprocessor( + img_size=[1, audio_num_mel_bins, audio_target_len], + num_cls_tokens=1, + pos_embed_fn=partial(SpatioTemporalPosEmbeddingHelper, learnable=True), + audio_stem=audio_stem, + ) + + depth_stem = PatchEmbedGeneric( + [ + nn.Conv2d( + kernel_size=depth_kernel_size, + in_channels=1, + out_channels=depth_embed_dim, + stride=depth_kernel_size, + bias=False, + ), + ], + norm_layer=nn.LayerNorm(normalized_shape=depth_embed_dim), + ) + + depth_preprocessor = RGBDTPreprocessor( + img_size=[1, 224, 224], + num_cls_tokens=1, + pos_embed_fn=partial(SpatioTemporalPosEmbeddingHelper, learnable=True), + rgbt_stem=None, + depth_stem=depth_stem, + ) + + thermal_stem = PatchEmbedGeneric( + [ + nn.Conv2d( + kernel_size=thermal_kernel_size, + in_channels=1, + out_channels=thermal_embed_dim, + stride=thermal_kernel_size, + bias=False, + ), + ], + norm_layer=nn.LayerNorm(normalized_shape=thermal_embed_dim), + ) + thermal_preprocessor = ThermalPreprocessor( + img_size=[1, 224, 224], + num_cls_tokens=1, + pos_embed_fn=partial(SpatioTemporalPosEmbeddingHelper, learnable=True), + thermal_stem=thermal_stem, + ) + + imu_stem = PatchEmbedGeneric( + [ + nn.Linear( + in_features=48, + out_features=imu_embed_dim, + bias=False, + ), + ], + norm_layer=nn.LayerNorm(normalized_shape=imu_embed_dim), + ) + + imu_preprocessor = IMUPreprocessor( + img_size=[6, 2000], + num_cls_tokens=1, + kernel_size=8, + embed_dim=imu_embed_dim, + pos_embed_fn=partial(SpatioTemporalPosEmbeddingHelper, learnable=True), + imu_stem=imu_stem, + ) + + modality_preprocessors = { + ModalityType.VISION: rgbt_preprocessor, + ModalityType.TEXT: text_preprocessor, + ModalityType.AUDIO: audio_preprocessor, + ModalityType.DEPTH: depth_preprocessor, + ModalityType.THERMAL: thermal_preprocessor, + ModalityType.IMU: imu_preprocessor, + } + + return nn.ModuleDict(modality_preprocessors) + + def _create_modality_trunks( + self, + vision_embed_dim=1024, + vision_num_blocks=24, + vision_num_heads=16, + text_embed_dim=768, + text_num_blocks=12, + text_num_heads=12, + audio_embed_dim=768, + audio_num_blocks=12, + audio_num_heads=12, + audio_drop_path=0.0, + depth_embed_dim=768, + depth_num_blocks=12, + depth_num_heads=12, + depth_drop_path=0.0, + thermal_embed_dim=768, + thermal_num_blocks=12, + thermal_num_heads=12, + thermal_drop_path=0.0, + imu_embed_dim=512, + imu_num_blocks=6, + imu_num_heads=8, + imu_drop_path=0.7, + ): + def instantiate_trunk( + embed_dim, num_blocks, num_heads, pre_transformer_ln, add_bias_kv, drop_path + ): + return SimpleTransformer( + embed_dim=embed_dim, + num_blocks=num_blocks, + ffn_dropout_rate=0.0, + drop_path_rate=drop_path, + attn_target=partial( + MultiheadAttention, + embed_dim=embed_dim, + num_heads=num_heads, + bias=True, + add_bias_kv=add_bias_kv, + ), + pre_transformer_layer=nn.Sequential( + nn.LayerNorm(embed_dim, eps=1e-6) + if pre_transformer_ln + else nn.Identity(), + EinOpsRearrange("b l d -> l b d"), + ), + post_transformer_layer=EinOpsRearrange("l b d -> b l d"), + ) + + modality_trunks = {} + modality_trunks[ModalityType.VISION] = instantiate_trunk( + vision_embed_dim, + vision_num_blocks, + vision_num_heads, + pre_transformer_ln=True, + add_bias_kv=False, + drop_path=0.0, + ) + modality_trunks[ModalityType.TEXT] = instantiate_trunk( + text_embed_dim, + text_num_blocks, + text_num_heads, + pre_transformer_ln=False, + add_bias_kv=False, + drop_path=0.0, + ) + modality_trunks[ModalityType.AUDIO] = instantiate_trunk( + audio_embed_dim, + audio_num_blocks, + audio_num_heads, + pre_transformer_ln=False, + add_bias_kv=True, + drop_path=audio_drop_path, + ) + modality_trunks[ModalityType.DEPTH] = instantiate_trunk( + depth_embed_dim, + depth_num_blocks, + depth_num_heads, + pre_transformer_ln=False, + add_bias_kv=True, + drop_path=depth_drop_path, + ) + modality_trunks[ModalityType.THERMAL] = instantiate_trunk( + thermal_embed_dim, + thermal_num_blocks, + thermal_num_heads, + pre_transformer_ln=False, + add_bias_kv=True, + drop_path=thermal_drop_path, + ) + modality_trunks[ModalityType.IMU] = instantiate_trunk( + imu_embed_dim, + imu_num_blocks, + imu_num_heads, + pre_transformer_ln=False, + add_bias_kv=True, + drop_path=imu_drop_path, + ) + + return nn.ModuleDict(modality_trunks) + + def _create_modality_heads( + self, + out_embed_dim, + vision_embed_dim, + text_embed_dim, + audio_embed_dim, + depth_embed_dim, + thermal_embed_dim, + imu_embed_dim, + ): + modality_heads = {} + + modality_heads[ModalityType.VISION] = nn.Sequential( + nn.LayerNorm(normalized_shape=vision_embed_dim, eps=1e-6), + SelectElement(index=0), + nn.Linear(vision_embed_dim, out_embed_dim, bias=False), + ) + + modality_heads[ModalityType.TEXT] = SelectEOSAndProject( + proj=nn.Sequential( + nn.LayerNorm(normalized_shape=text_embed_dim, eps=1e-6), + nn.Linear(text_embed_dim, out_embed_dim, bias=False), + ) + ) + + modality_heads[ModalityType.AUDIO] = nn.Sequential( + nn.LayerNorm(normalized_shape=audio_embed_dim, eps=1e-6), + SelectElement(index=0), + nn.Linear(audio_embed_dim, out_embed_dim, bias=False), + ) + + modality_heads[ModalityType.DEPTH] = nn.Sequential( + nn.LayerNorm(normalized_shape=depth_embed_dim, eps=1e-6), + SelectElement(index=0), + nn.Linear(depth_embed_dim, out_embed_dim, bias=False), + ) + + modality_heads[ModalityType.THERMAL] = nn.Sequential( + nn.LayerNorm(normalized_shape=thermal_embed_dim, eps=1e-6), + SelectElement(index=0), + nn.Linear(thermal_embed_dim, out_embed_dim, bias=False), + ) + + modality_heads[ModalityType.IMU] = nn.Sequential( + nn.LayerNorm(normalized_shape=imu_embed_dim, eps=1e-6), + SelectElement(index=0), + nn.Dropout(p=0.5), + nn.Linear(imu_embed_dim, out_embed_dim, bias=False), + ) + + return nn.ModuleDict(modality_heads) + + def _create_modality_postprocessors(self, out_embed_dim): + modality_postprocessors = {} + + modality_postprocessors[ModalityType.VISION] = Normalize(dim=-1) + modality_postprocessors[ModalityType.TEXT] = nn.Sequential( + Normalize(dim=-1), LearnableLogitScaling(learnable=True) + ) + modality_postprocessors[ModalityType.AUDIO] = nn.Sequential( + Normalize(dim=-1), + LearnableLogitScaling(logit_scale_init=20.0, learnable=False), + ) + modality_postprocessors[ModalityType.DEPTH] = nn.Sequential( + Normalize(dim=-1), + LearnableLogitScaling(logit_scale_init=5.0, learnable=False), + ) + modality_postprocessors[ModalityType.THERMAL] = nn.Sequential( + Normalize(dim=-1), + LearnableLogitScaling(logit_scale_init=10.0, learnable=False), + ) + modality_postprocessors[ModalityType.IMU] = nn.Sequential( + Normalize(dim=-1), + LearnableLogitScaling(logit_scale_init=5.0, learnable=False), + ) + + return nn.ModuleDict(modality_postprocessors) + + def forward(self, inputs): + outputs = {} + for modality_key, modality_value in inputs.items(): + reduce_list = ( + modality_value.ndim >= 5 + ) # Audio and Video inputs consist of multiple clips + if reduce_list: + B, S = modality_value.shape[:2] + modality_value = modality_value.reshape( + B * S, *modality_value.shape[2:] + ) + + if modality_value is not None: + modality_value = self.modality_preprocessors[modality_key]( + **{modality_key: modality_value} + ) + trunk_inputs = modality_value["trunk"] + head_inputs = modality_value["head"] + modality_value = self.modality_trunks[modality_key](**trunk_inputs) + modality_value = self.modality_heads[modality_key]( + modality_value, **head_inputs + ) + modality_value = self.modality_postprocessors[modality_key]( + modality_value + ) + + if reduce_list: + modality_value = modality_value.reshape(B, S, -1) + modality_value = modality_value.mean(dim=1) + + outputs[modality_key] = modality_value + # modality_heads normalize 后768->linear 1024 -> + return outputs + def get_audio_feature(self, inputs, modality_type): + modality_value = inputs + modality_key = modality_type + reduce_list = ( + modality_value.ndim >= 5 + ) # Audio and Video inputs consist of multiple clips + if reduce_list: + B, S = modality_value.shape[:2] + modality_value = modality_value.reshape( + B * S, *modality_value.shape[2:] + ) + + if modality_value is not None: + modality_value = self.modality_preprocessors[modality_key]( + **{modality_key: modality_value} + ) + trunk_inputs = modality_value["trunk"] + head_inputs = modality_value["head"] + modality_value = self.modality_trunks[modality_key](**trunk_inputs) + + audio_feature = self.modality_heads[modality_key][:-1]( + modality_value, **head_inputs + ) + modality_value = self.modality_heads[modality_key][-1:]( + audio_feature, **head_inputs + ) + modality_value = self.modality_postprocessors[modality_key]( + modality_value + ) + + if reduce_list: + audio_feature = audio_feature.reshape(B, S, -1) + modality_value = modality_value.reshape(B, S, -1) + # modality_heads + return audio_feature, modality_value + + +def imagebind_huge(pretrained=False): + model = ImageBindModel( + vision_embed_dim=1280, + vision_num_blocks=32, + vision_num_heads=16, + text_embed_dim=1024, + text_num_blocks=24, + text_num_heads=16, + out_embed_dim=1024, + audio_drop_path=0.1, + imu_drop_path=0.7, + ) + + if pretrained: + if not os.path.exists(".checkpoints/imagebind_huge.pth"): + print( + "Downloading imagebind weights to .checkpoints/imagebind_huge.pth ..." + ) + os.makedirs(".checkpoints", exist_ok=True) + torch.hub.download_url_to_file( + "https://dl.fbaipublicfiles.com/imagebind/imagebind_huge.pth", + ".checkpoints/imagebind_huge.pth", + progress=True, + ) + + model.load_state_dict(torch.load(".checkpoints/imagebind_huge.pth")) + + return model,1024 diff --git a/video_llama/models/ImageBind/models/multimodal_preprocessors.py b/video_llama/models/ImageBind/models/multimodal_preprocessors.py new file mode 100644 index 0000000000000000000000000000000000000000..768c5b9c4f3f9b17b04ee41fec7ca2d99c15335e --- /dev/null +++ b/video_llama/models/ImageBind/models/multimodal_preprocessors.py @@ -0,0 +1,685 @@ +#!/usr/bin/env python3 +# Portions Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +import gzip +import html +import io +import math +from functools import lru_cache +from typing import Callable, List, Optional, Tuple + +import ftfy +import numpy as np +import regex as re +import torch +import torch.nn as nn +from iopath.common.file_io import g_pathmgr +from timm.models.layers import trunc_normal_ + +from .helpers import VerboseNNModule, cast_if_src_dtype + + +def get_sinusoid_encoding_table(n_position, d_hid): + """Sinusoid position encoding table""" + + # TODO: make it with torch instead of numpy + def get_position_angle_vec(position): + return [ + position / np.power(10000, 2 * (hid_j // 2) / d_hid) + for hid_j in range(d_hid) + ] + + sinusoid_table = np.array( + [get_position_angle_vec(pos_i) for pos_i in range(n_position)] + ) + sinusoid_table[:, 0::2] = np.sin(sinusoid_table[:, 0::2]) # dim 2i + sinusoid_table[:, 1::2] = np.cos(sinusoid_table[:, 1::2]) # dim 2i+1 + + return torch.FloatTensor(sinusoid_table).unsqueeze(0) + + +def interpolate_pos_encoding_2d(target_spatial_size, pos_embed): + N = pos_embed.shape[1] + if N == target_spatial_size: + return pos_embed + dim = pos_embed.shape[-1] + # nn.functional.interpolate doesn't work with bfloat16 so we cast to float32 + pos_embed, updated = cast_if_src_dtype(pos_embed, torch.bfloat16, torch.float32) + pos_embed = nn.functional.interpolate( + pos_embed.reshape(1, int(math.sqrt(N)), int(math.sqrt(N)), dim).permute( + 0, 3, 1, 2 + ), + scale_factor=math.sqrt(target_spatial_size / N), + mode="bicubic", + ) + if updated: + pos_embed, _ = cast_if_src_dtype(pos_embed, torch.float32, torch.bfloat16) + pos_embed = pos_embed.permute(0, 2, 3, 1).view(1, -1, dim) + return pos_embed + + +def interpolate_pos_encoding( + npatch_per_img, + pos_embed, + patches_layout, + input_shape=None, + first_patch_idx=1, +): + assert first_patch_idx == 0 or first_patch_idx == 1, "there is 1 CLS token or none" + N = pos_embed.shape[1] - first_patch_idx # since it's 1 if cls_token exists + if npatch_per_img == N: + return pos_embed + + assert ( + patches_layout[-1] == patches_layout[-2] + ), "Interpolation of pos embed not supported for non-square layouts" + + class_emb = pos_embed[:, :first_patch_idx] + pos_embed = pos_embed[:, first_patch_idx:] + + if input_shape is None or patches_layout[0] == 1: + # simple 2D pos embedding, no temporal component + pos_embed = interpolate_pos_encoding_2d(npatch_per_img, pos_embed) + elif patches_layout[0] > 1: + # pos embed has a temporal component + assert len(input_shape) == 4, "temporal interpolation not supported" + # we only support 2D interpolation in this case + num_frames = patches_layout[0] + num_spatial_tokens = patches_layout[1] * patches_layout[2] + pos_embed = pos_embed.view(1, num_frames, num_spatial_tokens, -1) + # interpolate embedding for zeroth frame + pos_embed = interpolate_pos_encoding_2d( + npatch_per_img, pos_embed[0, 0, ...].unsqueeze(0) + ) + else: + raise ValueError("This type of interpolation isn't implemented") + + return torch.cat((class_emb, pos_embed), dim=1) + + +def _get_pos_embedding( + npatch_per_img, + pos_embed, + patches_layout, + input_shape, + first_patch_idx=1, +): + pos_embed = interpolate_pos_encoding( + npatch_per_img, + pos_embed, + patches_layout, + input_shape=input_shape, + first_patch_idx=first_patch_idx, + ) + return pos_embed + + +class PatchEmbedGeneric(nn.Module): + """ + PatchEmbed from Hydra + """ + + def __init__(self, proj_stem, norm_layer: Optional[nn.Module] = None): + super().__init__() + + if len(proj_stem) > 1: + self.proj = nn.Sequential(*proj_stem) + else: + # Special case to be able to load pre-trained models that were + # trained with a standard stem + self.proj = proj_stem[0] + self.norm_layer = norm_layer + + def get_patch_layout(self, img_size): + with torch.no_grad(): + dummy_img = torch.zeros( + [ + 1, + ] + + img_size + ) + dummy_out = self.proj(dummy_img) + embed_dim = dummy_out.shape[1] + patches_layout = tuple(dummy_out.shape[2:]) + num_patches = np.prod(patches_layout) + return patches_layout, num_patches, embed_dim + + def forward(self, x): + x = self.proj(x) + # B C (T) H W -> B (T)HW C + x = x.flatten(2).transpose(1, 2) + if self.norm_layer is not None: + x = self.norm_layer(x) + return x + + +class SpatioTemporalPosEmbeddingHelper(VerboseNNModule): + def __init__( + self, + patches_layout: List, + num_patches: int, + num_cls_tokens: int, + embed_dim: int, + learnable: bool, + ) -> None: + super().__init__() + self.num_cls_tokens = num_cls_tokens + self.patches_layout = patches_layout + self.num_patches = num_patches + self.num_tokens = num_cls_tokens + num_patches + self.learnable = learnable + if self.learnable: + self.pos_embed = nn.Parameter(torch.zeros(1, self.num_tokens, embed_dim)) + trunc_normal_(self.pos_embed, std=0.02) + else: + self.register_buffer( + "pos_embed", get_sinusoid_encoding_table(self.num_tokens, embed_dim) + ) + + def get_pos_embedding(self, vision_input, all_vision_tokens): + input_shape = vision_input.shape + pos_embed = _get_pos_embedding( + all_vision_tokens.size(1) - self.num_cls_tokens, + pos_embed=self.pos_embed, + patches_layout=self.patches_layout, + input_shape=input_shape, + first_patch_idx=self.num_cls_tokens, + ) + return pos_embed + + +class RGBDTPreprocessor(VerboseNNModule): + def __init__( + self, + rgbt_stem: PatchEmbedGeneric, + depth_stem: Optional[PatchEmbedGeneric], + img_size: Tuple = (3, 224, 224), + num_cls_tokens: int = 1, + pos_embed_fn: Optional[Callable] = None, + use_type_embed: bool = False, + init_param_style: str = "openclip", + ) -> None: + super().__init__() + stem = rgbt_stem if rgbt_stem is not None else depth_stem + ( + self.patches_layout, + self.num_patches, + self.embed_dim, + ) = stem.get_patch_layout(img_size) + self.rgbt_stem = rgbt_stem + self.depth_stem = depth_stem + self.use_pos_embed = pos_embed_fn is not None + self.use_type_embed = use_type_embed + self.num_cls_tokens = num_cls_tokens + + if self.use_pos_embed: + self.pos_embedding_helper = pos_embed_fn( + patches_layout=self.patches_layout, + num_cls_tokens=num_cls_tokens, + num_patches=self.num_patches, + embed_dim=self.embed_dim, + ) + if self.num_cls_tokens > 0: + self.cls_token = nn.Parameter( + torch.zeros(1, self.num_cls_tokens, self.embed_dim) + ) + if self.use_type_embed: + self.type_embed = nn.Parameter(torch.zeros(1, 1, self.embed_dim)) + + self.init_parameters(init_param_style) + + @torch.no_grad() + def init_parameters(self, init_param_style): + if init_param_style == "openclip": + # OpenCLIP style initialization + scale = self.embed_dim**-0.5 + if self.use_pos_embed: + nn.init.normal_(self.pos_embedding_helper.pos_embed) + self.pos_embedding_helper.pos_embed *= scale + + if self.num_cls_tokens > 0: + nn.init.normal_(self.cls_token) + self.cls_token *= scale + elif init_param_style == "vit": + self.cls_token.data.fill_(0) + else: + raise ValueError(f"Unknown init {init_param_style}") + + if self.use_type_embed: + nn.init.normal_(self.type_embed) + + def tokenize_input_and_cls_pos(self, input, stem, mask): + # tokens is of shape B x L x D + tokens = stem(input) + assert tokens.ndim == 3 + assert tokens.shape[2] == self.embed_dim + B = tokens.shape[0] + if self.num_cls_tokens > 0: + class_tokens = self.cls_token.expand( + B, -1, -1 + ) # stole class_tokens impl from Phil Wang, thanks + tokens = torch.cat((class_tokens, tokens), dim=1) + if self.use_pos_embed: + pos_embed = self.pos_embedding_helper.get_pos_embedding(input, tokens) + tokens = tokens + pos_embed + if self.use_type_embed: + tokens = tokens + self.type_embed.expand(B, -1, -1) + return tokens + + def forward(self, vision=None, depth=None, patch_mask=None): + if patch_mask is not None: + raise NotImplementedError() + + if vision is not None: + vision_tokens = self.tokenize_input_and_cls_pos( + vision, self.rgbt_stem, patch_mask + ) + + if depth is not None: + depth_tokens = self.tokenize_input_and_cls_pos( + depth, self.depth_stem, patch_mask + ) + + # aggregate tokens + if vision is not None and depth is not None: + final_tokens = vision_tokens + depth_tokens + else: + final_tokens = vision_tokens if vision is not None else depth_tokens + return_dict = { + "trunk": { + "tokens": final_tokens, + }, + "head": {}, + } + return return_dict + + +class AudioPreprocessor(RGBDTPreprocessor): + def __init__(self, audio_stem: PatchEmbedGeneric, **kwargs) -> None: + super().__init__(rgbt_stem=audio_stem, depth_stem=None, **kwargs) + + def forward(self, audio=None): + return super().forward(vision=audio) + + +class ThermalPreprocessor(RGBDTPreprocessor): + def __init__(self, thermal_stem: PatchEmbedGeneric, **kwargs) -> None: + super().__init__(rgbt_stem=thermal_stem, depth_stem=None, **kwargs) + + def forward(self, thermal=None): + return super().forward(vision=thermal) + + +def build_causal_attention_mask(context_length): + # lazily create causal attention mask, with full attention between the vision tokens + # pytorch uses additive attention mask; fill with -inf + mask = torch.empty(context_length, context_length, requires_grad=False) + mask.fill_(float("-inf")) + mask.triu_(1) # zero out the lower diagonal + return mask + + +class TextPreprocessor(VerboseNNModule): + def __init__( + self, + vocab_size: int, + context_length: int, + embed_dim: int, + causal_masking: bool, + supply_seq_len_to_head: bool = True, + num_cls_tokens: int = 0, + init_param_style: str = "openclip", + ) -> None: + super().__init__() + self.vocab_size = vocab_size + self.context_length = context_length + self.token_embedding = nn.Embedding(vocab_size, embed_dim) + self.pos_embed = nn.Parameter( + torch.empty(1, self.context_length + num_cls_tokens, embed_dim) + ) + self.causal_masking = causal_masking + if self.causal_masking: + mask = build_causal_attention_mask(self.context_length) + # register the mask as a buffer so it can be moved to the right device + self.register_buffer("mask", mask) + + self.supply_seq_len_to_head = supply_seq_len_to_head + self.num_cls_tokens = num_cls_tokens + self.embed_dim = embed_dim + if num_cls_tokens > 0: + assert self.causal_masking is False, "Masking + CLS token isn't implemented" + self.cls_token = nn.Parameter( + torch.zeros(1, self.num_cls_tokens, embed_dim) + ) + + self.init_parameters(init_param_style) + + @torch.no_grad() + def init_parameters(self, init_param_style="openclip"): + # OpenCLIP style initialization + nn.init.normal_(self.token_embedding.weight, std=0.02) + nn.init.normal_(self.pos_embed, std=0.01) + + if init_param_style == "openclip": + # OpenCLIP style initialization + scale = self.embed_dim**-0.5 + if self.num_cls_tokens > 0: + nn.init.normal_(self.cls_token) + self.cls_token *= scale + elif init_param_style == "vit": + self.cls_token.data.fill_(0) + else: + raise ValueError(f"Unknown init {init_param_style}") + + def forward(self, text): + # text tokens are of shape B x L x D + text_tokens = self.token_embedding(text) + # concat CLS tokens if any + if self.num_cls_tokens > 0: + B = text_tokens.shape[0] + class_tokens = self.cls_token.expand( + B, -1, -1 + ) # stole class_tokens impl from Phil Wang, thanks + text_tokens = torch.cat((class_tokens, text_tokens), dim=1) + text_tokens = text_tokens + self.pos_embed + return_dict = { + "trunk": { + "tokens": text_tokens, + }, + "head": {}, + } + # Compute sequence length after adding CLS tokens + if self.supply_seq_len_to_head: + text_lengths = text.argmax(dim=-1) + return_dict["head"] = { + "seq_len": text_lengths, + } + if self.causal_masking: + return_dict["trunk"].update({"attn_mask": self.mask}) + return return_dict + + +class Im2Video(nn.Module): + """Convert an image into a trivial video.""" + + def __init__(self, time_dim=2): + super().__init__() + self.time_dim = time_dim + + def forward(self, x): + if x.ndim == 4: + # B, C, H, W -> B, C, T, H, W + return x.unsqueeze(self.time_dim) + elif x.ndim == 5: + return x + else: + raise ValueError(f"Dimension incorrect {x.shape}") + + +class PadIm2Video(Im2Video): + def __init__(self, ntimes, pad_type, time_dim=2): + super().__init__(time_dim=time_dim) + assert ntimes > 0 + assert pad_type in ["zero", "repeat"] + self.ntimes = ntimes + self.pad_type = pad_type + + def forward(self, x): + x = super().forward(x) + if x.shape[self.time_dim] == 1: + if self.pad_type == "repeat": + new_shape = [1] * len(x.shape) + new_shape[self.time_dim] = self.ntimes + x = x.repeat(new_shape) + elif self.pad_type == "zero": + padarg = [0, 0] * len(x.shape) + padarg[2 * self.time_dim + 1] = self.ntimes - x.shape[self.time_dim] + x = nn.functional.pad(x, padarg) + return x + + +# Modified from github.com/openai/CLIP +@lru_cache() +def bytes_to_unicode(): + """ + Returns list of utf-8 byte and a corresponding list of unicode strings. + The reversible bpe codes work on unicode strings. + This means you need a large # of unicode characters in your vocab if you want to avoid UNKs. + When you're at something like a 10B token dataset you end up needing around 5K for decent coverage. + This is a signficant percentage of your normal, say, 32K bpe vocab. + To avoid that, we want lookup tables between utf-8 bytes and unicode strings. + And avoids mapping to whitespace/control characters the bpe code barfs on. + """ + bs = ( + list(range(ord("!"), ord("~") + 1)) + + list(range(ord("¡"), ord("¬") + 1)) + + list(range(ord("®"), ord("ÿ") + 1)) + ) + cs = bs[:] + n = 0 + for b in range(2**8): + if b not in bs: + bs.append(b) + cs.append(2**8 + n) + n += 1 + cs = [chr(n) for n in cs] + return dict(zip(bs, cs)) + + +def get_pairs(word): + """Return set of symbol pairs in a word. + Word is represented as tuple of symbols (symbols being variable-length strings). + """ + pairs = set() + prev_char = word[0] + for char in word[1:]: + pairs.add((prev_char, char)) + prev_char = char + return pairs + + +def basic_clean(text): + text = ftfy.fix_text(text) + text = html.unescape(html.unescape(text)) + return text.strip() + + +def whitespace_clean(text): + text = re.sub(r"\s+", " ", text) + text = text.strip() + return text + + +class SimpleTokenizer(object): + def __init__(self, bpe_path: str, context_length=77): + self.byte_encoder = bytes_to_unicode() + self.byte_decoder = {v: k for k, v in self.byte_encoder.items()} + + with g_pathmgr.open(bpe_path, "rb") as fh: + bpe_bytes = io.BytesIO(fh.read()) + merges: List[str] = gzip.open(bpe_bytes).read().decode("utf-8").split("\n") + merges = merges[1 : 49152 - 256 - 2 + 1] + merges: List[Tuple[str, ...]] = [tuple(merge.split()) for merge in merges] + vocab = list(bytes_to_unicode().values()) + vocab = vocab + [v + "" for v in vocab] + for merge in merges: + vocab.append("".join(merge)) + vocab.extend(["<|startoftext|>", "<|endoftext|>"]) + self.encoder = dict(zip(vocab, range(len(vocab)))) + self.decoder = {v: k for k, v in self.encoder.items()} + self.bpe_ranks = dict(zip(merges, range(len(merges)))) + self.cache = { + "<|startoftext|>": "<|startoftext|>", + "<|endoftext|>": "<|endoftext|>", + } + self.pat = re.compile( + r"""<\|startoftext\|>|<\|endoftext\|>|'s|'t|'re|'ve|'m|'ll|'d|[\p{L}]+|[\p{N}]|[^\s\p{L}\p{N}]+""", + re.IGNORECASE, + ) + self.context_length = context_length + + def bpe(self, token): + if token in self.cache: + return self.cache[token] + word = tuple(token[:-1]) + (token[-1] + "",) + pairs = get_pairs(word) + + if not pairs: + return token + "" + + while True: + bigram = min(pairs, key=lambda pair: self.bpe_ranks.get(pair, float("inf"))) + if bigram not in self.bpe_ranks: + break + first, second = bigram + new_word = [] + i = 0 + while i < len(word): + try: + j = word.index(first, i) + new_word.extend(word[i:j]) + i = j + except: + new_word.extend(word[i:]) + break + + if word[i] == first and i < len(word) - 1 and word[i + 1] == second: + new_word.append(first + second) + i += 2 + else: + new_word.append(word[i]) + i += 1 + new_word = tuple(new_word) + word = new_word + if len(word) == 1: + break + else: + pairs = get_pairs(word) + word = " ".join(word) + self.cache[token] = word + return word + + def encode(self, text): + bpe_tokens = [] + text = whitespace_clean(basic_clean(text)).lower() + for token in re.findall(self.pat, text): + token = "".join(self.byte_encoder[b] for b in token.encode("utf-8")) + bpe_tokens.extend( + self.encoder[bpe_token] for bpe_token in self.bpe(token).split(" ") + ) + return bpe_tokens + + def decode(self, tokens): + text = "".join([self.decoder[token] for token in tokens]) + text = ( + bytearray([self.byte_decoder[c] for c in text]) + .decode("utf-8", errors="replace") + .replace("", " ") + ) + return text + + def __call__(self, texts, context_length=None): + if not context_length: + context_length = self.context_length + + if isinstance(texts, str): + texts = [texts] + + sot_token = self.encoder["<|startoftext|>"] + eot_token = self.encoder["<|endoftext|>"] + all_tokens = [[sot_token] + self.encode(text) + [eot_token] for text in texts] + result = torch.zeros(len(all_tokens), context_length, dtype=torch.long) + + for i, tokens in enumerate(all_tokens): + tokens = tokens[:context_length] + result[i, : len(tokens)] = torch.tensor(tokens) + + if len(result) == 1: + return result[0] + return result + + +class IMUPreprocessor(VerboseNNModule): + def __init__( + self, + kernel_size: int, + imu_stem: PatchEmbedGeneric, + embed_dim: int, + img_size: Tuple = (6, 2000), + num_cls_tokens: int = 1, + pos_embed_fn: Optional[Callable] = None, + init_param_style: str = "openclip", + ) -> None: + super().__init__() + self.imu_stem = imu_stem + self.embed_dim = embed_dim + self.use_pos_embed = pos_embed_fn is not None + self.num_cls_tokens = num_cls_tokens + self.kernel_size = kernel_size + self.pos_embed = nn.Parameter( + torch.empty(1, (img_size[1] // kernel_size) + num_cls_tokens, embed_dim) + ) + + if self.num_cls_tokens > 0: + self.cls_token = nn.Parameter( + torch.zeros(1, self.num_cls_tokens, self.embed_dim) + ) + + self.init_parameters(init_param_style) + + @torch.no_grad() + def init_parameters(self, init_param_style): + nn.init.normal_(self.pos_embed, std=0.01) + + if init_param_style == "openclip": + # OpenCLIP style initialization + scale = self.embed_dim**-0.5 + + if self.num_cls_tokens > 0: + nn.init.normal_(self.cls_token) + self.cls_token *= scale + elif init_param_style == "vit": + self.cls_token.data.fill_(0) + else: + raise ValueError(f"Unknown init {init_param_style}") + + def tokenize_input_and_cls_pos(self, input, stem): + # tokens is of shape B x L x D + tokens = stem.norm_layer(stem.proj(input)) + assert tokens.ndim == 3 + assert tokens.shape[2] == self.embed_dim + B = tokens.shape[0] + if self.num_cls_tokens > 0: + class_tokens = self.cls_token.expand( + B, -1, -1 + ) # stole class_tokens impl from Phil Wang, thanks + tokens = torch.cat((class_tokens, tokens), dim=1) + if self.use_pos_embed: + tokens = tokens + self.pos_embed + return tokens + + def forward(self, imu): + # Patchify + imu = imu.unfold( + -1, + self.kernel_size, + self.kernel_size, + ).permute(0, 2, 1, 3) + imu = imu.reshape(imu.size(0), imu.size(1), -1) + + imu_tokens = self.tokenize_input_and_cls_pos( + imu, + self.imu_stem, + ) + + return_dict = { + "trunk": { + "tokens": imu_tokens, + }, + "head": {}, + } + return return_dict diff --git a/video_llama/models/ImageBind/models/transformer.py b/video_llama/models/ImageBind/models/transformer.py new file mode 100644 index 0000000000000000000000000000000000000000..6224faf89d620de010d148bd50dae85176995031 --- /dev/null +++ b/video_llama/models/ImageBind/models/transformer.py @@ -0,0 +1,280 @@ +#!/usr/bin/env python3 +# Portions Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. + +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +# Code modified from +# https://github.com/rwightman/pytorch-image-models/blob/master/timm/models/vision_transformer.py ; +# https://github.com/facebookresearch/deit/blob/main/models.py +# and https://github.com/facebookresearch/vissl/blob/main/vissl/models/trunks/vision_transformer.py + + +from functools import partial +from typing import Callable, List, Optional + +import torch +import torch.nn as nn +import torch.utils.checkpoint as checkpoint +from timm.models.layers import DropPath, trunc_normal_ + + +class Attention(nn.Module): + def __init__( + self, + dim, + num_heads=8, + qkv_bias=False, + qk_scale=None, + attn_drop=0.0, + proj_drop=0.0, + ): + super().__init__() + self.num_heads = num_heads + head_dim = dim // num_heads + # NOTE scale factor was wrong in my original version, + # can set manually to be compat with prev weights + self.scale = qk_scale or head_dim**-0.5 + + self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias) + self.attn_drop = nn.Dropout(attn_drop) + self.proj = nn.Linear(dim, dim) + self.proj_drop = nn.Dropout(proj_drop) + + def forward(self, x): + B, N, C = x.shape + qkv = ( + self.qkv(x) + .reshape(B, N, 3, self.num_heads, C // self.num_heads) + .permute(2, 0, 3, 1, 4) + ) + q, k, v = ( + qkv[0], + qkv[1], + qkv[2], + ) # make torchscript happy (cannot use tensor as tuple) + + attn = (q @ k.transpose(-2, -1)) * self.scale + attn = attn.softmax(dim=-1) + attn = self.attn_drop(attn) + + x = (attn @ v).transpose(1, 2).reshape(B, N, C) + x = self.proj(x) + x = self.proj_drop(x) + return x + + +class Mlp(nn.Module): + def __init__( + self, + in_features, + hidden_features=None, + out_features=None, + act_layer=nn.GELU, + drop=0.0, + ): + super().__init__() + out_features = out_features or in_features + hidden_features = hidden_features or in_features + self.fc1 = nn.Linear(in_features, hidden_features) + self.act = act_layer() + self.fc2 = nn.Linear(hidden_features, out_features) + self.drop = nn.Dropout(drop) + + def forward(self, x): + x = self.fc1(x) + x = self.act(x) + x = self.drop(x) + x = self.fc2(x) + x = self.drop(x) + return x + + +class MultiheadAttention(nn.MultiheadAttention): + def forward(self, x: torch.Tensor, attn_mask: torch.Tensor): + return super().forward(x, x, x, need_weights=False, attn_mask=attn_mask)[0] + + +class ViTAttention(Attention): + def forward(self, x: torch.Tensor, attn_mask: torch.Tensor): + assert attn_mask is None + return super().forward(x) + + +class BlockWithMasking(nn.Module): + def __init__( + self, + dim: int, + attn_target: Callable, + mlp_ratio: int = 4, + act_layer: Callable = nn.GELU, + norm_layer: Callable = nn.LayerNorm, + ffn_dropout_rate: float = 0.0, + drop_path: float = 0.0, + layer_scale_type: Optional[str] = None, + layer_scale_init_value: float = 1e-4, + ): + super().__init__() + + assert not isinstance( + attn_target, nn.Module + ), "attn_target should be a Callable. Otherwise attn_target is shared across blocks!" + self.attn = attn_target() + if drop_path > 0.0: + self.drop_path = DropPath(drop_path) + else: + self.drop_path = nn.Identity() + self.norm_1 = norm_layer(dim) + mlp_hidden_dim = int(mlp_ratio * dim) + self.mlp = Mlp( + in_features=dim, + hidden_features=mlp_hidden_dim, + act_layer=act_layer, + drop=ffn_dropout_rate, + ) + self.norm_2 = norm_layer(dim) + self.layer_scale_type = layer_scale_type + if self.layer_scale_type is not None: + assert self.layer_scale_type in [ + "per_channel", + "scalar", + ], f"Found Layer scale type {self.layer_scale_type}" + if self.layer_scale_type == "per_channel": + # one gamma value per channel + gamma_shape = [1, 1, dim] + elif self.layer_scale_type == "scalar": + # single gamma value for all channels + gamma_shape = [1, 1, 1] + # two gammas: for each part of the fwd in the encoder + self.layer_scale_gamma1 = nn.Parameter( + torch.ones(size=gamma_shape) * layer_scale_init_value, + requires_grad=True, + ) + self.layer_scale_gamma2 = nn.Parameter( + torch.ones(size=gamma_shape) * layer_scale_init_value, + requires_grad=True, + ) + + def forward(self, x: torch.Tensor, attn_mask: torch.Tensor): + if self.layer_scale_type is None: + x = x + self.drop_path(self.attn(self.norm_1(x), attn_mask)) + x = x + self.drop_path(self.mlp(self.norm_2(x))) + else: + x = ( + x + + self.drop_path(self.attn(self.norm_1(x), attn_mask)) + * self.layer_scale_gamma1 + ) + x = x + self.drop_path(self.mlp(self.norm_2(x))) * self.layer_scale_gamma2 + return x + + +_LAYER_NORM = partial(nn.LayerNorm, eps=1e-6) + + +class SimpleTransformer(nn.Module): + def __init__( + self, + attn_target: Callable, + embed_dim: int, + num_blocks: int, + block: Callable = BlockWithMasking, + pre_transformer_layer: Optional[Callable] = None, + post_transformer_layer: Optional[Callable] = None, + drop_path_rate: float = 0.0, + drop_path_type: str = "progressive", + norm_layer: Callable = _LAYER_NORM, + mlp_ratio: int = 4, + ffn_dropout_rate: float = 0.0, + layer_scale_type: Optional[str] = None, # from cait; possible values are None, "per_channel", "scalar" + layer_scale_init_value: float = 1e-4, # from cait; float + weight_init_style: str = "jax", # possible values jax or pytorch + ): + """ + Simple Transformer with the following features + 1. Supports masked attention + 2. Supports DropPath + 3. Supports LayerScale + 4. Supports Dropout in Attention and FFN + 5. Makes few assumptions about the input except that it is a Tensor + """ + super().__init__() + self.pre_transformer_layer = pre_transformer_layer + if drop_path_type == "progressive": + dpr = [x.item() for x in torch.linspace(0, drop_path_rate, num_blocks)] + elif drop_path_type == "uniform": + dpr = [drop_path_rate for i in range(num_blocks)] + else: + raise ValueError(f"Unknown drop_path_type: {drop_path_type}") + + self.blocks = nn.Sequential( + *[ + block( + dim=embed_dim, + attn_target=attn_target, + mlp_ratio=mlp_ratio, + ffn_dropout_rate=ffn_dropout_rate, + drop_path=dpr[i], + norm_layer=norm_layer, + layer_scale_type=layer_scale_type, + layer_scale_init_value=layer_scale_init_value, + ) + for i in range(num_blocks) + ] + ) + self.post_transformer_layer = post_transformer_layer + self.weight_init_style = weight_init_style + self.apply(self._init_weights) + + def _init_weights(self, m): + if isinstance(m, nn.Linear): + if self.weight_init_style == "jax": + # Based on MAE and official Jax ViT implementation + torch.nn.init.xavier_uniform_(m.weight) + elif self.weight_init_style == "pytorch": + # PyTorch ViT uses trunc_normal_ + trunc_normal_(m.weight, std=0.02) + + if m.bias is not None: + nn.init.constant_(m.bias, 0) + elif isinstance(m, (nn.LayerNorm)): + nn.init.constant_(m.bias, 0) + nn.init.constant_(m.weight, 1.0) + + def forward( + self, + tokens: torch.Tensor, + attn_mask: torch.Tensor = None, + use_checkpoint: bool = False, + checkpoint_every_n: int = 1, + checkpoint_blk_ids: Optional[List[int]] = None, + ): + """ + Inputs + - tokens: data of shape N x L x D (or L x N x D depending on the attention implementation) + - attn: mask of shape L x L + + Output + - x: data of shape N x L x D (or L x N x D depending on the attention implementation) + """ + if self.pre_transformer_layer: + tokens = self.pre_transformer_layer(tokens) + if use_checkpoint and checkpoint_blk_ids is None: + checkpoint_blk_ids = [ + blk_id + for blk_id in range(len(self.blocks)) + if blk_id % checkpoint_every_n == 0 + ] + if checkpoint_blk_ids: + checkpoint_blk_ids = set(checkpoint_blk_ids) + for blk_id, blk in enumerate(self.blocks): + if use_checkpoint and blk_id in checkpoint_blk_ids: + tokens = checkpoint.checkpoint( + blk, tokens, attn_mask, use_reentrant=False + ) + else: + tokens = blk(tokens, attn_mask=attn_mask) + if self.post_transformer_layer: + tokens = self.post_transformer_layer(tokens) + return tokens diff --git a/video_llama/models/ImageBind/requirements.txt b/video_llama/models/ImageBind/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d35cb65aedcc46b805aac9328ca2e0e246a76dae --- /dev/null +++ b/video_llama/models/ImageBind/requirements.txt @@ -0,0 +1,17 @@ +--extra-index-url https://download.pytorch.org/whl/cu113 +torch==1.13.0 +torchvision==0.14.0 +torchaudio==0.13.0 +pytorchvideo @ git+https://github.com/facebookresearch/pytorchvideo.git@28fe037d212663c6a24f373b94cc5d478c8c1a1d +timm==0.6.7 +ftfy +regex +einops +fvcore +decord==0.6.0 +iopath +numpy +matplotlib +types-regex +mayavi +cartopy diff --git a/video_llama/models/Qformer.py b/video_llama/models/Qformer.py new file mode 100644 index 0000000000000000000000000000000000000000..4902165ec6574d89f04cbeb2141b018278324ca6 --- /dev/null +++ b/video_llama/models/Qformer.py @@ -0,0 +1,1217 @@ +""" +Adapted from salesforce@LAVIS. Below is the original copyright: + * Copyright (c) 2023, salesforce.com, inc. + * All rights reserved. + * SPDX-License-Identifier: BSD-3-Clause + * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause + * By Junnan Li + * Based on huggingface code base + * https://github.com/huggingface/transformers/blob/v4.15.0/src/transformers/models/bert +""" + +import math +import os +import warnings +from dataclasses import dataclass +from typing import Optional, Tuple, Dict, Any + +import torch +from torch import Tensor, device, dtype, nn +import torch.utils.checkpoint +from torch import nn +from torch.nn import CrossEntropyLoss +import torch.nn.functional as F + +from transformers.activations import ACT2FN +from transformers.file_utils import ( + ModelOutput, +) +from transformers.modeling_outputs import ( + BaseModelOutputWithPastAndCrossAttentions, + BaseModelOutputWithPoolingAndCrossAttentions, + CausalLMOutputWithCrossAttentions, + MaskedLMOutput, + MultipleChoiceModelOutput, + NextSentencePredictorOutput, + QuestionAnsweringModelOutput, + SequenceClassifierOutput, + TokenClassifierOutput, +) +from transformers.modeling_utils import ( + PreTrainedModel, + apply_chunking_to_forward, + find_pruneable_heads_and_indices, + prune_linear_layer, +) +from transformers.utils import logging +from transformers.models.bert.configuration_bert import BertConfig + +logger = logging.get_logger(__name__) + + +class BertEmbeddings(nn.Module): + """Construct the embeddings from word and position embeddings.""" + + def __init__(self, config): + super().__init__() + self.word_embeddings = nn.Embedding( + config.vocab_size, config.hidden_size, padding_idx=config.pad_token_id + ) + self.position_embeddings = nn.Embedding( + config.max_position_embeddings, config.hidden_size + ) + + # self.LayerNorm is not snake-cased to stick with TensorFlow model variable name and be able to load + # any TensorFlow checkpoint file + self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) + self.dropout = nn.Dropout(config.hidden_dropout_prob) + + # position_ids (1, len position emb) is contiguous in memory and exported when serialized + self.register_buffer( + "position_ids", torch.arange(config.max_position_embeddings).expand((1, -1)) + ) + self.position_embedding_type = getattr( + config, "position_embedding_type", "absolute" + ) + + self.config = config + + def forward( + self, + input_ids=None, + position_ids=None, + query_embeds=None, + past_key_values_length=0, + ): + if input_ids is not None: + seq_length = input_ids.size()[1] + else: + seq_length = 0 + + if position_ids is None: + position_ids = self.position_ids[ + :, past_key_values_length : seq_length + past_key_values_length + ].clone() + + if input_ids is not None: + embeddings = self.word_embeddings(input_ids) + if self.position_embedding_type == "absolute": + position_embeddings = self.position_embeddings(position_ids) + embeddings = embeddings + position_embeddings + + if query_embeds is not None: + embeddings = torch.cat((query_embeds, embeddings), dim=1) + else: + embeddings = query_embeds + + embeddings = self.LayerNorm(embeddings) + embeddings = self.dropout(embeddings) + return embeddings + + +class BertSelfAttention(nn.Module): + def __init__(self, config, is_cross_attention): + super().__init__() + self.config = config + if config.hidden_size % config.num_attention_heads != 0 and not hasattr( + config, "embedding_size" + ): + raise ValueError( + "The hidden size (%d) is not a multiple of the number of attention " + "heads (%d)" % (config.hidden_size, config.num_attention_heads) + ) + + self.num_attention_heads = config.num_attention_heads + self.attention_head_size = int(config.hidden_size / config.num_attention_heads) + self.all_head_size = self.num_attention_heads * self.attention_head_size + + self.query = nn.Linear(config.hidden_size, self.all_head_size) + if is_cross_attention: + self.key = nn.Linear(config.encoder_width, self.all_head_size) + self.value = nn.Linear(config.encoder_width, self.all_head_size) + else: + self.key = nn.Linear(config.hidden_size, self.all_head_size) + self.value = nn.Linear(config.hidden_size, self.all_head_size) + + self.dropout = nn.Dropout(config.attention_probs_dropout_prob) + self.position_embedding_type = getattr( + config, "position_embedding_type", "absolute" + ) + if ( + self.position_embedding_type == "relative_key" + or self.position_embedding_type == "relative_key_query" + ): + self.max_position_embeddings = config.max_position_embeddings + self.distance_embedding = nn.Embedding( + 2 * config.max_position_embeddings - 1, self.attention_head_size + ) + self.save_attention = False + + def save_attn_gradients(self, attn_gradients): + self.attn_gradients = attn_gradients + + def get_attn_gradients(self): + return self.attn_gradients + + def save_attention_map(self, attention_map): + self.attention_map = attention_map + + def get_attention_map(self): + return self.attention_map + + def transpose_for_scores(self, x): + new_x_shape = x.size()[:-1] + ( + self.num_attention_heads, + self.attention_head_size, + ) + x = x.view(*new_x_shape) + return x.permute(0, 2, 1, 3) + + def forward( + self, + hidden_states, + attention_mask=None, + head_mask=None, + encoder_hidden_states=None, + encoder_attention_mask=None, + past_key_value=None, + output_attentions=False, + ): + + # If this is instantiated as a cross-attention module, the keys + # and values come from an encoder; the attention mask needs to be + # such that the encoder's padding tokens are not attended to. + is_cross_attention = encoder_hidden_states is not None + + if is_cross_attention: + key_layer = self.transpose_for_scores(self.key(encoder_hidden_states)) + value_layer = self.transpose_for_scores(self.value(encoder_hidden_states)) + attention_mask = encoder_attention_mask + elif past_key_value is not None: + key_layer = self.transpose_for_scores(self.key(hidden_states)) + value_layer = self.transpose_for_scores(self.value(hidden_states)) + key_layer = torch.cat([past_key_value[0], key_layer], dim=2) + value_layer = torch.cat([past_key_value[1], value_layer], dim=2) + else: + key_layer = self.transpose_for_scores(self.key(hidden_states)) + value_layer = self.transpose_for_scores(self.value(hidden_states)) + + mixed_query_layer = self.query(hidden_states) + + query_layer = self.transpose_for_scores(mixed_query_layer) + + past_key_value = (key_layer, value_layer) + + # Take the dot product between "query" and "key" to get the raw attention scores. + attention_scores = torch.matmul(query_layer, key_layer.transpose(-1, -2)) + + if ( + self.position_embedding_type == "relative_key" + or self.position_embedding_type == "relative_key_query" + ): + seq_length = hidden_states.size()[1] + position_ids_l = torch.arange( + seq_length, dtype=torch.long, device=hidden_states.device + ).view(-1, 1) + position_ids_r = torch.arange( + seq_length, dtype=torch.long, device=hidden_states.device + ).view(1, -1) + distance = position_ids_l - position_ids_r + positional_embedding = self.distance_embedding( + distance + self.max_position_embeddings - 1 + ) + positional_embedding = positional_embedding.to( + dtype=query_layer.dtype + ) # fp16 compatibility + + if self.position_embedding_type == "relative_key": + relative_position_scores = torch.einsum( + "bhld,lrd->bhlr", query_layer, positional_embedding + ) + attention_scores = attention_scores + relative_position_scores + elif self.position_embedding_type == "relative_key_query": + relative_position_scores_query = torch.einsum( + "bhld,lrd->bhlr", query_layer, positional_embedding + ) + relative_position_scores_key = torch.einsum( + "bhrd,lrd->bhlr", key_layer, positional_embedding + ) + attention_scores = ( + attention_scores + + relative_position_scores_query + + relative_position_scores_key + ) + + attention_scores = attention_scores / math.sqrt(self.attention_head_size) + if attention_mask is not None: + # Apply the attention mask is (precomputed for all layers in BertModel forward() function) + attention_scores = attention_scores + attention_mask + + # Normalize the attention scores to probabilities. + attention_probs = nn.Softmax(dim=-1)(attention_scores) + + if is_cross_attention and self.save_attention: + self.save_attention_map(attention_probs) + attention_probs.register_hook(self.save_attn_gradients) + + # This is actually dropping out entire tokens to attend to, which might + # seem a bit unusual, but is taken from the original Transformer paper. + attention_probs_dropped = self.dropout(attention_probs) + + # Mask heads if we want to + if head_mask is not None: + attention_probs_dropped = attention_probs_dropped * head_mask + + context_layer = torch.matmul(attention_probs_dropped, value_layer) + + context_layer = context_layer.permute(0, 2, 1, 3).contiguous() + new_context_layer_shape = context_layer.size()[:-2] + (self.all_head_size,) + context_layer = context_layer.view(*new_context_layer_shape) + + outputs = ( + (context_layer, attention_probs) if output_attentions else (context_layer,) + ) + + outputs = outputs + (past_key_value,) + return outputs + + +class BertSelfOutput(nn.Module): + def __init__(self, config): + super().__init__() + self.dense = nn.Linear(config.hidden_size, config.hidden_size) + self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) + self.dropout = nn.Dropout(config.hidden_dropout_prob) + + def forward(self, hidden_states, input_tensor): + hidden_states = self.dense(hidden_states) + hidden_states = self.dropout(hidden_states) + hidden_states = self.LayerNorm(hidden_states + input_tensor) + return hidden_states + + +class BertAttention(nn.Module): + def __init__(self, config, is_cross_attention=False): + super().__init__() + self.self = BertSelfAttention(config, is_cross_attention) + self.output = BertSelfOutput(config) + self.pruned_heads = set() + + def prune_heads(self, heads): + if len(heads) == 0: + return + heads, index = find_pruneable_heads_and_indices( + heads, + self.self.num_attention_heads, + self.self.attention_head_size, + self.pruned_heads, + ) + + # Prune linear layers + self.self.query = prune_linear_layer(self.self.query, index) + self.self.key = prune_linear_layer(self.self.key, index) + self.self.value = prune_linear_layer(self.self.value, index) + self.output.dense = prune_linear_layer(self.output.dense, index, dim=1) + + # Update hyper params and store pruned heads + self.self.num_attention_heads = self.self.num_attention_heads - len(heads) + self.self.all_head_size = ( + self.self.attention_head_size * self.self.num_attention_heads + ) + self.pruned_heads = self.pruned_heads.union(heads) + + def forward( + self, + hidden_states, + attention_mask=None, + head_mask=None, + encoder_hidden_states=None, + encoder_attention_mask=None, + past_key_value=None, + output_attentions=False, + ): + self_outputs = self.self( + hidden_states, + attention_mask, + head_mask, + encoder_hidden_states, + encoder_attention_mask, + past_key_value, + output_attentions, + ) + attention_output = self.output(self_outputs[0], hidden_states) + + outputs = (attention_output,) + self_outputs[ + 1: + ] # add attentions if we output them + return outputs + + +class BertIntermediate(nn.Module): + def __init__(self, config): + super().__init__() + self.dense = nn.Linear(config.hidden_size, config.intermediate_size) + if isinstance(config.hidden_act, str): + self.intermediate_act_fn = ACT2FN[config.hidden_act] + else: + self.intermediate_act_fn = config.hidden_act + + def forward(self, hidden_states): + hidden_states = self.dense(hidden_states) + hidden_states = self.intermediate_act_fn(hidden_states) + return hidden_states + + +class BertOutput(nn.Module): + def __init__(self, config): + super().__init__() + self.dense = nn.Linear(config.intermediate_size, config.hidden_size) + self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) + self.dropout = nn.Dropout(config.hidden_dropout_prob) + + def forward(self, hidden_states, input_tensor): + hidden_states = self.dense(hidden_states) + hidden_states = self.dropout(hidden_states) + hidden_states = self.LayerNorm(hidden_states + input_tensor) + return hidden_states + + +class BertLayer(nn.Module): + def __init__(self, config, layer_num): + super().__init__() + self.config = config + self.chunk_size_feed_forward = config.chunk_size_feed_forward + self.seq_len_dim = 1 + self.attention = BertAttention(config) + self.layer_num = layer_num + if ( + self.config.add_cross_attention + and layer_num % self.config.cross_attention_freq == 0 + ): + self.crossattention = BertAttention( + config, is_cross_attention=self.config.add_cross_attention + ) + self.has_cross_attention = True + else: + self.has_cross_attention = False + self.intermediate = BertIntermediate(config) + self.output = BertOutput(config) + + self.intermediate_query = BertIntermediate(config) + self.output_query = BertOutput(config) + + def forward( + self, + hidden_states, + attention_mask=None, + head_mask=None, + encoder_hidden_states=None, + encoder_attention_mask=None, + past_key_value=None, + output_attentions=False, + query_length=0, + ): + # decoder uni-directional self-attention cached key/values tuple is at positions 1,2 + self_attn_past_key_value = ( + past_key_value[:2] if past_key_value is not None else None + ) + self_attention_outputs = self.attention( + hidden_states, + attention_mask, + head_mask, + output_attentions=output_attentions, + past_key_value=self_attn_past_key_value, + ) + attention_output = self_attention_outputs[0] + outputs = self_attention_outputs[1:-1] + + present_key_value = self_attention_outputs[-1] + + if query_length > 0: + query_attention_output = attention_output[:, :query_length, :] + + if self.has_cross_attention: + assert ( + encoder_hidden_states is not None + ), "encoder_hidden_states must be given for cross-attention layers" + cross_attention_outputs = self.crossattention( + query_attention_output, + attention_mask, + head_mask, + encoder_hidden_states, + encoder_attention_mask, + output_attentions=output_attentions, + ) + query_attention_output = cross_attention_outputs[0] + outputs = ( + outputs + cross_attention_outputs[1:-1] + ) # add cross attentions if we output attention weights + + layer_output = apply_chunking_to_forward( + self.feed_forward_chunk_query, + self.chunk_size_feed_forward, + self.seq_len_dim, + query_attention_output, + ) + if attention_output.shape[1] > query_length: + layer_output_text = apply_chunking_to_forward( + self.feed_forward_chunk, + self.chunk_size_feed_forward, + self.seq_len_dim, + attention_output[:, query_length:, :], + ) + layer_output = torch.cat([layer_output, layer_output_text], dim=1) + else: + layer_output = apply_chunking_to_forward( + self.feed_forward_chunk, + self.chunk_size_feed_forward, + self.seq_len_dim, + attention_output, + ) + outputs = (layer_output,) + outputs + + outputs = outputs + (present_key_value,) + + return outputs + + def feed_forward_chunk(self, attention_output): + intermediate_output = self.intermediate(attention_output) + layer_output = self.output(intermediate_output, attention_output) + return layer_output + + def feed_forward_chunk_query(self, attention_output): + intermediate_output = self.intermediate_query(attention_output) + layer_output = self.output_query(intermediate_output, attention_output) + return layer_output + + +class BertEncoder(nn.Module): + def __init__(self, config): + super().__init__() + self.config = config + self.layer = nn.ModuleList( + [BertLayer(config, i) for i in range(config.num_hidden_layers)] + ) + + def forward( + self, + hidden_states, + attention_mask=None, + head_mask=None, + encoder_hidden_states=None, + encoder_attention_mask=None, + past_key_values=None, + use_cache=None, + output_attentions=False, + output_hidden_states=False, + return_dict=True, + query_length=0, + ): + all_hidden_states = () if output_hidden_states else None + all_self_attentions = () if output_attentions else None + all_cross_attentions = ( + () if output_attentions and self.config.add_cross_attention else None + ) + + next_decoder_cache = () if use_cache else None + + for i in range(self.config.num_hidden_layers): + layer_module = self.layer[i] + if output_hidden_states: + all_hidden_states = all_hidden_states + (hidden_states,) + + layer_head_mask = head_mask[i] if head_mask is not None else None + past_key_value = past_key_values[i] if past_key_values is not None else None + + if getattr(self.config, "gradient_checkpointing", False) and self.training: + + if use_cache: + logger.warn( + "`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`..." + ) + use_cache = False + + def create_custom_forward(module): + def custom_forward(*inputs): + return module( + *inputs, past_key_value, output_attentions, query_length + ) + + return custom_forward + + layer_outputs = torch.utils.checkpoint.checkpoint( + create_custom_forward(layer_module), + hidden_states, + attention_mask, + layer_head_mask, + encoder_hidden_states, + encoder_attention_mask, + ) + else: + layer_outputs = layer_module( + hidden_states, + attention_mask, + layer_head_mask, + encoder_hidden_states, + encoder_attention_mask, + past_key_value, + output_attentions, + query_length, + ) + + hidden_states = layer_outputs[0] + if use_cache: + next_decoder_cache += (layer_outputs[-1],) + if output_attentions: + all_self_attentions = all_self_attentions + (layer_outputs[1],) + all_cross_attentions = all_cross_attentions + (layer_outputs[2],) + + if output_hidden_states: + all_hidden_states = all_hidden_states + (hidden_states,) + + if not return_dict: + return tuple( + v + for v in [ + hidden_states, + next_decoder_cache, + all_hidden_states, + all_self_attentions, + all_cross_attentions, + ] + if v is not None + ) + return BaseModelOutputWithPastAndCrossAttentions( + last_hidden_state=hidden_states, + past_key_values=next_decoder_cache, + hidden_states=all_hidden_states, + attentions=all_self_attentions, + cross_attentions=all_cross_attentions, + ) + + +class BertPooler(nn.Module): + def __init__(self, config): + super().__init__() + self.dense = nn.Linear(config.hidden_size, config.hidden_size) + self.activation = nn.Tanh() + + def forward(self, hidden_states): + # We "pool" the model by simply taking the hidden state corresponding + # to the first token. + first_token_tensor = hidden_states[:, 0] + pooled_output = self.dense(first_token_tensor) + pooled_output = self.activation(pooled_output) + return pooled_output + + +class BertPredictionHeadTransform(nn.Module): + def __init__(self, config): + super().__init__() + self.dense = nn.Linear(config.hidden_size, config.hidden_size) + if isinstance(config.hidden_act, str): + self.transform_act_fn = ACT2FN[config.hidden_act] + else: + self.transform_act_fn = config.hidden_act + self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) + + def forward(self, hidden_states): + hidden_states = self.dense(hidden_states) + hidden_states = self.transform_act_fn(hidden_states) + hidden_states = self.LayerNorm(hidden_states) + return hidden_states + + +class BertLMPredictionHead(nn.Module): + def __init__(self, config): + super().__init__() + self.transform = BertPredictionHeadTransform(config) + + # The output weights are the same as the input embeddings, but there is + # an output-only bias for each token. + self.decoder = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + + self.bias = nn.Parameter(torch.zeros(config.vocab_size)) + + # Need a link between the two variables so that the bias is correctly resized with `resize_token_embeddings` + self.decoder.bias = self.bias + + def forward(self, hidden_states): + hidden_states = self.transform(hidden_states) + hidden_states = self.decoder(hidden_states) + return hidden_states + + +class BertOnlyMLMHead(nn.Module): + def __init__(self, config): + super().__init__() + self.predictions = BertLMPredictionHead(config) + + def forward(self, sequence_output): + prediction_scores = self.predictions(sequence_output) + return prediction_scores + + +class BertPreTrainedModel(PreTrainedModel): + """ + An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained + models. + """ + + config_class = BertConfig + base_model_prefix = "bert" + _keys_to_ignore_on_load_missing = [r"position_ids"] + + def _init_weights(self, module): + """Initialize the weights""" + if isinstance(module, (nn.Linear, nn.Embedding)): + # Slightly different from the TF version which uses truncated_normal for initialization + # cf https://github.com/pytorch/pytorch/pull/5617 + module.weight.data.normal_(mean=0.0, std=self.config.initializer_range) + elif isinstance(module, nn.LayerNorm): + module.bias.data.zero_() + module.weight.data.fill_(1.0) + if isinstance(module, nn.Linear) and module.bias is not None: + module.bias.data.zero_() + + +class BertModel(BertPreTrainedModel): + """ + The model can behave as an encoder (with only self-attention) as well as a decoder, in which case a layer of + cross-attention is added between the self-attention layers, following the architecture described in `Attention is + all you need `__ by Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, + Llion Jones, Aidan N. Gomez, Lukasz Kaiser and Illia Polosukhin. + argument and :obj:`add_cross_attention` set to :obj:`True`; an :obj:`encoder_hidden_states` is then expected as an + input to the forward pass. + """ + + def __init__(self, config, add_pooling_layer=False): + super().__init__(config) + self.config = config + + self.embeddings = BertEmbeddings(config) + + self.encoder = BertEncoder(config) + + self.pooler = BertPooler(config) if add_pooling_layer else None + + self.init_weights() + + def get_input_embeddings(self): + return self.embeddings.word_embeddings + + def set_input_embeddings(self, value): + self.embeddings.word_embeddings = value + + def _prune_heads(self, heads_to_prune): + """ + Prunes heads of the model. heads_to_prune: dict of {layer_num: list of heads to prune in this layer} See base + class PreTrainedModel + """ + for layer, heads in heads_to_prune.items(): + self.encoder.layer[layer].attention.prune_heads(heads) + + def get_extended_attention_mask( + self, + attention_mask: Tensor, + input_shape: Tuple[int], + device: device, + is_decoder: bool, + has_query: bool = False, + ) -> Tensor: + """ + Makes broadcastable attention and causal masks so that future and masked tokens are ignored. + + Arguments: + attention_mask (:obj:`torch.Tensor`): + Mask with ones indicating tokens to attend to, zeros for tokens to ignore. + input_shape (:obj:`Tuple[int]`): + The shape of the input to the model. + device: (:obj:`torch.device`): + The device of the input to the model. + + Returns: + :obj:`torch.Tensor` The extended attention mask, with a the same dtype as :obj:`attention_mask.dtype`. + """ + # We can provide a self-attention mask of dimensions [batch_size, from_seq_length, to_seq_length] + # ourselves in which case we just need to make it broadcastable to all heads. + if attention_mask.dim() == 3: + extended_attention_mask = attention_mask[:, None, :, :] + elif attention_mask.dim() == 2: + # Provided a padding mask of dimensions [batch_size, seq_length] + # - if the model is a decoder, apply a causal mask in addition to the padding mask + # - if the model is an encoder, make the mask broadcastable to [batch_size, num_heads, seq_length, seq_length] + if is_decoder: + batch_size, seq_length = input_shape + + seq_ids = torch.arange(seq_length, device=device) + causal_mask = ( + seq_ids[None, None, :].repeat(batch_size, seq_length, 1) + <= seq_ids[None, :, None] + ) + + # add a prefix ones mask to the causal mask + # causal and attention masks must have same type with pytorch version < 1.3 + causal_mask = causal_mask.to(attention_mask.dtype) + + if causal_mask.shape[1] < attention_mask.shape[1]: + prefix_seq_len = attention_mask.shape[1] - causal_mask.shape[1] + if has_query: # UniLM style attention mask + causal_mask = torch.cat( + [ + torch.zeros( + (batch_size, prefix_seq_len, seq_length), + device=device, + dtype=causal_mask.dtype, + ), + causal_mask, + ], + axis=1, + ) + causal_mask = torch.cat( + [ + torch.ones( + (batch_size, causal_mask.shape[1], prefix_seq_len), + device=device, + dtype=causal_mask.dtype, + ), + causal_mask, + ], + axis=-1, + ) + extended_attention_mask = ( + causal_mask[:, None, :, :] * attention_mask[:, None, None, :] + ) + else: + extended_attention_mask = attention_mask[:, None, None, :] + else: + raise ValueError( + "Wrong shape for input_ids (shape {}) or attention_mask (shape {})".format( + input_shape, attention_mask.shape + ) + ) + + # Since attention_mask is 1.0 for positions we want to attend and 0.0 for + # masked positions, this operation will create a tensor which is 0.0 for + # positions we want to attend and -10000.0 for masked positions. + # Since we are adding it to the raw scores before the softmax, this is + # effectively the same as removing these entirely. + extended_attention_mask = extended_attention_mask.to( + dtype=self.dtype + ) # fp16 compatibility + extended_attention_mask = (1.0 - extended_attention_mask) * -10000.0 + return extended_attention_mask + + def forward( + self, + input_ids=None, + attention_mask=None, + position_ids=None, + head_mask=None, + query_embeds=None, + encoder_hidden_states=None, + encoder_attention_mask=None, + past_key_values=None, + use_cache=None, + output_attentions=None, + output_hidden_states=None, + return_dict=None, + is_decoder=False, + ): + r""" + encoder_hidden_states (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`, `optional`): + Sequence of hidden-states at the output of the last layer of the encoder. Used in the cross-attention if + the model is configured as a decoder. + encoder_attention_mask (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`): + Mask to avoid performing attention on the padding token indices of the encoder input. This mask is used in + the cross-attention if the model is configured as a decoder. Mask values selected in ``[0, 1]``: + - 1 for tokens that are **not masked**, + - 0 for tokens that are **masked**. + past_key_values (:obj:`tuple(tuple(torch.FloatTensor))` of length :obj:`config.n_layers` with each tuple having 4 tensors of shape :obj:`(batch_size, num_heads, sequence_length - 1, embed_size_per_head)`): + Contains precomputed key and value hidden states of the attention blocks. Can be used to speed up decoding. + If :obj:`past_key_values` are used, the user can optionally input only the last :obj:`decoder_input_ids` + (those that don't have their past key value states given to this model) of shape :obj:`(batch_size, 1)` + instead of all :obj:`decoder_input_ids` of shape :obj:`(batch_size, sequence_length)`. + use_cache (:obj:`bool`, `optional`): + If set to :obj:`True`, :obj:`past_key_values` key value states are returned and can be used to speed up + decoding (see :obj:`past_key_values`). + """ + output_attentions = ( + output_attentions + if output_attentions is not None + else self.config.output_attentions + ) + output_hidden_states = ( + output_hidden_states + if output_hidden_states is not None + else self.config.output_hidden_states + ) + return_dict = ( + return_dict if return_dict is not None else self.config.use_return_dict + ) + + # use_cache = use_cache if use_cache is not None else self.config.use_cache + + if input_ids is None: + assert ( + query_embeds is not None + ), "You have to specify query_embeds when input_ids is None" + + # past_key_values_length + past_key_values_length = ( + past_key_values[0][0].shape[2] - self.config.query_length + if past_key_values is not None + else 0 + ) + + query_length = query_embeds.shape[1] if query_embeds is not None else 0 + + embedding_output = self.embeddings( + input_ids=input_ids, + position_ids=position_ids, + query_embeds=query_embeds, + past_key_values_length=past_key_values_length, + ) + + input_shape = embedding_output.size()[:-1] + batch_size, seq_length = input_shape + device = embedding_output.device + + if attention_mask is None: + attention_mask = torch.ones( + ((batch_size, seq_length + past_key_values_length)), device=device + ) + + # We can provide a self-attention mask of dimensions [batch_size, from_seq_length, to_seq_length] + # ourselves in which case we just need to make it broadcastable to all heads. + if is_decoder: + extended_attention_mask = self.get_extended_attention_mask( + attention_mask, + input_ids.shape, + device, + is_decoder, + has_query=(query_embeds is not None), + ) + else: + extended_attention_mask = self.get_extended_attention_mask( + attention_mask, input_shape, device, is_decoder + ) + + # If a 2D or 3D attention mask is provided for the cross-attention + # we need to make broadcastable to [batch_size, num_heads, seq_length, seq_length] + if encoder_hidden_states is not None: + if type(encoder_hidden_states) == list: + encoder_batch_size, encoder_sequence_length, _ = encoder_hidden_states[ + 0 + ].size() + else: + ( + encoder_batch_size, + encoder_sequence_length, + _, + ) = encoder_hidden_states.size() + encoder_hidden_shape = (encoder_batch_size, encoder_sequence_length) + + if type(encoder_attention_mask) == list: + encoder_extended_attention_mask = [ + self.invert_attention_mask(mask) for mask in encoder_attention_mask + ] + elif encoder_attention_mask is None: + encoder_attention_mask = torch.ones(encoder_hidden_shape, device=device) + encoder_extended_attention_mask = self.invert_attention_mask( + encoder_attention_mask + ) + else: + encoder_extended_attention_mask = self.invert_attention_mask( + encoder_attention_mask + ) + else: + encoder_extended_attention_mask = None + + # Prepare head mask if needed + # 1.0 in head_mask indicate we keep the head + # attention_probs has shape bsz x n_heads x N x N + # input head_mask has shape [num_heads] or [num_hidden_layers x num_heads] + # and head_mask is converted to shape [num_hidden_layers x batch x num_heads x seq_length x seq_length] + head_mask = self.get_head_mask(head_mask, self.config.num_hidden_layers) + + encoder_outputs = self.encoder( + embedding_output, + attention_mask=extended_attention_mask, + head_mask=head_mask, + encoder_hidden_states=encoder_hidden_states, + encoder_attention_mask=encoder_extended_attention_mask, + past_key_values=past_key_values, + use_cache=use_cache, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + query_length=query_length, + ) + sequence_output = encoder_outputs[0] + pooled_output = ( + self.pooler(sequence_output) if self.pooler is not None else None + ) + + if not return_dict: + return (sequence_output, pooled_output) + encoder_outputs[1:] + + return BaseModelOutputWithPoolingAndCrossAttentions( + last_hidden_state=sequence_output, + pooler_output=pooled_output, + past_key_values=encoder_outputs.past_key_values, + hidden_states=encoder_outputs.hidden_states, + attentions=encoder_outputs.attentions, + cross_attentions=encoder_outputs.cross_attentions, + ) + + +class BertLMHeadModel(BertPreTrainedModel): + + _keys_to_ignore_on_load_unexpected = [r"pooler"] + _keys_to_ignore_on_load_missing = [r"position_ids", r"predictions.decoder.bias"] + + def __init__(self, config): + super().__init__(config) + + self.bert = BertModel(config, add_pooling_layer=False) + self.cls = BertOnlyMLMHead(config) + + self.init_weights() + + def get_output_embeddings(self): + return self.cls.predictions.decoder + + def set_output_embeddings(self, new_embeddings): + self.cls.predictions.decoder = new_embeddings + + def forward( + self, + input_ids=None, + attention_mask=None, + position_ids=None, + head_mask=None, + query_embeds=None, + encoder_hidden_states=None, + encoder_attention_mask=None, + labels=None, + past_key_values=None, + use_cache=True, + output_attentions=None, + output_hidden_states=None, + return_dict=None, + return_logits=False, + is_decoder=True, + reduction="mean", + ): + r""" + encoder_hidden_states (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`, `optional`): + Sequence of hidden-states at the output of the last layer of the encoder. Used in the cross-attention if + the model is configured as a decoder. + encoder_attention_mask (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`): + Mask to avoid performing attention on the padding token indices of the encoder input. This mask is used in + the cross-attention if the model is configured as a decoder. Mask values selected in ``[0, 1]``: + - 1 for tokens that are **not masked**, + - 0 for tokens that are **masked**. + labels (:obj:`torch.LongTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`): + Labels for computing the left-to-right language modeling loss (next word prediction). Indices should be in + ``[-100, 0, ..., config.vocab_size]`` (see ``input_ids`` docstring) Tokens with indices set to ``-100`` are + ignored (masked), the loss is only computed for the tokens with labels n ``[0, ..., config.vocab_size]`` + past_key_values (:obj:`tuple(tuple(torch.FloatTensor))` of length :obj:`config.n_layers` with each tuple having 4 tensors of shape :obj:`(batch_size, num_heads, sequence_length - 1, embed_size_per_head)`): + Contains precomputed key and value hidden states of the attention blocks. Can be used to speed up decoding. + If :obj:`past_key_values` are used, the user can optionally input only the last :obj:`decoder_input_ids` + (those that don't have their past key value states given to this model) of shape :obj:`(batch_size, 1)` + instead of all :obj:`decoder_input_ids` of shape :obj:`(batch_size, sequence_length)`. + use_cache (:obj:`bool`, `optional`): + If set to :obj:`True`, :obj:`past_key_values` key value states are returned and can be used to speed up + decoding (see :obj:`past_key_values`). + Returns: + Example:: + >>> from transformers import BertTokenizer, BertLMHeadModel, BertConfig + >>> import torch + >>> tokenizer = BertTokenizer.from_pretrained('bert-base-cased') + >>> config = BertConfig.from_pretrained("bert-base-cased") + >>> model = BertLMHeadModel.from_pretrained('bert-base-cased', config=config) + >>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt") + >>> outputs = model(**inputs) + >>> prediction_logits = outputs.logits + """ + return_dict = ( + return_dict if return_dict is not None else self.config.use_return_dict + ) + if labels is not None: + use_cache = False + if past_key_values is not None: + query_embeds = None + + outputs = self.bert( + input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + head_mask=head_mask, + query_embeds=query_embeds, + encoder_hidden_states=encoder_hidden_states, + encoder_attention_mask=encoder_attention_mask, + past_key_values=past_key_values, + use_cache=use_cache, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + is_decoder=is_decoder, + ) + + sequence_output = outputs[0] + if query_embeds is not None: + sequence_output = outputs[0][:, query_embeds.shape[1] :, :] + + prediction_scores = self.cls(sequence_output) + + if return_logits: + return prediction_scores[:, :-1, :].contiguous() + + lm_loss = None + if labels is not None: + # we are doing next-token prediction; shift prediction scores and input ids by one + shifted_prediction_scores = prediction_scores[:, :-1, :].contiguous() + labels = labels[:, 1:].contiguous() + loss_fct = CrossEntropyLoss(reduction=reduction, label_smoothing=0.1) + lm_loss = loss_fct( + shifted_prediction_scores.view(-1, self.config.vocab_size), + labels.view(-1), + ) + if reduction == "none": + lm_loss = lm_loss.view(prediction_scores.size(0), -1).sum(1) + + if not return_dict: + output = (prediction_scores,) + outputs[2:] + return ((lm_loss,) + output) if lm_loss is not None else output + + return CausalLMOutputWithCrossAttentions( + loss=lm_loss, + logits=prediction_scores, + past_key_values=outputs.past_key_values, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + cross_attentions=outputs.cross_attentions, + ) + + def prepare_inputs_for_generation( + self, input_ids, query_embeds, past=None, attention_mask=None, **model_kwargs + ): + # if model is used as a decoder in encoder-decoder model, the decoder attention mask is created on the fly + if attention_mask is None: + attention_mask = input_ids.new_ones(input_ids.shape) + query_mask = input_ids.new_ones(query_embeds.shape[:-1]) + attention_mask = torch.cat([query_mask, attention_mask], dim=-1) + + # cut decoder_input_ids if past is used + if past is not None: + input_ids = input_ids[:, -1:] + + return { + "input_ids": input_ids, + "query_embeds": query_embeds, + "attention_mask": attention_mask, + "past_key_values": past, + "encoder_hidden_states": model_kwargs.get("encoder_hidden_states", None), + "encoder_attention_mask": model_kwargs.get("encoder_attention_mask", None), + "is_decoder": True, + } + + def _reorder_cache(self, past, beam_idx): + reordered_past = () + for layer_past in past: + reordered_past += ( + tuple( + past_state.index_select(0, beam_idx) for past_state in layer_past + ), + ) + return reordered_past + + +class BertForMaskedLM(BertPreTrainedModel): + + _keys_to_ignore_on_load_unexpected = [r"pooler"] + _keys_to_ignore_on_load_missing = [r"position_ids", r"predictions.decoder.bias"] + + def __init__(self, config): + super().__init__(config) + + self.bert = BertModel(config, add_pooling_layer=False) + self.cls = BertOnlyMLMHead(config) + + self.init_weights() + + def get_output_embeddings(self): + return self.cls.predictions.decoder + + def set_output_embeddings(self, new_embeddings): + self.cls.predictions.decoder = new_embeddings + + def forward( + self, + input_ids=None, + attention_mask=None, + position_ids=None, + head_mask=None, + query_embeds=None, + encoder_hidden_states=None, + encoder_attention_mask=None, + labels=None, + output_attentions=None, + output_hidden_states=None, + return_dict=None, + return_logits=False, + is_decoder=False, + ): + r""" + labels (:obj:`torch.LongTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`): + Labels for computing the masked language modeling loss. Indices should be in ``[-100, 0, ..., + config.vocab_size]`` (see ``input_ids`` docstring) Tokens with indices set to ``-100`` are ignored + (masked), the loss is only computed for the tokens with labels in ``[0, ..., config.vocab_size]`` + """ + + return_dict = ( + return_dict if return_dict is not None else self.config.use_return_dict + ) + + outputs = self.bert( + input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + head_mask=head_mask, + query_embeds=query_embeds, + encoder_hidden_states=encoder_hidden_states, + encoder_attention_mask=encoder_attention_mask, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + is_decoder=is_decoder, + ) + + if query_embeds is not None: + sequence_output = outputs[0][:, query_embeds.shape[1] :, :] + prediction_scores = self.cls(sequence_output) + + if return_logits: + return prediction_scores + + masked_lm_loss = None + if labels is not None: + loss_fct = CrossEntropyLoss() # -100 index = padding token + masked_lm_loss = loss_fct( + prediction_scores.view(-1, self.config.vocab_size), labels.view(-1) + ) + + if not return_dict: + output = (prediction_scores,) + outputs[2:] + return ( + ((masked_lm_loss,) + output) if masked_lm_loss is not None else output + ) + + return MaskedLMOutput( + loss=masked_lm_loss, + logits=prediction_scores, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) diff --git a/video_llama/models/__init__.py b/video_llama/models/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..8ddc54288cdc9d7e75b71da3f8597052f4f4837c --- /dev/null +++ b/video_llama/models/__init__.py @@ -0,0 +1,201 @@ +""" +Adapted from salesforce@LAVIS Vision-CAIR@MiniGPT-4. Below is the original copyright: + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import logging +import torch +from omegaconf import OmegaConf + +from video_llama.common.registry import registry +from video_llama.models.base_model import BaseModel +from video_llama.models.blip2 import Blip2Base +from video_llama.models.video_llama import VideoLLAMA +from video_llama.processors.base_processor import BaseProcessor + + +__all__ = [ + "load_model", + "BaseModel", + "Blip2Base", + "VideoLLAMA" +] + + +def load_model(name, model_type, is_eval=False, device="cpu", checkpoint=None): + """ + Load supported models. + + To list all available models and types in registry: + >>> from video_llama.models import model_zoo + >>> print(model_zoo) + + Args: + name (str): name of the model. + model_type (str): type of the model. + is_eval (bool): whether the model is in eval mode. Default: False. + device (str): device to use. Default: "cpu". + checkpoint (str): path or to checkpoint. Default: None. + Note that expecting the checkpoint to have the same keys in state_dict as the model. + + Returns: + model (torch.nn.Module): model. + """ + + model = registry.get_model_class(name).from_pretrained(model_type=model_type) + + if checkpoint is not None: + model.load_checkpoint(checkpoint) + + if is_eval: + model.eval() + + if device == "cpu": + model = model.float() + + return model.to(device) + + +def load_preprocess(config): + """ + Load preprocessor configs and construct preprocessors. + + If no preprocessor is specified, return BaseProcessor, which does not do any preprocessing. + + Args: + config (dict): preprocessor configs. + + Returns: + vis_processors (dict): preprocessors for visual inputs. + txt_processors (dict): preprocessors for text inputs. + + Key is "train" or "eval" for processors used in training and evaluation respectively. + """ + + def _build_proc_from_cfg(cfg): + return ( + registry.get_processor_class(cfg.name).from_config(cfg) + if cfg is not None + else BaseProcessor() + ) + + vis_processors = dict() + txt_processors = dict() + + vis_proc_cfg = config.get("vis_processor") + txt_proc_cfg = config.get("text_processor") + + if vis_proc_cfg is not None: + vis_train_cfg = vis_proc_cfg.get("train") + vis_eval_cfg = vis_proc_cfg.get("eval") + else: + vis_train_cfg = None + vis_eval_cfg = None + + vis_processors["train"] = _build_proc_from_cfg(vis_train_cfg) + vis_processors["eval"] = _build_proc_from_cfg(vis_eval_cfg) + + if txt_proc_cfg is not None: + txt_train_cfg = txt_proc_cfg.get("train") + txt_eval_cfg = txt_proc_cfg.get("eval") + else: + txt_train_cfg = None + txt_eval_cfg = None + + txt_processors["train"] = _build_proc_from_cfg(txt_train_cfg) + txt_processors["eval"] = _build_proc_from_cfg(txt_eval_cfg) + + return vis_processors, txt_processors + + +def load_model_and_preprocess(name, model_type, is_eval=False, device="cpu"): + """ + Load model and its related preprocessors. + + List all available models and types in registry: + >>> from video_llama.models import model_zoo + >>> print(model_zoo) + + Args: + name (str): name of the model. + model_type (str): type of the model. + is_eval (bool): whether the model is in eval mode. Default: False. + device (str): device to use. Default: "cpu". + + Returns: + model (torch.nn.Module): model. + vis_processors (dict): preprocessors for visual inputs. + txt_processors (dict): preprocessors for text inputs. + """ + model_cls = registry.get_model_class(name) + + # load model + model = model_cls.from_pretrained(model_type=model_type) + + if is_eval: + model.eval() + + # load preprocess + cfg = OmegaConf.load(model_cls.default_config_path(model_type)) + if cfg is not None: + preprocess_cfg = cfg.preprocess + + vis_processors, txt_processors = load_preprocess(preprocess_cfg) + else: + vis_processors, txt_processors = None, None + logging.info( + f"""No default preprocess for model {name} ({model_type}). + This can happen if the model is not finetuned on downstream datasets, + or it is not intended for direct use without finetuning. + """ + ) + + if device == "cpu" or device == torch.device("cpu"): + model = model.float() + + return model.to(device), vis_processors, txt_processors + + +class ModelZoo: + """ + A utility class to create string representation of available model architectures and types. + + >>> from video_llama.models import model_zoo + >>> # list all available models + >>> print(model_zoo) + >>> # show total number of models + >>> print(len(model_zoo)) + """ + + def __init__(self) -> None: + self.model_zoo = { + k: list(v.PRETRAINED_MODEL_CONFIG_DICT.keys()) + for k, v in registry.mapping["model_name_mapping"].items() + } + + def __str__(self) -> str: + return ( + "=" * 50 + + "\n" + + f"{'Architectures':<30} {'Types'}\n" + + "=" * 50 + + "\n" + + "\n".join( + [ + f"{name:<30} {', '.join(types)}" + for name, types in self.model_zoo.items() + ] + ) + ) + + def __iter__(self): + return iter(self.model_zoo.items()) + + def __len__(self): + return sum([len(v) for v in self.model_zoo.values()]) + + +model_zoo = ModelZoo() diff --git a/video_llama/models/__pycache__/Qformer.cpython-39.pyc b/video_llama/models/__pycache__/Qformer.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a1837cbaae5a99139e193be801df13f74d5e9e87 Binary files /dev/null and b/video_llama/models/__pycache__/Qformer.cpython-39.pyc differ diff --git a/video_llama/models/__pycache__/__init__.cpython-39.pyc b/video_llama/models/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9252e2e688c5300ab835a1fba74216255614d3a7 Binary files /dev/null and b/video_llama/models/__pycache__/__init__.cpython-39.pyc differ diff --git a/video_llama/models/__pycache__/base_model.cpython-39.pyc b/video_llama/models/__pycache__/base_model.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..59352b0eb2ef9897adae4a59458a9263d032923e Binary files /dev/null and b/video_llama/models/__pycache__/base_model.cpython-39.pyc differ diff --git a/video_llama/models/__pycache__/blip2.cpython-39.pyc b/video_llama/models/__pycache__/blip2.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ec0e91c7fae1c59c73e4b7094488bc4ab5644dc1 Binary files /dev/null and b/video_llama/models/__pycache__/blip2.cpython-39.pyc differ diff --git a/video_llama/models/__pycache__/eva_vit.cpython-39.pyc b/video_llama/models/__pycache__/eva_vit.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..01163184632eab50e6d5893fda49bed3da5fa9f3 Binary files /dev/null and b/video_llama/models/__pycache__/eva_vit.cpython-39.pyc differ diff --git a/video_llama/models/__pycache__/modeling_llama.cpython-39.pyc b/video_llama/models/__pycache__/modeling_llama.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0500f0bcc0b8e63b35d588ccd960b5c87f2a190f Binary files /dev/null and b/video_llama/models/__pycache__/modeling_llama.cpython-39.pyc differ diff --git a/video_llama/models/__pycache__/video_llama.cpython-39.pyc b/video_llama/models/__pycache__/video_llama.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..24356dbd0cf4b1bbf787b9a8c87026ff52aa9042 Binary files /dev/null and b/video_llama/models/__pycache__/video_llama.cpython-39.pyc differ diff --git a/video_llama/models/base_model.py b/video_llama/models/base_model.py new file mode 100644 index 0000000000000000000000000000000000000000..272ddd15129a83b6a5a0063553f512faca1f5612 --- /dev/null +++ b/video_llama/models/base_model.py @@ -0,0 +1,248 @@ +""" +Adapted from salesforce@LAVIS. Below is the original copyright: + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import logging +import os + +import numpy as np +import torch +import torch.nn as nn +from video_llama.common.dist_utils import download_cached_file, is_dist_avail_and_initialized +from video_llama.common.utils import get_abs_path, is_url +from omegaconf import OmegaConf + + +class BaseModel(nn.Module): + """Base class for models.""" + + def __init__(self): + super().__init__() + + @property + def device(self): + return list(self.parameters())[0].device + + def load_checkpoint(self, url_or_filename): + """ + Load from a finetuned checkpoint. + + This should expect no mismatch in the model keys and the checkpoint keys. + """ + + if is_url(url_or_filename): + cached_file = download_cached_file( + url_or_filename, check_hash=False, progress=True + ) + checkpoint = torch.load(cached_file, map_location="cpu") + elif os.path.isfile(url_or_filename): + checkpoint = torch.load(url_or_filename, map_location="cpu") + else: + raise RuntimeError("checkpoint url or path is invalid") + + if "model" in checkpoint.keys(): + state_dict = checkpoint["model"] + else: + state_dict = checkpoint + + msg = self.load_state_dict(state_dict, strict=False) + + logging.info("Missing keys {}".format(msg.missing_keys)) + logging.info("load checkpoint from %s" % url_or_filename) + + return msg + + @classmethod + def from_pretrained(cls, model_type): + """ + Build a pretrained model from default configuration file, specified by model_type. + + Args: + - model_type (str): model type, specifying architecture and checkpoints. + + Returns: + - model (nn.Module): pretrained or finetuned model, depending on the configuration. + """ + model_cfg = OmegaConf.load(cls.default_config_path(model_type)).model + model = cls.from_config(model_cfg) + + return model + + @classmethod + def default_config_path(cls, model_type): + assert ( + model_type in cls.PRETRAINED_MODEL_CONFIG_DICT + ), "Unknown model type {}".format(model_type) + return get_abs_path(cls.PRETRAINED_MODEL_CONFIG_DICT[model_type]) + + def load_checkpoint_from_config(self, cfg, **kwargs): + """ + Load checkpoint as specified in the config file. + + If load_finetuned is True, load the finetuned model; otherwise, load the pretrained model. + When loading the pretrained model, each task-specific architecture may define their + own load_from_pretrained() method. + """ + load_finetuned = cfg.get("load_finetuned", True) + if load_finetuned: + finetune_path = cfg.get("finetuned", None) + assert ( + finetune_path is not None + ), "Found load_finetuned is True, but finetune_path is None." + self.load_checkpoint(url_or_filename=finetune_path) + else: + # load pre-trained weights + pretrain_path = cfg.get("pretrained", None) + assert "Found load_finetuned is False, but pretrain_path is None." + self.load_from_pretrained(url_or_filename=pretrain_path, **kwargs) + + def before_evaluation(self, **kwargs): + pass + + def show_n_params(self, return_str=True): + tot = 0 + for p in self.parameters(): + w = 1 + for x in p.shape: + w *= x + tot += w + if return_str: + if tot >= 1e6: + return "{:.1f}M".format(tot / 1e6) + else: + return "{:.1f}K".format(tot / 1e3) + else: + return tot + + +class BaseEncoder(nn.Module): + """ + Base class for primitive encoders, such as ViT, TimeSformer, etc. + """ + + def __init__(self): + super().__init__() + + def forward_features(self, samples, **kwargs): + raise NotImplementedError + + @property + def device(self): + return list(self.parameters())[0].device + + +class SharedQueueMixin: + @torch.no_grad() + def _dequeue_and_enqueue(self, image_feat, text_feat, idxs=None): + # gather keys before updating queue + image_feats = concat_all_gather(image_feat) + text_feats = concat_all_gather(text_feat) + + batch_size = image_feats.shape[0] + + ptr = int(self.queue_ptr) + assert self.queue_size % batch_size == 0 # for simplicity + + # replace the keys at ptr (dequeue and enqueue) + self.image_queue[:, ptr : ptr + batch_size] = image_feats.T + self.text_queue[:, ptr : ptr + batch_size] = text_feats.T + + if idxs is not None: + idxs = concat_all_gather(idxs) + self.idx_queue[:, ptr : ptr + batch_size] = idxs.T + + ptr = (ptr + batch_size) % self.queue_size # move pointer + self.queue_ptr[0] = ptr + + +class MomentumDistilationMixin: + @torch.no_grad() + def copy_params(self): + for model_pair in self.model_pairs: + for param, param_m in zip( + model_pair[0].parameters(), model_pair[1].parameters() + ): + param_m.data.copy_(param.data) # initialize + param_m.requires_grad = False # not update by gradient + + @torch.no_grad() + def _momentum_update(self): + for model_pair in self.model_pairs: + for param, param_m in zip( + model_pair[0].parameters(), model_pair[1].parameters() + ): + param_m.data = param_m.data * self.momentum + param.data * ( + 1.0 - self.momentum + ) + + +class GatherLayer(torch.autograd.Function): + """ + Gather tensors from all workers with support for backward propagation: + This implementation does not cut the gradients as torch.distributed.all_gather does. + """ + + @staticmethod + def forward(ctx, x): + output = [ + torch.zeros_like(x) for _ in range(torch.distributed.get_world_size()) + ] + torch.distributed.all_gather(output, x) + return tuple(output) + + @staticmethod + def backward(ctx, *grads): + all_gradients = torch.stack(grads) + torch.distributed.all_reduce(all_gradients) + return all_gradients[torch.distributed.get_rank()] + + +def all_gather_with_grad(tensors): + """ + Performs all_gather operation on the provided tensors. + Graph remains connected for backward grad computation. + """ + # Queue the gathered tensors + world_size = torch.distributed.get_world_size() + # There is no need for reduction in the single-proc case + if world_size == 1: + return tensors + + # tensor_all = GatherLayer.apply(tensors) + tensor_all = GatherLayer.apply(tensors) + + return torch.cat(tensor_all, dim=0) + + +@torch.no_grad() +def concat_all_gather(tensor): + """ + Performs all_gather operation on the provided tensors. + *** Warning ***: torch.distributed.all_gather has no gradient. + """ + # if use distributed training + if not is_dist_avail_and_initialized(): + return tensor + + tensors_gather = [ + torch.ones_like(tensor) for _ in range(torch.distributed.get_world_size()) + ] + torch.distributed.all_gather(tensors_gather, tensor, async_op=False) + + output = torch.cat(tensors_gather, dim=0) + return output + + +def tile(x, dim, n_tile): + init_dim = x.size(dim) + repeat_idx = [1] * x.dim() + repeat_idx[dim] = n_tile + x = x.repeat(*(repeat_idx)) + order_index = torch.LongTensor( + np.concatenate([init_dim * np.arange(n_tile) + i for i in range(init_dim)]) + ) + return torch.index_select(x, dim, order_index.to(x.device)) diff --git a/video_llama/models/blip2.py b/video_llama/models/blip2.py new file mode 100644 index 0000000000000000000000000000000000000000..e6a42b5ee1016acf4ebeb82d2c04fe69fe2364f5 --- /dev/null +++ b/video_llama/models/blip2.py @@ -0,0 +1,222 @@ +""" +Adapted from salesforce@LAVIS. Below is the original copyright: + Copyright (c) 2023, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" +import contextlib +import logging +import os +import time +import datetime + +import torch +import torch.nn as nn +import torch.distributed as dist +import torch.nn.functional as F + +import video_llama.common.dist_utils as dist_utils +from video_llama.common.dist_utils import download_cached_file +from video_llama.common.utils import is_url +from video_llama.common.logger import MetricLogger +from video_llama.models.base_model import BaseModel +from video_llama.models.Qformer import BertConfig, BertLMHeadModel +from video_llama.models.eva_vit import create_eva_vit_g +from transformers import BertTokenizer + + +class Blip2Base(BaseModel): + @classmethod + def init_tokenizer(cls): + tokenizer = BertTokenizer.from_pretrained("bert-base-uncased") + tokenizer.add_special_tokens({"bos_token": "[DEC]"}) + return tokenizer + + def maybe_autocast(self, dtype=torch.float16): + # if on cpu, don't use autocast + # if on gpu, use autocast with dtype if provided, otherwise use torch.float16 + enable_autocast = self.device != torch.device("cpu") + + if enable_autocast: + return torch.cuda.amp.autocast(dtype=dtype) + else: + return contextlib.nullcontext() + + @classmethod + def init_Qformer(cls, num_query_token, vision_width, cross_attention_freq=2): + encoder_config = BertConfig.from_pretrained("bert-base-uncased") + encoder_config.encoder_width = vision_width + # insert cross-attention layer every other block + encoder_config.add_cross_attention = True + encoder_config.cross_attention_freq = cross_attention_freq + encoder_config.query_length = num_query_token + Qformer = BertLMHeadModel(config=encoder_config) + query_tokens = nn.Parameter( + torch.zeros(1, num_query_token, encoder_config.hidden_size) + ) + query_tokens.data.normal_(mean=0.0, std=encoder_config.initializer_range) + return Qformer, query_tokens + + @classmethod + def init_vision_encoder( + cls, model_name, img_size, drop_path_rate, use_grad_checkpoint, precision + ): + assert model_name == "eva_clip_g", "vit model must be eva_clip_g for current version of MiniGPT-4" + visual_encoder = create_eva_vit_g( + img_size, drop_path_rate, use_grad_checkpoint, precision + ) + + ln_vision = LayerNorm(visual_encoder.num_features) + return visual_encoder, ln_vision + + def load_from_pretrained(self, url_or_filename): + if is_url(url_or_filename): + cached_file = download_cached_file( + url_or_filename, check_hash=False, progress=True + ) + checkpoint = torch.load(cached_file, map_location="cpu") + elif os.path.isfile(url_or_filename): + checkpoint = torch.load(url_or_filename, map_location="cpu") + else: + raise RuntimeError("checkpoint url or path is invalid") + + state_dict = checkpoint["model"] + + msg = self.load_state_dict(state_dict, strict=False) + + # logging.info("Missing keys {}".format(msg.missing_keys)) + logging.info("load checkpoint from %s" % url_or_filename) + + return msg + + +def disabled_train(self, mode=True): + """Overwrite model.train with this function to make sure train/eval mode + does not change anymore.""" + return self + + +class LayerNorm(nn.LayerNorm): + """Subclass torch's LayerNorm to handle fp16.""" + + def forward(self, x: torch.Tensor): + orig_type = x.dtype + ret = super().forward(x.type(torch.float32)) + return ret.type(orig_type) + + +def compute_sim_matrix(model, data_loader, **kwargs): + k_test = kwargs.pop("k_test") + + metric_logger = MetricLogger(delimiter=" ") + header = "Evaluation:" + + logging.info("Computing features for evaluation...") + start_time = time.time() + + texts = data_loader.dataset.text + num_text = len(texts) + text_bs = 256 + text_ids = [] + text_embeds = [] + text_atts = [] + for i in range(0, num_text, text_bs): + text = texts[i : min(num_text, i + text_bs)] + text_input = model.tokenizer( + text, + padding="max_length", + truncation=True, + max_length=35, + return_tensors="pt", + ).to(model.device) + text_feat = model.forward_text(text_input) + text_embed = F.normalize(model.text_proj(text_feat)) + text_embeds.append(text_embed) + text_ids.append(text_input.input_ids) + text_atts.append(text_input.attention_mask) + + text_embeds = torch.cat(text_embeds, dim=0) + text_ids = torch.cat(text_ids, dim=0) + text_atts = torch.cat(text_atts, dim=0) + + vit_feats = [] + image_embeds = [] + for samples in data_loader: + image = samples["image"] + + image = image.to(model.device) + image_feat, vit_feat = model.forward_image(image) + image_embed = model.vision_proj(image_feat) + image_embed = F.normalize(image_embed, dim=-1) + + vit_feats.append(vit_feat.cpu()) + image_embeds.append(image_embed) + + vit_feats = torch.cat(vit_feats, dim=0) + image_embeds = torch.cat(image_embeds, dim=0) + + sims_matrix = [] + for image_embed in image_embeds: + sim_q2t = image_embed @ text_embeds.t() + sim_i2t, _ = sim_q2t.max(0) + sims_matrix.append(sim_i2t) + sims_matrix = torch.stack(sims_matrix, dim=0) + + score_matrix_i2t = torch.full( + (len(data_loader.dataset.image), len(texts)), -100.0 + ).to(model.device) + + num_tasks = dist_utils.get_world_size() + rank = dist_utils.get_rank() + step = sims_matrix.size(0) // num_tasks + 1 + start = rank * step + end = min(sims_matrix.size(0), start + step) + + for i, sims in enumerate( + metric_logger.log_every(sims_matrix[start:end], 50, header) + ): + topk_sim, topk_idx = sims.topk(k=k_test, dim=0) + image_inputs = vit_feats[start + i].repeat(k_test, 1, 1).to(model.device) + score = model.compute_itm( + image_inputs=image_inputs, + text_ids=text_ids[topk_idx], + text_atts=text_atts[topk_idx], + ).float() + score_matrix_i2t[start + i, topk_idx] = score + topk_sim + + sims_matrix = sims_matrix.t() + score_matrix_t2i = torch.full( + (len(texts), len(data_loader.dataset.image)), -100.0 + ).to(model.device) + + step = sims_matrix.size(0) // num_tasks + 1 + start = rank * step + end = min(sims_matrix.size(0), start + step) + + for i, sims in enumerate( + metric_logger.log_every(sims_matrix[start:end], 50, header) + ): + topk_sim, topk_idx = sims.topk(k=k_test, dim=0) + image_inputs = vit_feats[topk_idx.cpu()].to(model.device) + score = model.compute_itm( + image_inputs=image_inputs, + text_ids=text_ids[start + i].repeat(k_test, 1), + text_atts=text_atts[start + i].repeat(k_test, 1), + ).float() + score_matrix_t2i[start + i, topk_idx] = score + topk_sim + + if dist_utils.is_dist_avail_and_initialized(): + dist.barrier() + torch.distributed.all_reduce( + score_matrix_i2t, op=torch.distributed.ReduceOp.SUM + ) + torch.distributed.all_reduce( + score_matrix_t2i, op=torch.distributed.ReduceOp.SUM + ) + + total_time = time.time() - start_time + total_time_str = str(datetime.timedelta(seconds=int(total_time))) + logging.info("Evaluation time {}".format(total_time_str)) + + return score_matrix_i2t.cpu().numpy(), score_matrix_t2i.cpu().numpy() diff --git a/video_llama/models/blip2_outputs.py b/video_llama/models/blip2_outputs.py new file mode 100644 index 0000000000000000000000000000000000000000..92d83a0556e6c5c3c0a603279f318605ae25d6d5 --- /dev/null +++ b/video_llama/models/blip2_outputs.py @@ -0,0 +1,111 @@ +""" +Adapted from salesforce@LAVIS. Below is the original copyright: + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +from dataclasses import dataclass +from typing import Optional + +import torch +from transformers.modeling_outputs import ( + ModelOutput, + BaseModelOutputWithPoolingAndCrossAttentions, + CausalLMOutputWithCrossAttentions, +) + + +@dataclass +class BlipSimilarity(ModelOutput): + sim_i2t: torch.FloatTensor = None + sim_t2i: torch.FloatTensor = None + + sim_i2t_m: Optional[torch.FloatTensor] = None + sim_t2i_m: Optional[torch.FloatTensor] = None + + sim_i2t_targets: Optional[torch.FloatTensor] = None + sim_t2i_targets: Optional[torch.FloatTensor] = None + + +@dataclass +class BlipIntermediateOutput(ModelOutput): + """ + Data class for intermediate outputs of BLIP models. + + image_embeds (torch.FloatTensor): Image embeddings, shape (batch_size, num_patches, embed_dim). + text_embeds (torch.FloatTensor): Text embeddings, shape (batch_size, seq_len, embed_dim). + + image_embeds_m (torch.FloatTensor): Image embeddings from momentum visual encoder, shape (batch_size, num_patches, embed_dim). + text_embeds_m (torch.FloatTensor): Text embeddings from momentum text encoder, shape (batch_size, seq_len, embed_dim). + + encoder_output (BaseModelOutputWithPoolingAndCrossAttentions): output from the image-grounded text encoder. + encoder_output_neg (BaseModelOutputWithPoolingAndCrossAttentions): output from the image-grounded text encoder for negative pairs. + + decoder_output (CausalLMOutputWithCrossAttentions): output from the image-grounded text decoder. + decoder_labels (torch.LongTensor): labels for the captioning loss. + + itm_logits (torch.FloatTensor): logits for the image-text matching loss, shape (batch_size * 3, 2). + itm_labels (torch.LongTensor): labels for the image-text matching loss, shape (batch_size * 3,) + + """ + + # uni-modal features + image_embeds: torch.FloatTensor = None + text_embeds: Optional[torch.FloatTensor] = None + + image_embeds_m: Optional[torch.FloatTensor] = None + text_embeds_m: Optional[torch.FloatTensor] = None + + # intermediate outputs of multimodal encoder + encoder_output: Optional[BaseModelOutputWithPoolingAndCrossAttentions] = None + encoder_output_neg: Optional[BaseModelOutputWithPoolingAndCrossAttentions] = None + + itm_logits: Optional[torch.FloatTensor] = None + itm_labels: Optional[torch.LongTensor] = None + + # intermediate outputs of multimodal decoder + decoder_output: Optional[CausalLMOutputWithCrossAttentions] = None + decoder_labels: Optional[torch.LongTensor] = None + + +@dataclass +class BlipOutput(ModelOutput): + # some finetuned models (e.g. BlipVQA) do not compute similarity, thus optional. + sims: Optional[BlipSimilarity] = None + + intermediate_output: BlipIntermediateOutput = None + + loss: Optional[torch.FloatTensor] = None + + loss_itc: Optional[torch.FloatTensor] = None + + loss_itm: Optional[torch.FloatTensor] = None + + loss_lm: Optional[torch.FloatTensor] = None + + +@dataclass +class BlipOutputFeatures(ModelOutput): + """ + Data class of features from BlipFeatureExtractor. + + Args: + image_embeds: (torch.FloatTensor) of shape (batch_size, num_patches+1, embed_dim), optional + image_features: (torch.FloatTensor) of shape (batch_size, num_patches+1, feature_dim), optional + text_embeds: (torch.FloatTensor) of shape (batch_size, sequence_length+1, embed_dim), optional + text_features: (torch.FloatTensor) of shape (batch_size, sequence_length+1, feature_dim), optional + + The first embedding or feature is for the [CLS] token. + + Features are obtained by projecting the corresponding embedding into a normalized low-dimensional space. + """ + + image_embeds: Optional[torch.FloatTensor] = None + image_embeds_proj: Optional[torch.FloatTensor] = None + + text_embeds: Optional[torch.FloatTensor] = None + text_embeds_proj: Optional[torch.FloatTensor] = None + + multimodal_embeds: Optional[torch.FloatTensor] = None diff --git a/video_llama/models/eva_vit.py b/video_llama/models/eva_vit.py new file mode 100644 index 0000000000000000000000000000000000000000..864bffd0c2ffad18c642ce55e9d0ccf44fbe5a56 --- /dev/null +++ b/video_llama/models/eva_vit.py @@ -0,0 +1,442 @@ +# Based on EVA, BEIT, timm and DeiT code bases +# https://github.com/baaivision/EVA +# https://github.com/rwightman/pytorch-image-models/tree/master/timm +# https://github.com/microsoft/unilm/tree/master/beit +# https://github.com/facebookresearch/deit/ +# https://github.com/facebookresearch/dino +# --------------------------------------------------------' +import math +from functools import partial + +import torch +import torch.nn as nn +import torch.nn.functional as F +import torch.utils.checkpoint as checkpoint +from timm.models.layers import drop_path, to_2tuple, trunc_normal_ +from timm.models.registry import register_model + +from video_llama.common.dist_utils import download_cached_file + +def _cfg(url='', **kwargs): + return { + 'url': url, + 'num_classes': 1000, 'input_size': (3, 224, 224), 'pool_size': None, + 'crop_pct': .9, 'interpolation': 'bicubic', + 'mean': (0.5, 0.5, 0.5), 'std': (0.5, 0.5, 0.5), + **kwargs + } + + +class DropPath(nn.Module): + """Drop paths (Stochastic Depth) per sample (when applied in main path of residual blocks). + """ + def __init__(self, drop_prob=None): + super(DropPath, self).__init__() + self.drop_prob = drop_prob + + def forward(self, x): + return drop_path(x, self.drop_prob, self.training) + + def extra_repr(self) -> str: + return 'p={}'.format(self.drop_prob) + + +class Mlp(nn.Module): + def __init__(self, in_features, hidden_features=None, out_features=None, act_layer=nn.GELU, drop=0.): + super().__init__() + out_features = out_features or in_features + hidden_features = hidden_features or in_features + self.fc1 = nn.Linear(in_features, hidden_features) + self.act = act_layer() + self.fc2 = nn.Linear(hidden_features, out_features) + self.drop = nn.Dropout(drop) + + def forward(self, x): + x = self.fc1(x) + x = self.act(x) + # x = self.drop(x) + # commit this for the orignal BERT implement + x = self.fc2(x) + x = self.drop(x) + return x + + +class Attention(nn.Module): + def __init__( + self, dim, num_heads=8, qkv_bias=False, qk_scale=None, attn_drop=0., + proj_drop=0., window_size=None, attn_head_dim=None): + super().__init__() + self.num_heads = num_heads + head_dim = dim // num_heads + if attn_head_dim is not None: + head_dim = attn_head_dim + all_head_dim = head_dim * self.num_heads + self.scale = qk_scale or head_dim ** -0.5 + + self.qkv = nn.Linear(dim, all_head_dim * 3, bias=False) + if qkv_bias: + self.q_bias = nn.Parameter(torch.zeros(all_head_dim)) + self.v_bias = nn.Parameter(torch.zeros(all_head_dim)) + else: + self.q_bias = None + self.v_bias = None + + if window_size: + self.window_size = window_size + self.num_relative_distance = (2 * window_size[0] - 1) * (2 * window_size[1] - 1) + 3 + self.relative_position_bias_table = nn.Parameter( + torch.zeros(self.num_relative_distance, num_heads)) # 2*Wh-1 * 2*Ww-1, nH + # cls to token & token 2 cls & cls to cls + + # get pair-wise relative position index for each token inside the window + coords_h = torch.arange(window_size[0]) + coords_w = torch.arange(window_size[1]) + coords = torch.stack(torch.meshgrid([coords_h, coords_w])) # 2, Wh, Ww + coords_flatten = torch.flatten(coords, 1) # 2, Wh*Ww + relative_coords = coords_flatten[:, :, None] - coords_flatten[:, None, :] # 2, Wh*Ww, Wh*Ww + relative_coords = relative_coords.permute(1, 2, 0).contiguous() # Wh*Ww, Wh*Ww, 2 + relative_coords[:, :, 0] += window_size[0] - 1 # shift to start from 0 + relative_coords[:, :, 1] += window_size[1] - 1 + relative_coords[:, :, 0] *= 2 * window_size[1] - 1 + relative_position_index = \ + torch.zeros(size=(window_size[0] * window_size[1] + 1, ) * 2, dtype=relative_coords.dtype) + relative_position_index[1:, 1:] = relative_coords.sum(-1) # Wh*Ww, Wh*Ww + relative_position_index[0, 0:] = self.num_relative_distance - 3 + relative_position_index[0:, 0] = self.num_relative_distance - 2 + relative_position_index[0, 0] = self.num_relative_distance - 1 + + self.register_buffer("relative_position_index", relative_position_index) + else: + self.window_size = None + self.relative_position_bias_table = None + self.relative_position_index = None + + self.attn_drop = nn.Dropout(attn_drop) + self.proj = nn.Linear(all_head_dim, dim) + self.proj_drop = nn.Dropout(proj_drop) + + def forward(self, x, rel_pos_bias=None): + B, N, C = x.shape + qkv_bias = None + if self.q_bias is not None: + qkv_bias = torch.cat((self.q_bias, torch.zeros_like(self.v_bias, requires_grad=False), self.v_bias)) + # qkv = self.qkv(x).reshape(B, N, 3, self.num_heads, C // self.num_heads).permute(2, 0, 3, 1, 4) + qkv = F.linear(input=x, weight=self.qkv.weight, bias=qkv_bias) + qkv = qkv.reshape(B, N, 3, self.num_heads, -1).permute(2, 0, 3, 1, 4) + q, k, v = qkv[0], qkv[1], qkv[2] # make torchscript happy (cannot use tensor as tuple) + + q = q * self.scale + attn = (q @ k.transpose(-2, -1)) + + if self.relative_position_bias_table is not None: + relative_position_bias = \ + self.relative_position_bias_table[self.relative_position_index.view(-1)].view( + self.window_size[0] * self.window_size[1] + 1, + self.window_size[0] * self.window_size[1] + 1, -1) # Wh*Ww,Wh*Ww,nH + relative_position_bias = relative_position_bias.permute(2, 0, 1).contiguous() # nH, Wh*Ww, Wh*Ww + attn = attn + relative_position_bias.unsqueeze(0) + + if rel_pos_bias is not None: + attn = attn + rel_pos_bias + + attn = attn.softmax(dim=-1) + attn = self.attn_drop(attn) + + x = (attn @ v).transpose(1, 2).reshape(B, N, -1) + x = self.proj(x) + x = self.proj_drop(x) + return x + + +class Block(nn.Module): + + def __init__(self, dim, num_heads, mlp_ratio=4., qkv_bias=False, qk_scale=None, drop=0., attn_drop=0., + drop_path=0., init_values=None, act_layer=nn.GELU, norm_layer=nn.LayerNorm, + window_size=None, attn_head_dim=None): + super().__init__() + self.norm1 = norm_layer(dim) + self.attn = Attention( + dim, num_heads=num_heads, qkv_bias=qkv_bias, qk_scale=qk_scale, + attn_drop=attn_drop, proj_drop=drop, window_size=window_size, attn_head_dim=attn_head_dim) + # NOTE: drop path for stochastic depth, we shall see if this is better than dropout here + self.drop_path = DropPath(drop_path) if drop_path > 0. else nn.Identity() + self.norm2 = norm_layer(dim) + mlp_hidden_dim = int(dim * mlp_ratio) + self.mlp = Mlp(in_features=dim, hidden_features=mlp_hidden_dim, act_layer=act_layer, drop=drop) + + if init_values is not None and init_values > 0: + self.gamma_1 = nn.Parameter(init_values * torch.ones((dim)),requires_grad=True) + self.gamma_2 = nn.Parameter(init_values * torch.ones((dim)),requires_grad=True) + else: + self.gamma_1, self.gamma_2 = None, None + + def forward(self, x, rel_pos_bias=None): + if self.gamma_1 is None: + x = x + self.drop_path(self.attn(self.norm1(x), rel_pos_bias=rel_pos_bias)) + x = x + self.drop_path(self.mlp(self.norm2(x))) + else: + x = x + self.drop_path(self.gamma_1 * self.attn(self.norm1(x), rel_pos_bias=rel_pos_bias)) + x = x + self.drop_path(self.gamma_2 * self.mlp(self.norm2(x))) + return x + + +class PatchEmbed(nn.Module): + """ Image to Patch Embedding + """ + def __init__(self, img_size=224, patch_size=16, in_chans=3, embed_dim=768): + super().__init__() + img_size = to_2tuple(img_size) + patch_size = to_2tuple(patch_size) + num_patches = (img_size[1] // patch_size[1]) * (img_size[0] // patch_size[0]) + self.patch_shape = (img_size[0] // patch_size[0], img_size[1] // patch_size[1]) + self.img_size = img_size + self.patch_size = patch_size + self.num_patches = num_patches + + self.proj = nn.Conv2d(in_chans, embed_dim, kernel_size=patch_size, stride=patch_size) + + def forward(self, x, **kwargs): + B, C, H, W = x.shape + # FIXME look at relaxing size constraints + assert H == self.img_size[0] and W == self.img_size[1], \ + f"Input image size ({H}*{W}) doesn't match model ({self.img_size[0]}*{self.img_size[1]})." + x = self.proj(x).flatten(2).transpose(1, 2) + return x + + +class RelativePositionBias(nn.Module): + + def __init__(self, window_size, num_heads): + super().__init__() + self.window_size = window_size + self.num_relative_distance = (2 * window_size[0] - 1) * (2 * window_size[1] - 1) + 3 + self.relative_position_bias_table = nn.Parameter( + torch.zeros(self.num_relative_distance, num_heads)) # 2*Wh-1 * 2*Ww-1, nH + # cls to token & token 2 cls & cls to cls + + # get pair-wise relative position index for each token inside the window + coords_h = torch.arange(window_size[0]) + coords_w = torch.arange(window_size[1]) + coords = torch.stack(torch.meshgrid([coords_h, coords_w])) # 2, Wh, Ww + coords_flatten = torch.flatten(coords, 1) # 2, Wh*Ww + relative_coords = coords_flatten[:, :, None] - coords_flatten[:, None, :] # 2, Wh*Ww, Wh*Ww + relative_coords = relative_coords.permute(1, 2, 0).contiguous() # Wh*Ww, Wh*Ww, 2 + relative_coords[:, :, 0] += window_size[0] - 1 # shift to start from 0 + relative_coords[:, :, 1] += window_size[1] - 1 + relative_coords[:, :, 0] *= 2 * window_size[1] - 1 + relative_position_index = \ + torch.zeros(size=(window_size[0] * window_size[1] + 1,) * 2, dtype=relative_coords.dtype) + relative_position_index[1:, 1:] = relative_coords.sum(-1) # Wh*Ww, Wh*Ww + relative_position_index[0, 0:] = self.num_relative_distance - 3 + relative_position_index[0:, 0] = self.num_relative_distance - 2 + relative_position_index[0, 0] = self.num_relative_distance - 1 + + self.register_buffer("relative_position_index", relative_position_index) + + # trunc_normal_(self.relative_position_bias_table, std=.02) + + def forward(self): + relative_position_bias = \ + self.relative_position_bias_table[self.relative_position_index.view(-1)].view( + self.window_size[0] * self.window_size[1] + 1, + self.window_size[0] * self.window_size[1] + 1, -1) # Wh*Ww,Wh*Ww,nH + return relative_position_bias.permute(2, 0, 1).contiguous() # nH, Wh*Ww, Wh*Ww + + +class VisionTransformer(nn.Module): + """ Vision Transformer with support for patch or hybrid CNN input stage + """ + def __init__(self, img_size=224, patch_size=16, in_chans=3, num_classes=1000, embed_dim=768, depth=12, + num_heads=12, mlp_ratio=4., qkv_bias=False, qk_scale=None, drop_rate=0., attn_drop_rate=0., + drop_path_rate=0., norm_layer=nn.LayerNorm, init_values=None, + use_abs_pos_emb=True, use_rel_pos_bias=False, use_shared_rel_pos_bias=False, + use_mean_pooling=True, init_scale=0.001, use_checkpoint=False): + super().__init__() + self.image_size = img_size + self.num_classes = num_classes + self.num_features = self.embed_dim = embed_dim # num_features for consistency with other models + + self.patch_embed = PatchEmbed( + img_size=img_size, patch_size=patch_size, in_chans=in_chans, embed_dim=embed_dim) + num_patches = self.patch_embed.num_patches + + self.cls_token = nn.Parameter(torch.zeros(1, 1, embed_dim)) + if use_abs_pos_emb: + self.pos_embed = nn.Parameter(torch.zeros(1, num_patches + 1, embed_dim)) + else: + self.pos_embed = None + self.pos_drop = nn.Dropout(p=drop_rate) + + if use_shared_rel_pos_bias: + self.rel_pos_bias = RelativePositionBias(window_size=self.patch_embed.patch_shape, num_heads=num_heads) + else: + self.rel_pos_bias = None + self.use_checkpoint = use_checkpoint + + dpr = [x.item() for x in torch.linspace(0, drop_path_rate, depth)] # stochastic depth decay rule + self.use_rel_pos_bias = use_rel_pos_bias + self.blocks = nn.ModuleList([ + Block( + dim=embed_dim, num_heads=num_heads, mlp_ratio=mlp_ratio, qkv_bias=qkv_bias, qk_scale=qk_scale, + drop=drop_rate, attn_drop=attn_drop_rate, drop_path=dpr[i], norm_layer=norm_layer, + init_values=init_values, window_size=self.patch_embed.patch_shape if use_rel_pos_bias else None) + for i in range(depth)]) +# self.norm = nn.Identity() if use_mean_pooling else norm_layer(embed_dim) +# self.fc_norm = norm_layer(embed_dim) if use_mean_pooling else None +# self.head = nn.Linear(embed_dim, num_classes) if num_classes > 0 else nn.Identity() + + if self.pos_embed is not None: + trunc_normal_(self.pos_embed, std=.02) + trunc_normal_(self.cls_token, std=.02) + # trunc_normal_(self.mask_token, std=.02) +# if isinstance(self.head, nn.Linear): +# trunc_normal_(self.head.weight, std=.02) + self.apply(self._init_weights) + self.fix_init_weight() +# if isinstance(self.head, nn.Linear): +# self.head.weight.data.mul_(init_scale) +# self.head.bias.data.mul_(init_scale) + + def fix_init_weight(self): + def rescale(param, layer_id): + param.div_(math.sqrt(2.0 * layer_id)) + + for layer_id, layer in enumerate(self.blocks): + rescale(layer.attn.proj.weight.data, layer_id + 1) + rescale(layer.mlp.fc2.weight.data, layer_id + 1) + + def _init_weights(self, m): + if isinstance(m, nn.Linear): + trunc_normal_(m.weight, std=.02) + if isinstance(m, nn.Linear) and m.bias is not None: + nn.init.constant_(m.bias, 0) + elif isinstance(m, nn.LayerNorm): + nn.init.constant_(m.bias, 0) + nn.init.constant_(m.weight, 1.0) + + def get_classifier(self): + return self.head + + def reset_classifier(self, num_classes, global_pool=''): + self.num_classes = num_classes + self.head = nn.Linear(self.embed_dim, num_classes) if num_classes > 0 else nn.Identity() + + def forward_features(self, x): + x = self.patch_embed(x) + batch_size, seq_len, _ = x.size() + + cls_tokens = self.cls_token.expand(batch_size, -1, -1) # stole cls_tokens impl from Phil Wang, thanks + x = torch.cat((cls_tokens, x), dim=1) + if self.pos_embed is not None: + x = x + self.pos_embed + x = self.pos_drop(x) + + rel_pos_bias = self.rel_pos_bias() if self.rel_pos_bias is not None else None + for blk in self.blocks: + if self.use_checkpoint: + x = checkpoint.checkpoint(blk, x, rel_pos_bias) + else: + x = blk(x, rel_pos_bias) + return x +# x = self.norm(x) + +# if self.fc_norm is not None: +# t = x[:, 1:, :] +# return self.fc_norm(t.mean(1)) +# else: +# return x[:, 0] + + def forward(self, x): + x = self.forward_features(x) +# x = self.head(x) + return x + + def get_intermediate_layers(self, x): + x = self.patch_embed(x) + batch_size, seq_len, _ = x.size() + + cls_tokens = self.cls_token.expand(batch_size, -1, -1) # stole cls_tokens impl from Phil Wang, thanks + x = torch.cat((cls_tokens, x), dim=1) + if self.pos_embed is not None: + x = x + self.pos_embed + x = self.pos_drop(x) + + features = [] + rel_pos_bias = self.rel_pos_bias() if self.rel_pos_bias is not None else None + for blk in self.blocks: + x = blk(x, rel_pos_bias) + features.append(x) + + return features + + +def interpolate_pos_embed(model, checkpoint_model): + if 'pos_embed' in checkpoint_model: + pos_embed_checkpoint = checkpoint_model['pos_embed'].float() + embedding_size = pos_embed_checkpoint.shape[-1] + num_patches = model.patch_embed.num_patches + num_extra_tokens = model.pos_embed.shape[-2] - num_patches + # height (== width) for the checkpoint position embedding + orig_size = int((pos_embed_checkpoint.shape[-2] - num_extra_tokens) ** 0.5) + # height (== width) for the new position embedding + new_size = int(num_patches ** 0.5) + # class_token and dist_token are kept unchanged + if orig_size != new_size: + print("Position interpolate from %dx%d to %dx%d" % (orig_size, orig_size, new_size, new_size)) + extra_tokens = pos_embed_checkpoint[:, :num_extra_tokens] + # only the position tokens are interpolated + pos_tokens = pos_embed_checkpoint[:, num_extra_tokens:] + pos_tokens = pos_tokens.reshape(-1, orig_size, orig_size, embedding_size).permute(0, 3, 1, 2) + pos_tokens = torch.nn.functional.interpolate( + pos_tokens, size=(new_size, new_size), mode='bicubic', align_corners=False) + pos_tokens = pos_tokens.permute(0, 2, 3, 1).flatten(1, 2) + new_pos_embed = torch.cat((extra_tokens, pos_tokens), dim=1) + checkpoint_model['pos_embed'] = new_pos_embed + + +def convert_weights_to_fp16(model: nn.Module): + """Convert applicable model parameters to fp16""" + + def _convert_weights_to_fp16(l): + if isinstance(l, (nn.Conv1d, nn.Conv2d, nn.Linear)): + l.weight.data = l.weight.data.half() + if l.bias is not None: + l.bias.data = l.bias.data.half() + +# if isinstance(l, (nn.MultiheadAttention, Attention)): +# for attr in [*[f"{s}_proj_weight" for s in ["in", "q", "k", "v"]], "in_proj_bias", "bias_k", "bias_v"]: +# tensor = getattr(l, attr) +# if tensor is not None: +# tensor.data = tensor.data.half() + + model.apply(_convert_weights_to_fp16) + + +def create_eva_vit_g(img_size=224,drop_path_rate=0.4,use_checkpoint=False,precision="fp16"): + model = VisionTransformer( + img_size=img_size, + patch_size=14, + use_mean_pooling=False, + embed_dim=1408, + depth=39, + num_heads=1408//88, + mlp_ratio=4.3637, + qkv_bias=True, + drop_path_rate=drop_path_rate, + norm_layer=partial(nn.LayerNorm, eps=1e-6), + use_checkpoint=use_checkpoint, + ) + url = "https://storage.googleapis.com/sfr-vision-language-research/LAVIS/models/BLIP2/eva_vit_g.pth" + cached_file = download_cached_file( + url, check_hash=False, progress=True + ) + state_dict = torch.load(cached_file, map_location="cpu") + interpolate_pos_embed(model,state_dict) + + incompatible_keys = model.load_state_dict(state_dict, strict=False) +# print(incompatible_keys) + + if precision == "fp16": +# model.to("cuda") + convert_weights_to_fp16(model) + return model \ No newline at end of file diff --git a/video_llama/models/modeling_llama.py b/video_llama/models/modeling_llama.py new file mode 100644 index 0000000000000000000000000000000000000000..12d980e189d902fb1a6d9ea05dc3ca91959b1c8c --- /dev/null +++ b/video_llama/models/modeling_llama.py @@ -0,0 +1,755 @@ +# This script is based on https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/modeling_llama.py + +""" PyTorch LLaMA model.""" +import math +from typing import List, Optional, Tuple, Union + +import torch +import torch.utils.checkpoint +from torch import nn +from torch.nn import BCEWithLogitsLoss, CrossEntropyLoss, MSELoss + +from transformers.activations import ACT2FN +from transformers.modeling_outputs import BaseModelOutputWithPast, CausalLMOutputWithPast, SequenceClassifierOutputWithPast +from transformers.modeling_utils import PreTrainedModel +from transformers.utils import add_start_docstrings, add_start_docstrings_to_model_forward, logging, replace_return_docstrings +from transformers.models.llama.configuration_llama import LlamaConfig + + +logger = logging.get_logger(__name__) + +_CONFIG_FOR_DOC = "LlamaConfig" + + +# Copied from transformers.models.bart.modeling_bart._make_causal_mask +def _make_causal_mask( + input_ids_shape: torch.Size, dtype: torch.dtype, device: torch.device, past_key_values_length: int = 0 +): + """ + Make causal mask used for bi-directional self-attention. + """ + bsz, tgt_len = input_ids_shape + mask = torch.full((tgt_len, tgt_len), torch.tensor(torch.finfo(dtype).min, device=device), device=device) + mask_cond = torch.arange(mask.size(-1), device=device) + mask.masked_fill_(mask_cond < (mask_cond + 1).view(mask.size(-1), 1), 0) + mask = mask.to(dtype) + + if past_key_values_length > 0: + mask = torch.cat([torch.zeros(tgt_len, past_key_values_length, dtype=dtype, device=device), mask], dim=-1) + return mask[None, None, :, :].expand(bsz, 1, tgt_len, tgt_len + past_key_values_length) + + +# Copied from transformers.models.bart.modeling_bart._expand_mask +def _expand_mask(mask: torch.Tensor, dtype: torch.dtype, tgt_len: Optional[int] = None): + """ + Expands attention_mask from `[bsz, seq_len]` to `[bsz, 1, tgt_seq_len, src_seq_len]`. + """ + bsz, src_len = mask.size() + tgt_len = tgt_len if tgt_len is not None else src_len + + expanded_mask = mask[:, None, None, :].expand(bsz, 1, tgt_len, src_len).to(dtype) + + inverted_mask = 1.0 - expanded_mask + + return inverted_mask.masked_fill(inverted_mask.to(torch.bool), torch.finfo(dtype).min) + + +class LlamaRMSNorm(nn.Module): + def __init__(self, hidden_size, eps=1e-6): + """ + LlamaRMSNorm is equivalent to T5LayerNorm + """ + super().__init__() + self.weight = nn.Parameter(torch.ones(hidden_size)) + self.variance_epsilon = eps + + def forward(self, hidden_states): + variance = hidden_states.to(torch.float32).pow(2).mean(-1, keepdim=True) + hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon) + + # convert into half-precision if necessary + if self.weight.dtype in [torch.float16, torch.bfloat16]: + hidden_states = hidden_states.to(self.weight.dtype) + + return self.weight * hidden_states + + +class LlamaRotaryEmbedding(torch.nn.Module): + def __init__(self, dim, max_position_embeddings=2048, base=10000, device=None): + super().__init__() + inv_freq = 1.0 / (base ** (torch.arange(0, dim, 2).float().to(device) / dim)) + self.register_buffer("inv_freq", inv_freq) + + # Build here to make `torch.jit.trace` work. + self.max_seq_len_cached = max_position_embeddings + t = torch.arange(self.max_seq_len_cached, device=self.inv_freq.device, dtype=self.inv_freq.dtype) + freqs = torch.einsum("i,j->ij", t, self.inv_freq) + # Different from paper, but it uses a different permutation in order to obtain the same calculation + emb = torch.cat((freqs, freqs), dim=-1) + self.register_buffer("cos_cached", emb.cos()[None, None, :, :], persistent=False) + self.register_buffer("sin_cached", emb.sin()[None, None, :, :], persistent=False) + + def forward(self, x, seq_len=None): + # x: [bs, num_attention_heads, seq_len, head_size] + # This `if` block is unlikely to be run after we build sin/cos in `__init__`. Keep the logic here just in case. + if seq_len > self.max_seq_len_cached: + self.max_seq_len_cached = seq_len + t = torch.arange(self.max_seq_len_cached, device=x.device, dtype=self.inv_freq.dtype) + freqs = torch.einsum("i,j->ij", t, self.inv_freq) + # Different from paper, but it uses a different permutation in order to obtain the same calculation + emb = torch.cat((freqs, freqs), dim=-1).to(x.device) + self.register_buffer("cos_cached", emb.cos()[None, None, :, :], persistent=False) + self.register_buffer("sin_cached", emb.sin()[None, None, :, :], persistent=False) + return ( + self.cos_cached[:, :, :seq_len, ...].to(dtype=x.dtype), + self.sin_cached[:, :, :seq_len, ...].to(dtype=x.dtype), + ) + + +def rotate_half(x): + """Rotates half the hidden dims of the input.""" + x1 = x[..., : x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2 :] + return torch.cat((-x2, x1), dim=-1) + + +def apply_rotary_pos_emb(q, k, cos, sin, position_ids): + gather_indices = position_ids[:, None, :, None] # [bs, 1, seq_len, 1] + gather_indices = gather_indices.repeat(1, cos.shape[1], 1, cos.shape[3]) + cos = torch.gather(cos.repeat(gather_indices.shape[0], 1, 1, 1), 2, gather_indices) + sin = torch.gather(sin.repeat(gather_indices.shape[0], 1, 1, 1), 2, gather_indices) + q_embed = (q * cos) + (rotate_half(q) * sin) + k_embed = (k * cos) + (rotate_half(k) * sin) + return q_embed, k_embed + + +class LlamaMLP(nn.Module): + def __init__( + self, + hidden_size: int, + intermediate_size: int, + hidden_act: str, + ): + super().__init__() + self.gate_proj = nn.Linear(hidden_size, intermediate_size, bias=False) + self.down_proj = nn.Linear(intermediate_size, hidden_size, bias=False) + self.up_proj = nn.Linear(hidden_size, intermediate_size, bias=False) + self.act_fn = ACT2FN[hidden_act] + + def forward(self, x): + return self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x)) + + +class LlamaAttention(nn.Module): + """Multi-headed attention from 'Attention Is All You Need' paper""" + + def __init__(self, config: LlamaConfig): + super().__init__() + self.config = config + self.hidden_size = config.hidden_size + self.num_heads = config.num_attention_heads + self.head_dim = self.hidden_size // self.num_heads + self.max_position_embeddings = config.max_position_embeddings + + if (self.head_dim * self.num_heads) != self.hidden_size: + raise ValueError( + f"hidden_size must be divisible by num_heads (got `hidden_size`: {self.hidden_size}" + f" and `num_heads`: {self.num_heads})." + ) + self.q_proj = nn.Linear(self.hidden_size, self.num_heads * self.head_dim, bias=False) + self.k_proj = nn.Linear(self.hidden_size, self.num_heads * self.head_dim, bias=False) + self.v_proj = nn.Linear(self.hidden_size, self.num_heads * self.head_dim, bias=False) + self.o_proj = nn.Linear(self.num_heads * self.head_dim, self.hidden_size, bias=False) + self.rotary_emb = LlamaRotaryEmbedding(self.head_dim, max_position_embeddings=self.max_position_embeddings) + + def _shape(self, tensor: torch.Tensor, seq_len: int, bsz: int): + return tensor.view(bsz, seq_len, self.num_heads, self.head_dim).transpose(1, 2).contiguous() + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Tuple[torch.Tensor]] = None, + output_attentions: bool = False, + use_cache: bool = False, + ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]: + bsz, q_len, _ = hidden_states.size() + + query_states = self.q_proj(hidden_states).view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + key_states = self.k_proj(hidden_states).view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + value_states = self.v_proj(hidden_states).view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + + kv_seq_len = key_states.shape[-2] + if past_key_value is not None: + kv_seq_len += past_key_value[0].shape[-2] + cos, sin = self.rotary_emb(value_states, seq_len=kv_seq_len) + query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids) + # [bsz, nh, t, hd] + + if past_key_value is not None: + # reuse k, v, self_attention + key_states = torch.cat([past_key_value[0], key_states], dim=2) + value_states = torch.cat([past_key_value[1], value_states], dim=2) + + past_key_value = (key_states, value_states) if use_cache else None + + attn_weights = torch.matmul(query_states, key_states.transpose(2, 3)) / math.sqrt(self.head_dim) + + if attn_weights.size() != (bsz, self.num_heads, q_len, kv_seq_len): + raise ValueError( + f"Attention weights should be of size {(bsz * self.num_heads, q_len, kv_seq_len)}, but is" + f" {attn_weights.size()}" + ) + + if attention_mask is not None: + if attention_mask.size() != (bsz, 1, q_len, kv_seq_len): + raise ValueError( + f"Attention mask should be of size {(bsz, 1, q_len, kv_seq_len)}, but is {attention_mask.size()}" + ) + attn_weights = attn_weights + attention_mask + attn_weights = torch.max(attn_weights, torch.tensor(torch.finfo(attn_weights.dtype).min)) + + # upcast attention to fp32 + attn_weights = nn.functional.softmax(attn_weights, dim=-1, dtype=torch.float32).to(query_states.dtype) + attn_output = torch.matmul(attn_weights, value_states) + + if attn_output.size() != (bsz, self.num_heads, q_len, self.head_dim): + raise ValueError( + f"`attn_output` should be of size {(bsz, self.num_heads, q_len, self.head_dim)}, but is" + f" {attn_output.size()}" + ) + + attn_output = attn_output.transpose(1, 2) + attn_output = attn_output.reshape(bsz, q_len, self.hidden_size) + + attn_output = self.o_proj(attn_output) + + if not output_attentions: + attn_weights = None + + return attn_output, attn_weights, past_key_value + + +class LlamaDecoderLayer(nn.Module): + def __init__(self, config: LlamaConfig): + super().__init__() + self.hidden_size = config.hidden_size + self.self_attn = LlamaAttention(config=config) + self.mlp = LlamaMLP( + hidden_size=self.hidden_size, + intermediate_size=config.intermediate_size, + hidden_act=config.hidden_act, + ) + self.input_layernorm = LlamaRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.post_attention_layernorm = LlamaRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Tuple[torch.Tensor]] = None, + output_attentions: Optional[bool] = False, + use_cache: Optional[bool] = False, + ) -> Tuple[torch.FloatTensor, Optional[Tuple[torch.FloatTensor, torch.FloatTensor]]]: + """ + Args: + hidden_states (`torch.FloatTensor`): input to the layer of shape `(batch, seq_len, embed_dim)` + attention_mask (`torch.FloatTensor`, *optional*): attention mask of size + `(batch, 1, tgt_len, src_len)` where padding elements are indicated by very large negative values. + output_attentions (`bool`, *optional*): + Whether or not to return the attentions tensors of all attention layers. See `attentions` under + returned tensors for more detail. + use_cache (`bool`, *optional*): + If set to `True`, `past_key_values` key value states are returned and can be used to speed up decoding + (see `past_key_values`). + past_key_value (`Tuple(torch.FloatTensor)`, *optional*): cached past key and value projection states + """ + + residual = hidden_states + + hidden_states = self.input_layernorm(hidden_states) + + # Self Attention + hidden_states, self_attn_weights, present_key_value = self.self_attn( + hidden_states=hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_value, + output_attentions=output_attentions, + use_cache=use_cache, + ) + hidden_states = residual + hidden_states + + # Fully Connected + residual = hidden_states + hidden_states = self.post_attention_layernorm(hidden_states) + hidden_states = self.mlp(hidden_states) + hidden_states = residual + hidden_states + + outputs = (hidden_states,) + + if output_attentions: + outputs += (self_attn_weights,) + + if use_cache: + outputs += (present_key_value,) + + return outputs + + +LLAMA_START_DOCSTRING = r""" + This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the + library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads + etc.) + + This model is also a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. + Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage + and behavior. + + Parameters: + config ([`LlamaConfig`]): + Model configuration class with all the parameters of the model. Initializing with a config file does not + load the weights associated with the model, only the configuration. Check out the + [`~PreTrainedModel.from_pretrained`] method to load the model weights. +""" + + +@add_start_docstrings( + "The bare LLaMA Model outputting raw hidden-states without any specific head on top.", + LLAMA_START_DOCSTRING, +) +class LlamaPreTrainedModel(PreTrainedModel): + config_class = LlamaConfig + base_model_prefix = "model" + supports_gradient_checkpointing = True + _no_split_modules = ["LlamaDecoderLayer"] + _keys_to_ignore_on_load_unexpected = [r"decoder\.version"] + + def _init_weights(self, module): + std = self.config.initializer_range + if isinstance(module, nn.Linear): + module.weight.data.normal_(mean=0.0, std=std) + if module.bias is not None: + module.bias.data.zero_() + elif isinstance(module, nn.Embedding): + module.weight.data.normal_(mean=0.0, std=std) + if module.padding_idx is not None: + module.weight.data[module.padding_idx].zero_() + + def _set_gradient_checkpointing(self, module, value=False): + if isinstance(module, LlamaModel): + module.gradient_checkpointing = value + + +LLAMA_INPUTS_DOCSTRING = r""" + Args: + input_ids (`torch.LongTensor` of shape `(batch_size, sequence_length)`): + Indices of input sequence tokens in the vocabulary. Padding will be ignored by default should you provide + it. + + Indices can be obtained using [`AutoTokenizer`]. See [`PreTrainedTokenizer.encode`] and + [`PreTrainedTokenizer.__call__`] for details. + + [What are input IDs?](../glossary#input-ids) + attention_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*): + Mask to avoid performing attention on padding token indices. Mask values selected in `[0, 1]`: + + - 1 for tokens that are **not masked**, + - 0 for tokens that are **masked**. + + [What are attention masks?](../glossary#attention-mask) + + Indices can be obtained using [`AutoTokenizer`]. See [`PreTrainedTokenizer.encode`] and + [`PreTrainedTokenizer.__call__`] for details. + + If `past_key_values` is used, optionally only the last `decoder_input_ids` have to be input (see + `past_key_values`). + + If you want to change padding behavior, you should read [`modeling_opt._prepare_decoder_attention_mask`] + and modify to your needs. See diagram 1 in [the paper](https://arxiv.org/abs/1910.13461) for more + information on the default strategy. + + - 1 indicates the head is **not masked**, + - 0 indicates the head is **masked**. + position_ids (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*): + Indices of positions of each input sequence tokens in the position embeddings. Selected in the range `[0, + config.n_positions - 1]`. + + [What are position IDs?](../glossary#position-ids) + past_key_values (`tuple(tuple(torch.FloatTensor))`, *optional*, returned when `use_cache=True` is passed or when `config.use_cache=True`): + Tuple of `tuple(torch.FloatTensor)` of length `config.n_layers`, with each tuple having 2 tensors of shape + `(batch_size, num_heads, sequence_length, embed_size_per_head)`) and 2 additional tensors of shape + `(batch_size, num_heads, encoder_sequence_length, embed_size_per_head)`. + + Contains pre-computed hidden-states (key and values in the self-attention blocks and in the cross-attention + blocks) that can be used (see `past_key_values` input) to speed up sequential decoding. + + If `past_key_values` are used, the user can optionally input only the last `decoder_input_ids` (those that + don't have their past key value states given to this model) of shape `(batch_size, 1)` instead of all + `decoder_input_ids` of shape `(batch_size, sequence_length)`. + inputs_embeds (`torch.FloatTensor` of shape `(batch_size, sequence_length, hidden_size)`, *optional*): + Optionally, instead of passing `input_ids` you can choose to directly pass an embedded representation. This + is useful if you want more control over how to convert `input_ids` indices into associated vectors than the + model's internal embedding lookup matrix. + use_cache (`bool`, *optional*): + If set to `True`, `past_key_values` key value states are returned and can be used to speed up decoding (see + `past_key_values`). + output_attentions (`bool`, *optional*): + Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned + tensors for more detail. + output_hidden_states (`bool`, *optional*): + Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for + more detail. + return_dict (`bool`, *optional*): + Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. +""" + + +@add_start_docstrings( + "The bare LLaMA Model outputting raw hidden-states without any specific head on top.", + LLAMA_START_DOCSTRING, +) +class LlamaModel(LlamaPreTrainedModel): + """ + Transformer decoder consisting of *config.num_hidden_layers* layers. Each layer is a [`LlamaDecoderLayer`] + + Args: + config: LlamaConfig + """ + + def __init__(self, config: LlamaConfig): + super().__init__(config) + self.padding_idx = config.pad_token_id + self.vocab_size = config.vocab_size + + self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, self.padding_idx) + self.layers = nn.ModuleList([LlamaDecoderLayer(config) for _ in range(config.num_hidden_layers)]) + self.norm = LlamaRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + + self.gradient_checkpointing = False + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self): + return self.embed_tokens + + def set_input_embeddings(self, value): + self.embed_tokens = value + + # Copied from transformers.models.bart.modeling_bart.BartDecoder._prepare_decoder_attention_mask + def _prepare_decoder_attention_mask(self, attention_mask, input_shape, inputs_embeds, past_key_values_length): + # create causal mask + # [bsz, seq_len] -> [bsz, 1, tgt_seq_len, src_seq_len] + combined_attention_mask = None + if input_shape[-1] > 1: + combined_attention_mask = _make_causal_mask( + input_shape, + inputs_embeds.dtype, + device=inputs_embeds.device, + past_key_values_length=past_key_values_length, + ) + + if attention_mask is not None: + # [bsz, seq_len] -> [bsz, 1, tgt_seq_len, src_seq_len] + expanded_attn_mask = _expand_mask(attention_mask, inputs_embeds.dtype, tgt_len=input_shape[-1]).to( + inputs_embeds.device + ) + combined_attention_mask = ( + expanded_attn_mask if combined_attention_mask is None else expanded_attn_mask + combined_attention_mask + ) + + return combined_attention_mask + + @add_start_docstrings_to_model_forward(LLAMA_INPUTS_DOCSTRING) + def forward( + self, + input_ids: torch.LongTensor = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[List[torch.FloatTensor]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + query_embeds: Optional[torch.FloatTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + return_dict: Optional[bool] = None, + ) -> Union[Tuple, BaseModelOutputWithPast]: + output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions + output_hidden_states = ( + output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states + ) + use_cache = use_cache if use_cache is not None else self.config.use_cache + + return_dict = return_dict if return_dict is not None else self.config.use_return_dict + + # retrieve input_ids and inputs_embeds + if input_ids is not None and inputs_embeds is not None: + raise ValueError("You cannot specify both decoder_input_ids and decoder_inputs_embeds at the same time") + elif input_ids is not None: + batch_size, seq_length = input_ids.shape + elif inputs_embeds is not None: + batch_size, seq_length, _ = inputs_embeds.shape + else: + raise ValueError("You have to specify either decoder_input_ids or decoder_inputs_embeds") + + if inputs_embeds is None: + inputs_embeds = self.embed_tokens(input_ids) + if query_embeds is not None: + inputs_embeds = torch.cat([query_embeds, inputs_embeds], dim=1) + batch_size, seq_length, _ = inputs_embeds.shape + + seq_length_with_past = seq_length + past_key_values_length = 0 + + if past_key_values is not None: + past_key_values_length = past_key_values[0][0].shape[2] + seq_length_with_past = seq_length_with_past + past_key_values_length + + if position_ids is None: + device = input_ids.device if input_ids is not None else inputs_embeds.device + position_ids = torch.arange( + past_key_values_length, seq_length + past_key_values_length, dtype=torch.long, device=device + ) + position_ids = position_ids.unsqueeze(0).view(-1, seq_length) + else: + position_ids = position_ids.view(-1, seq_length).long() + + # embed positions + if attention_mask is None: + attention_mask = torch.ones( + (batch_size, seq_length_with_past), dtype=torch.bool, device=inputs_embeds.device + ) + attention_mask = self._prepare_decoder_attention_mask( + attention_mask, (batch_size, seq_length), inputs_embeds, past_key_values_length + ) + + hidden_states = inputs_embeds + + if self.gradient_checkpointing and self.training: + if use_cache: + logger.warning_once( + "`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`..." + ) + use_cache = False + + # decoder layers + all_hidden_states = () if output_hidden_states else None + all_self_attns = () if output_attentions else None + next_decoder_cache = () if use_cache else None + + for idx, decoder_layer in enumerate(self.layers): + if output_hidden_states: + all_hidden_states += (hidden_states,) + + past_key_value = past_key_values[idx] if past_key_values is not None else None + + if self.gradient_checkpointing and self.training: + + def create_custom_forward(module): + def custom_forward(*inputs): + # None for past_key_value + return module(*inputs, output_attentions, None) + + return custom_forward + + layer_outputs = torch.utils.checkpoint.checkpoint( + create_custom_forward(decoder_layer), + hidden_states, + attention_mask, + position_ids, + None, + ) + else: + layer_outputs = decoder_layer( + hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_value, + output_attentions=output_attentions, + use_cache=use_cache, + ) + + hidden_states = layer_outputs[0] + + if use_cache: + next_decoder_cache += (layer_outputs[2 if output_attentions else 1],) + + if output_attentions: + all_self_attns += (layer_outputs[1],) + + hidden_states = self.norm(hidden_states) + + # add hidden states from the last decoder layer + if output_hidden_states: + all_hidden_states += (hidden_states,) + + next_cache = next_decoder_cache if use_cache else None + if not return_dict: + return tuple(v for v in [hidden_states, next_cache, all_hidden_states, all_self_attns] if v is not None) + return BaseModelOutputWithPast( + last_hidden_state=hidden_states, + past_key_values=next_cache, + hidden_states=all_hidden_states, + attentions=all_self_attns, + ) + + +class LlamaForCausalLM(LlamaPreTrainedModel): + def __init__(self, config): + super().__init__(config) + self.model = LlamaModel(config) + + self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self): + return self.model.embed_tokens + + def set_input_embeddings(self, value): + self.model.embed_tokens = value + + def get_output_embeddings(self): + return self.lm_head + + def set_output_embeddings(self, new_embeddings): + self.lm_head = new_embeddings + + def set_decoder(self, decoder): + self.model = decoder + + def get_decoder(self): + return self.model + + @add_start_docstrings_to_model_forward(LLAMA_INPUTS_DOCSTRING) + @replace_return_docstrings(output_type=CausalLMOutputWithPast, config_class=_CONFIG_FOR_DOC) + def forward( + self, + input_ids: torch.LongTensor = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[List[torch.FloatTensor]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + query_embeds: Optional[torch.FloatTensor] = None, + labels: Optional[torch.LongTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + return_dict: Optional[bool] = None, + ) -> Union[Tuple, CausalLMOutputWithPast]: + r""" + Args: + labels (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*): + Labels for computing the masked language modeling loss. Indices should either be in `[0, ..., + config.vocab_size]` or -100 (see `input_ids` docstring). Tokens with indices set to `-100` are ignored + (masked), the loss is only computed for the tokens with labels in `[0, ..., config.vocab_size]`. + + Returns: + + Example: + + ```python + >>> from transformers import AutoTokenizer, LlamaForCausalLM + + >>> model = LlamaForCausalLM.from_pretrained(PATH_TO_CONVERTED_WEIGHTS) + >>> tokenizer = AutoTokenizer.from_pretrained(PATH_TO_CONVERTED_TOKENIZER) + + >>> prompt = "Hey, are you consciours? Can you talk to me?" + >>> inputs = tokenizer(prompt, return_tensors="pt") + + >>> # Generate + >>> generate_ids = model.generate(inputs.input_ids, max_length=30) + >>> tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0] + "Hey, are you consciours? Can you talk to me?\nI'm not consciours, but I can talk to you." + ```""" + + output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions + output_hidden_states = ( + output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states + ) + return_dict = return_dict if return_dict is not None else self.config.use_return_dict + + # decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn) + outputs = self.model( + input_ids=input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_values, + inputs_embeds=inputs_embeds, + query_embeds=query_embeds, + use_cache=use_cache, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + ) + + hidden_states = outputs[0] + logits = self.lm_head(hidden_states) + + loss = None + if labels is not None: + # Shift so that tokens < n predict n + shift_logits = logits[..., :-1, :].contiguous() + shift_labels = labels[..., 1:].contiguous() + # Flatten the tokens + loss_fct = CrossEntropyLoss() + shift_logits = shift_logits.view(-1, self.config.vocab_size) + shift_labels = shift_labels.view(-1) + # Enable model parallelism + shift_labels = shift_labels.to(shift_logits.device) + loss = loss_fct(shift_logits, shift_labels) + + if not return_dict: + output = (logits,) + outputs[1:] + return (loss,) + output if loss is not None else output + + return CausalLMOutputWithPast( + loss=loss, + logits=logits, + past_key_values=outputs.past_key_values, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) + + def prepare_inputs_for_generation( + self, input_ids, query_embeds=None, past_key_values=None, attention_mask=None, inputs_embeds=None, **kwargs + ): + if past_key_values: + input_ids = input_ids[:, -1:] + + position_ids = kwargs.get("position_ids", None) + if attention_mask is not None and position_ids is None: + # create position_ids on the fly for batch generation + position_ids = attention_mask.long().cumsum(-1) - 1 + position_ids.masked_fill_(attention_mask == 0, 1) + if past_key_values: + position_ids = position_ids[:, -1].unsqueeze(-1) + query_embeds = None + + # if `inputs_embeds` are passed, we only want to use them in the 1st generation step + if inputs_embeds is not None and past_key_values is None: + model_inputs = {"inputs_embeds": inputs_embeds} + else: + model_inputs = {"input_ids": input_ids} + + model_inputs.update( + { + "position_ids": position_ids, + "query_embeds": query_embeds, + "past_key_values": past_key_values, + "use_cache": kwargs.get("use_cache"), + "attention_mask": attention_mask, + } + ) + return model_inputs + + @staticmethod + def _reorder_cache(past_key_values, beam_idx): + reordered_past = () + for layer_past in past_key_values: + reordered_past += (tuple(past_state.index_select(0, beam_idx) for past_state in layer_past),) + return reordered_past + diff --git a/video_llama/models/video_llama.py b/video_llama/models/video_llama.py new file mode 100644 index 0000000000000000000000000000000000000000..70e40c801525ef51c4f99b8cf33722c109400b0b --- /dev/null +++ b/video_llama/models/video_llama.py @@ -0,0 +1,614 @@ +import logging +import random + +import torch +from torch.cuda.amp import autocast as autocast +import torch.nn as nn + +from video_llama.common.registry import registry +from video_llama.models.blip2 import Blip2Base, disabled_train +from video_llama.models.modeling_llama import LlamaForCausalLM +# from video_llama.models.Qformer import BertEncoder +from transformers import LlamaTokenizer,BertConfig +# from transformers.models.bert.modeling_bert import BertEncoder +import einops +import copy +from video_llama.models.Qformer import BertConfig, BertLMHeadModel +from video_llama.models.ImageBind.models.imagebind_model import ImageBindModel,ModalityType +from video_llama.models.ImageBind.models import imagebind_model +# from flamingo_pytorch import PerceiverResampler +@registry.register_model("video_llama") +class VideoLLAMA(Blip2Base): + """ + BLIP2 GPT-LLAMA model. + """ + + PRETRAINED_MODEL_CONFIG_DICT = { + "pretrain_vicuna": "configs/models/video_llama.yaml", + "pretrain_llama_v2": "configs/models/video_llama.yaml", + } + + @classmethod + def init_video_Qformer(cls, num_query_token, vision_width,num_hidden_layers =2): + encoder_config = BertConfig.from_pretrained("bert-base-uncased") + encoder_config.num_hidden_layers = num_hidden_layers + encoder_config.encoder_width = vision_width + # insert cross-attention layer every other block + encoder_config.add_cross_attention = True + encoder_config.cross_attention_freq = 1 + encoder_config.query_length = num_query_token + Qformer = BertLMHeadModel(config=encoder_config) + query_tokens = nn.Parameter( + torch.zeros(1, num_query_token, encoder_config.hidden_size) + ) + query_tokens.data.normal_(mean=0.0, std=encoder_config.initializer_range) + return Qformer, query_tokens + + def __init__( + self, + vit_model="eva_clip_g", + q_former_model="https://storage.googleapis.com/sfr-vision-language-research/LAVIS/models/BLIP2/blip2_pretrained_flant5xxl.pth", + img_size=224, + drop_path_rate=0, + use_grad_checkpoint=False, + vit_precision="fp16", + freeze_vit=True, + freeze_qformer=True, + num_query_token=32, + llama_model="", + prompt_path="", + prompt_template="", + max_txt_len=32, + end_sym='\n', + low_resource=False, # use 8 bit and put vit in cpu + device_8bit=0, # the device of 8bit model should be set when loading and cannot be changed anymore. + + frozen_llama_proj=True, + frozen_video_Qformer=True, + frozen_audio_Qformer=True, + + llama_proj_model='', + fusion_header_type= "seqTransf", + max_frame_pos= 32, + fusion_head_layers = 2, + num_video_query_token = 32, + num_audio_query_token = 8, + imagebind_ckpt_path = '/mnt/workspace/ckpt', + equip_audio_branch = True + ): + super().__init__() + + self.tokenizer = self.init_tokenizer() + self.low_resource = low_resource + + print('Loading VIT') + self.visual_encoder, self.ln_vision = self.init_vision_encoder( + vit_model, img_size, drop_path_rate, use_grad_checkpoint, vit_precision + ) + if freeze_vit: + for name, param in self.visual_encoder.named_parameters(): + param.requires_grad = False + self.visual_encoder = self.visual_encoder.eval() + self.visual_encoder.train = disabled_train + for name, param in self.ln_vision.named_parameters(): + param.requires_grad = False + self.ln_vision = self.ln_vision.eval() + self.ln_vision.train = disabled_train + logging.info("freeze vision encoder") + print('Loading VIT Done') + + print('Loading Q-Former') + self.Qformer, self.query_tokens = self.init_Qformer( + num_query_token, self.visual_encoder.num_features + ) + self.Qformer.cls = None + self.Qformer.bert.embeddings.word_embeddings = None + self.Qformer.bert.embeddings.position_embeddings = None + for layer in self.Qformer.bert.encoder.layer: + layer.output = None + layer.intermediate = None + self.load_from_pretrained(url_or_filename=q_former_model) + + if freeze_qformer: + for name, param in self.Qformer.named_parameters(): + param.requires_grad = False + self.Qformer = self.Qformer.eval() + self.Qformer.train = disabled_train + self.query_tokens.requires_grad = False + logging.info("freeze Qformer") + logging.info('Loading Q-Former Done') + + logging.info('Loading LLAMA Tokenizer') + self.llama_tokenizer = LlamaTokenizer.from_pretrained(llama_model, use_fast=False) + if self.llama_tokenizer.pad_token is None: + self.llama_tokenizer.pad_token = self.llama_tokenizer.unk_token + DEFAULT_IMAGE_PATCH_TOKEN = '' + DEFAULT_AUDIO_PATCH_TOKEN = '' + self.llama_tokenizer.add_tokens([DEFAULT_IMAGE_PATCH_TOKEN], special_tokens=True) + self.llama_tokenizer.add_tokens([DEFAULT_AUDIO_PATCH_TOKEN], special_tokens=True) + + self.IMAGE_PATCH_TOKEN_ID = self.llama_tokenizer.get_vocab()[DEFAULT_IMAGE_PATCH_TOKEN] + self.AUDIO_PATCH_TOKEN_ID = self.llama_tokenizer.get_vocab()[DEFAULT_AUDIO_PATCH_TOKEN] + + logging.info('Loading LLAMA Model') + if self.low_resource: + self.llama_model = LlamaForCausalLM.from_pretrained( + llama_model, + torch_dtype=torch.bfloat16, + load_in_8bit=True, + device_map={'': device_8bit} + ) + else: + self.llama_model = LlamaForCausalLM.from_pretrained( + llama_model, + torch_dtype=torch.bfloat16, + ) + + for name, param in self.llama_model.named_parameters(): + param.requires_grad = False + logging.info('Loading LLAMA Done') + + + logging.info('Loading LLAMA proj') + self.llama_proj = nn.Linear( + self.Qformer.config.hidden_size, self.llama_model.config.hidden_size + ) + if llama_proj_model: + print("load llama proj weight: {}".format(llama_proj_model)) + llama_proj_weight = torch.load(llama_proj_model, map_location="cpu") + msg = self.load_state_dict(llama_proj_weight['model'], strict=False) + + if frozen_llama_proj: + # todo frozen llama_proj + for name, param in self.llama_proj.named_parameters(): + param.requires_grad = False + logging.info('LLAMA proj is frozen') + else: + for name, param in self.llama_proj.named_parameters(): + param.requires_grad = True + logging.info('LLAMA proj is not frozen') + + logging.info('Loading llama_proj Done') + + self.max_txt_len = max_txt_len + self.end_sym = end_sym + + if prompt_path: + with open(prompt_path, 'r') as f: + raw_prompts = f.read().splitlines() + filted_prompts = [raw_prompt for raw_prompt in raw_prompts if "" in raw_prompt] + self.prompt_list = [prompt_template.format(p) for p in filted_prompts] + print('Load {} training prompts'.format(len(self.prompt_list))) + print('Prompt Example \n{}'.format(random.choice(self.prompt_list))) + else: + self.prompt_list = [] + + self.video_frame_position_embedding = nn.Embedding(max_frame_pos, self.Qformer.config.hidden_size) + + self.num_video_query_token = num_video_query_token + self.video_Qformer,self.video_query_tokens = self.init_video_Qformer(num_query_token = num_video_query_token,\ + vision_width=self.Qformer.config.hidden_size, num_hidden_layers =2) + + self.video_Qformer.cls = None + self.video_Qformer.bert.embeddings.word_embeddings = None + self.video_Qformer.bert.embeddings.position_embeddings = None + for layer in self.video_Qformer.bert.encoder.layer: + layer.output = None + layer.intermediate = None + + + if frozen_video_Qformer: + # todo frozen llama_proj + for name, param in self.video_Qformer.named_parameters(): + param.requires_grad = False + for name, param in self.video_frame_position_embedding.named_parameters(): + param.requires_grad = False + self.video_query_tokens.requires_grad = False + + logging.info('video_Qformer is frozen') + else: + for name, param in self.video_Qformer.named_parameters(): + param.requires_grad = True + for name, param in self.video_frame_position_embedding.named_parameters(): + param.requires_grad = True + self.video_query_tokens.requires_grad = True + logging.info('video_Qformer is not frozen') + + if frozen_video_Qformer and (not frozen_audio_Qformer): + self.train_flag = 1 # 只训练audio_Qformer + elif not(frozen_video_Qformer) and frozen_audio_Qformer: + self.train_flag = 0 # 训练video_Qformer + elif not(frozen_video_Qformer) and not(frozen_audio_Qformer): + self.train_flag = 2 # video_Qformer and AL trained + else: + self.train_flag = 3 + + if equip_audio_branch: + print (f'Initializing audio encoder from {imagebind_ckpt_path} ...') + self.audio_encoder,self.audio_hidden_size = \ + imagebind_model.imagebind_huge() + self.audio_encoder.load_state_dict(torch.load("{}/imagebind_huge.pth".format(imagebind_ckpt_path))) + # free vision encoder + for name, param in self.audio_encoder.named_parameters(): + param.requires_grad = False + self.audio_encoder.eval() + print ('audio encoder initialized.') + + self.num_audio_query_token = num_audio_query_token + self.audio_Qformer,self.audio_query_tokens = self.init_video_Qformer(num_query_token = self.num_audio_query_token,\ + vision_width=self.audio_hidden_size, num_hidden_layers =2) + self.audio_Qformer.cls = None + self.audio_Qformer.bert.embeddings.word_embeddings = None + self.audio_Qformer.bert.embeddings.position_embeddings = None + for layer in self.audio_Qformer.bert.encoder.layer: + layer.output = None + layer.intermediate = None + self.audio_llama_proj = nn.Linear( + self.audio_Qformer.config.hidden_size, self.llama_model.config.hidden_size + ) + self.audio_position_embedding = nn.Embedding(8, self.audio_hidden_size) + + if frozen_audio_Qformer: + # todo frozen llama_proj + for name, param in self.audio_Qformer.named_parameters(): + param.requires_grad = False + self.audio_query_tokens.requires_grad = False + for name, param in self.audio_llama_proj.named_parameters(): + param.requires_grad = False + for name, param in self.audio_position_embedding.named_parameters(): + param.requires_grad = False + logging.info('audio_Qformer and audio-LLAMA proj is frozen') + else: + for name, param in self.audio_Qformer.named_parameters(): + param.requires_grad = True + self.audio_query_tokens.requires_grad = True + for name, param in self.audio_llama_proj.named_parameters(): + param.requires_grad = True + for name, param in self.audio_position_embedding.named_parameters(): + param.requires_grad = True + logging.info('audio_Qformer is not frozen') + + + # self.audio_hidden_size + def vit_to_cpu(self): + self.ln_vision.to("cpu") + self.ln_vision.float() + self.visual_encoder.to("cpu") + self.visual_encoder.float() + + def encode_videoQformer_visual(self, image): + device = image.device + + # input shape b,c,t,h,w + batch_size,_,time_length,_,_ = image.size() + image = einops.rearrange(image, 'b c t h w -> (b t) c h w') + with self.maybe_autocast(): + # embed image features with blip2, out: (b t) q h + image_embeds = self.ln_vision(self.visual_encoder(image)).to(device) + image_atts = torch.ones(image_embeds.size()[:-1], dtype=torch.long).to(device) + + query_tokens = self.query_tokens.expand(image_embeds.shape[0], -1, -1) + query_output = self.Qformer.bert( + query_embeds=query_tokens, + encoder_hidden_states=image_embeds, + encoder_attention_mask=image_atts, + return_dict=True, + ) + + # add frame_pos embedding + position_ids = torch.arange(time_length, dtype=torch.long, device=query_tokens.device) + position_ids = position_ids.unsqueeze(0).expand(batch_size, -1) + frame_position_embeddings = self.video_frame_position_embedding(position_ids) + q_hidden_state = query_output.last_hidden_state + + frame_position_embeddings = frame_position_embeddings.unsqueeze(-2) + frame_hidden_state = einops.rearrange(q_hidden_state, '(b t) q h -> b t q h',b=batch_size,t=time_length) + frame_hidden_state = frame_position_embeddings + frame_hidden_state + + # frame attention + frame_hidden_state = einops.rearrange(frame_hidden_state, 'b t q h -> b (t q) h',b=batch_size,t=time_length) + frame_atts = torch.ones(frame_hidden_state.size()[:-1], dtype=torch.long).to(device) + video_query_tokens = self.video_query_tokens.expand(frame_hidden_state.shape[0], -1, -1) + + video_query_output = self.video_Qformer.bert( + query_embeds=video_query_tokens, + encoder_hidden_states=frame_hidden_state, + encoder_attention_mask=frame_atts, + return_dict=True, + ) + video_hidden = video_query_output.last_hidden_state + + inputs_llama = self.llama_proj(video_hidden) + atts_llama = torch.ones(inputs_llama.size()[:-1], dtype=torch.long).to(image_embeds.device) + return inputs_llama, atts_llama + + + def prompt_wrap(self, img_embeds, atts_img, prompt): + if prompt: + batch_size = img_embeds.shape[0] + # print(prompt) + p_before, p_after = prompt.split('') + p_before_tokens = self.llama_tokenizer( + p_before, return_tensors="pt", add_special_tokens=False).to(img_embeds.device) + p_after_tokens = self.llama_tokenizer( + p_after, return_tensors="pt", add_special_tokens=False).to(img_embeds.device) + p_before_embeds = self.llama_model.model.embed_tokens(p_before_tokens.input_ids).expand(batch_size, -1, -1) + p_after_embeds = self.llama_model.model.embed_tokens(p_after_tokens.input_ids).expand(batch_size, -1, -1) + wrapped_img_embeds = torch.cat([p_before_embeds, img_embeds, p_after_embeds], dim=1) + wrapped_atts_img = atts_img[:, :1].expand(-1, wrapped_img_embeds.shape[1]) + + return wrapped_img_embeds, wrapped_atts_img + else: + return img_embeds, atts_img + # input audio shape [b t c h w] + def encode_audioQformer(self, audio,modality_type=ModalityType.AUDIO): + device = audio.device + with self.maybe_autocast(): + audio_feature, audio_imagebind_finalout = self.audio_encoder.get_audio_feature(audio,modality_type=modality_type) + batch_size,time_length = audio.size()[:2] + + + position_ids = torch.arange(time_length, dtype=torch.long, device=device) + position_ids = position_ids.unsqueeze(0).expand(batch_size, -1) + + audio_position_embeddings = self.audio_position_embedding(position_ids) + audio_imagebind_finalout = audio_imagebind_finalout + audio_position_embeddings + + audio_query_tokens = self.audio_query_tokens.expand(audio_imagebind_finalout.shape[0], -1, -1) + frame_atts = torch.ones(audio_imagebind_finalout.size()[:-1], dtype=torch.long).to(device) + + audio_query_output = self.audio_Qformer.bert( + query_embeds=audio_query_tokens, #[32,768] + encoder_hidden_states=audio_imagebind_finalout, + encoder_attention_mask=frame_atts, + return_dict=True, + ) + audio_hidden = audio_query_output.last_hidden_state + + inputs_llama = self.audio_llama_proj(audio_hidden) + atts_llama = torch.ones(inputs_llama.size()[:-1], dtype=torch.long).to(device) + + return inputs_llama, atts_llama + + def encode_videoQformer_audiovideo(self, image, audio): + device = image.device + + # input shape b,c,t,h,w + batch_size,_,time_length,_,_ = image.size() + image = einops.rearrange(image, 'b c t h w -> (b t) c h w') + with self.maybe_autocast(): + # embed image features with blip2, out: (b t) q h + image_embeds = self.ln_vision(self.visual_encoder(image)).to(device) + image_atts = torch.ones(image_embeds.size()[:-1], dtype=torch.long).to(device) + + query_tokens = self.query_tokens.expand(image_embeds.shape[0], -1, -1) + query_output = self.Qformer.bert( + query_embeds=query_tokens, + encoder_hidden_states=image_embeds, + encoder_attention_mask=image_atts, + return_dict=True, + ) + + # add frame_pos embedding + position_ids = torch.arange(time_length, dtype=torch.long, device=query_tokens.device) + position_ids = position_ids.unsqueeze(0).expand(batch_size, -1) + frame_position_embeddings = self.video_frame_position_embedding(position_ids) + q_hidden_state = query_output.last_hidden_state + + frame_position_embeddings = frame_position_embeddings.unsqueeze(-2) + frame_hidden_state = einops.rearrange(q_hidden_state, '(b t) q h -> b t q h',b=batch_size,t=time_length) + frame_hidden_state = frame_position_embeddings + frame_hidden_state + + # encode audio + audio_feature, audio_imagebind_finalout = self.audio_encoder.get_audio_feature(audio,modality_type=ModalityType.AUDIO) # [batch,8*1,768] 8*32, 768 + audio_frame_position_embeddings = frame_position_embeddings.squeeze(-2) + audio_feature = audio_feature + audio_frame_position_embeddings + + # frame attention a + frame_hidden_state = einops.rearrange(frame_hidden_state, 'b t q h -> b (t q) h',b=batch_size,t=time_length) + frame_hidden_state = torch.cat([frame_hidden_state,audio_feature],dim = 1) + video_query_tokens = self.video_query_tokens.expand(frame_hidden_state.shape[0], -1, -1) + frame_atts = torch.ones(frame_hidden_state.size()[:-1], dtype=torch.long).to(device) + + video_query_output = self.video_Qformer.bert( + query_embeds=video_query_tokens, #[32,768] + encoder_hidden_states=frame_hidden_state, + encoder_attention_mask=frame_atts, + return_dict=True, + ) + video_hidden = video_query_output.last_hidden_state + + inputs_llama = self.llama_proj(video_hidden) + atts_llama = torch.ones(inputs_llama.size()[:-1], dtype=torch.long).to(image_embeds.device) + + return inputs_llama, atts_llama + + def forward(self, samples): + if 'conv_type' in samples.keys() and samples['conv_type']=='multi': + + im_patch_token_id = self.IMAGE_PATCH_TOKEN_ID + image = samples["images"] + input_ids = samples['input_ids'] + if len(image.size())==4: + time = 1 + image = einops.repeat(image, 'b c h w -> b c t h w',t = time) + + if self.train_flag == 0: + num_patch_tokens = self.num_video_query_token + img_embeds, atts_img = self.encode_videoQformer_visual(image) + elif self.train_flag == 1: + num_patch_tokens = self.num_audio_query_token + image = einops.rearrange(image, 'b c t h w -> b t c h w') + img_embeds, atts_img = self.encode_audioQformer(image, modality_type=ModalityType.VISION) + + temp_input_ids = copy.deepcopy(input_ids) + temp_input_ids[temp_input_ids == im_patch_token_id] = 0 + temp_input_embedding = self.llama_model.model.embed_tokens(temp_input_ids) + + new_input_embeds=[] + cur_image_idx = 0 + for cur_input_ids, cur_input_embeds in zip(input_ids, temp_input_embedding): + cur_image_features = img_embeds[cur_image_idx] + + if (cur_input_ids == im_patch_token_id).sum() != num_patch_tokens: + raise ValueError("The number of image patch tokens should be the same as the number of image patches.") + masked_indices = torch.where(cur_input_ids == im_patch_token_id)[0] + mask_index_start = masked_indices[0] + if (masked_indices != torch.arange(mask_index_start, mask_index_start+num_patch_tokens, device=masked_indices.device, dtype=masked_indices.dtype)).any(): + raise ValueError("The image patch tokens should be consecutive.") + + cur_new_input_embeds = torch.cat((cur_input_embeds[:mask_index_start], cur_image_features, cur_input_embeds[mask_index_start+num_patch_tokens:]), dim=0) + new_input_embeds.append(cur_new_input_embeds) + + cur_image_idx+=1 + inputs_embeds = torch.stack(new_input_embeds, dim=0) + targets = samples['labels'] + attention_mask = samples['attention_mask'] + with self.maybe_autocast(): + outputs = self.llama_model( + inputs_embeds=inputs_embeds, + attention_mask=attention_mask, + return_dict=True, + labels=targets, + ) + loss = outputs.loss + return {"loss": loss} + else: + image = samples["image"] + + if len(image.size()) != 5: + time = 1 + image = einops.repeat(image, 'b c h w -> b c t h w',t = time) + + if self.train_flag == 1: + image = einops.rearrange(image, 'b c t h w -> b t c h w') + img_embeds, atts_img = self.encode_audioQformer(image, modality_type=ModalityType.VISION) + else: + img_embeds, atts_img = self.encode_videoQformer_visual(image) + + if self.prompt_list: + prompt = random.choice(self.prompt_list) + img_embeds, atts_img = self.prompt_wrap(img_embeds, atts_img, prompt) + + + self.llama_tokenizer.padding_side = "right" + + text = [t + self.end_sym for t in samples["text_input"]] + + to_regress_tokens = self.llama_tokenizer( + text, + return_tensors="pt", + padding="longest", + truncation=True, + max_length=self.max_txt_len, + add_special_tokens=False + ).to(image.device) + + targets = to_regress_tokens.input_ids.masked_fill( + to_regress_tokens.input_ids == self.llama_tokenizer.pad_token_id, -100 + ) + + empty_targets = ( + torch.ones([atts_img.shape[0], atts_img.shape[1]+1], + dtype=torch.long).to(image.device).fill_(-100) # plus one for bos + ) + targets = torch.cat([empty_targets, targets], dim=1) + + batch_size = img_embeds.shape[0] + bos = torch.ones([batch_size, 1], + dtype=to_regress_tokens.input_ids.dtype, + device=to_regress_tokens.input_ids.device) * self.llama_tokenizer.bos_token_id + bos_embeds = self.llama_model.model.embed_tokens(bos) + atts_bos = atts_img[:, :1] + + to_regress_embeds = self.llama_model.model.embed_tokens(to_regress_tokens.input_ids) + inputs_embeds = torch.cat([bos_embeds, img_embeds, to_regress_embeds], dim=1) + attention_mask = torch.cat([atts_bos, atts_img, to_regress_tokens.attention_mask], dim=1) + + with self.maybe_autocast(): + outputs = self.llama_model( + inputs_embeds=inputs_embeds, + attention_mask=attention_mask, + return_dict=True, + labels=targets, + ) + loss = outputs.loss + + return {"loss": loss} + + @classmethod + def from_config(cls, cfg): + vit_model = cfg.get("vit_model", "eva_clip_g") + q_former_model = cfg.get("q_former_model", "https://storage.googleapis.com/sfr-vision-language-research/LAVIS/models/BLIP2/blip2_pretrained_flant5xxl.pth") + img_size = cfg.get("image_size") + num_query_token = cfg.get("num_query_token") + llama_model = cfg.get("llama_model") + + drop_path_rate = cfg.get("drop_path_rate", 0) + use_grad_checkpoint = cfg.get("use_grad_checkpoint", False) + vit_precision = cfg.get("vit_precision", "fp16") + freeze_vit = cfg.get("freeze_vit", True) + freeze_qformer = cfg.get("freeze_qformer", True) + low_resource = cfg.get("low_resource", False) + device_8bit = cfg.get("device_8bit", 0) + + prompt_path = cfg.get("prompt_path", "") + prompt_template = cfg.get("prompt_template", "") + max_txt_len = cfg.get("max_txt_len", 32) + end_sym = cfg.get("end_sym", '\n') + + frozen_llama_proj = cfg.get("frozen_llama_proj", True) + frozen_video_Qformer = cfg.get("frozen_video_Qformer", True) + frozen_audio_Qformer = cfg.get("frozen_audio_Qformer", True) + + llama_proj_model = cfg.get("llama_proj_model", '') + + fusion_header_type = cfg.get("fusion_header_type", 'seqTransf') + max_frame_pos = cfg.get("max_frame_pos", 32) + fusion_head_layers = cfg.get("fusion_head_layers", 2) + num_video_query_token = cfg.get("num_video_query_token", 32) + + equip_audio_branch= cfg.get("equip_audio_branch", True) + num_audio_query_token = cfg.get("num_audio_query_token", 8) + imagebind_ckpt_path = cfg.get("imagebind_ckpt_path", '/mnt/workspace/ckpt') + model = cls( + vit_model=vit_model, + q_former_model=q_former_model, + img_size=img_size, + drop_path_rate=drop_path_rate, + use_grad_checkpoint=use_grad_checkpoint, + vit_precision=vit_precision, + freeze_vit=freeze_vit, + freeze_qformer=freeze_qformer, + num_query_token=num_query_token, + llama_model=llama_model, + prompt_path=prompt_path, + prompt_template=prompt_template, + max_txt_len=max_txt_len, + end_sym=end_sym, + low_resource=low_resource, + device_8bit=device_8bit, + fusion_header_type=fusion_header_type, + max_frame_pos=max_frame_pos, + fusion_head_layers=fusion_head_layers, + frozen_llama_proj=frozen_llama_proj, + frozen_video_Qformer=frozen_video_Qformer, + frozen_audio_Qformer=frozen_audio_Qformer, + num_video_query_token=num_video_query_token, + num_audio_query_token = num_audio_query_token, + imagebind_ckpt_path = imagebind_ckpt_path, + equip_audio_branch = equip_audio_branch, + llama_proj_model = llama_proj_model + ) + + ckpt_path = cfg.get("ckpt", "") # load weights of MiniGPT-4 + if ckpt_path: + print("Load first Checkpoint: {}".format(ckpt_path)) + ckpt = torch.load(ckpt_path, map_location="cpu") + msg = model.load_state_dict(ckpt['model'], strict=False) + ckpt_path_2 = cfg.get("ckpt_2", "") + if ckpt_path_2: + print("Load second Checkpoint: {}".format(ckpt_path_2)) + ckpt = torch.load(ckpt_path_2, map_location="cpu") + msg = model.load_state_dict(ckpt['model'], strict=False) + return model diff --git a/video_llama/processors/.ipynb_checkpoints/video_processor-checkpoint.py b/video_llama/processors/.ipynb_checkpoints/video_processor-checkpoint.py new file mode 100644 index 0000000000000000000000000000000000000000..ac0f3a9d56aef53de0ee9f2ee3d6d2cda0ea1674 --- /dev/null +++ b/video_llama/processors/.ipynb_checkpoints/video_processor-checkpoint.py @@ -0,0 +1,243 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import torch +from video_llama.common.registry import registry +from decord import VideoReader +import decord +import numpy as np +from video_llama.processors import transforms_video +from video_llama.processors.base_processor import BaseProcessor +from video_llama.processors.randaugment import VideoRandomAugment +from video_llama.processors import functional_video as F +from omegaconf import OmegaConf +from torchvision import transforms +import random as rnd +MAX_INT = registry.get("MAX_INT") + +def load_video(video_path, n_frms=MAX_INT, height=-1, width=-1, sampling="uniform"): + vr = VideoReader(uri=video_path, height=height, width=width) + + vlen = len(vr) + start, end = 0, vlen + + n_frms = min(n_frms, vlen) + + if sampling == "uniform": + indices = np.arange(start, end, vlen / n_frms).astype(int).tolist() + elif sampling == "headtail": + indices_h = sorted(rnd.sample(range(vlen // 2), n_frms // 2)) + indices_t = sorted(rnd.sample(range(vlen // 2, vlen), n_frms // 2)) + indices = indices_h + indices_t + else: + raise NotImplementedError + + # get_batch -> T, H, W, C + print(video_path) + print(indices) + print(vr.get_batch(indices)) + + frms = vr.get_batch(indices).permute(3, 0, 1, 2).float() # (C, T, H, W) + # print(111) + return frms + +class AlproVideoBaseProcessor(BaseProcessor): + def __init__(self, mean=None, std=None, n_frms=MAX_INT): + if mean is None: + mean = (0.48145466, 0.4578275, 0.40821073) + if std is None: + std = (0.26862954, 0.26130258, 0.27577711) + + self.normalize = transforms_video.NormalizeVideo(mean, std) + + self.n_frms = n_frms + + +class ToUint8(object): + def __init__(self): + pass + + def __call__(self, tensor): + return tensor.to(torch.uint8) + + def __repr__(self): + return self.__class__.__name__ + + +class ToTHWC(object): + """ + Args: + clip (torch.tensor, dtype=torch.uint8): Size is (C, T, H, W) + Return: + clip (torch.tensor, dtype=torch.float): Size is (T, H, W, C) + """ + + def __init__(self): + pass + + def __call__(self, tensor): + return tensor.permute(1, 2, 3, 0) + + def __repr__(self): + return self.__class__.__name__ + + +class ResizeVideo(object): + def __init__(self, target_size, interpolation_mode="bilinear"): + self.target_size = target_size + self.interpolation_mode = interpolation_mode + + def __call__(self, clip): + """ + Args: + clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W) + Returns: + torch.tensor: central cropping of video clip. Size is + (C, T, crop_size, crop_size) + """ + return F.resize(clip, self.target_size, self.interpolation_mode) + + def __repr__(self): + return self.__class__.__name__ + "(resize_size={0})".format(self.target_size) + + +@registry.register_processor("alpro_video_train") +class AlproVideoTrainProcessor(AlproVideoBaseProcessor): + def __init__( + self, + image_size=384, + mean=None, + std=None, + min_scale=0.5, + max_scale=1.0, + n_frms=MAX_INT, + ): + super().__init__(mean=mean, std=std, n_frms=n_frms) + + self.image_size = image_size + + self.transform = transforms.Compose( + [ + # Video size is (C, T, H, W) + transforms_video.RandomResizedCropVideo( + image_size, + scale=(min_scale, max_scale), + interpolation_mode="bicubic", + ), + transforms_video.RandomHorizontalFlipVideo(), + ToTHWC(), # C, T, H, W -> T, H, W, C + VideoRandomAugment( + 2, + 5, + augs=[ + "Identity", + "AutoContrast", + "Brightness", + "Sharpness", + "Equalize", + "ShearX", + "ShearY", + "TranslateX", + "TranslateY", + "Rotate", + ], + ), + ToUint8(), + transforms_video.ToTensorVideo(), # T, H, W, C -> C, T, H, W + self.normalize, + ] + ) + + def __call__(self, vpath): + """ + Args: + clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W) + Returns: + torch.tensor: video clip after transforms. Size is (C, T, size, size). + """ + clip = load_video( + video_path=vpath, + n_frms=self.n_frms, + height=self.image_size, + width=self.image_size, + sampling="headtail", + ) + + return self.transform(clip) + + @classmethod + def from_config(cls, cfg=None): + if cfg is None: + cfg = OmegaConf.create() + + image_size = cfg.get("image_size", 256) + + mean = cfg.get("mean", None) + std = cfg.get("std", None) + + min_scale = cfg.get("min_scale", 0.5) + max_scale = cfg.get("max_scale", 1.0) + + n_frms = cfg.get("n_frms", MAX_INT) + + return cls( + image_size=image_size, + mean=mean, + std=std, + min_scale=min_scale, + max_scale=max_scale, + n_frms=n_frms, + ) + + +@registry.register_processor("alpro_video_eval") +class AlproVideoEvalProcessor(AlproVideoBaseProcessor): + def __init__(self, image_size=256, mean=None, std=None, n_frms=MAX_INT): + super().__init__(mean=mean, std=std, n_frms=n_frms) + + self.image_size = image_size + + # Input video size is (C, T, H, W) + self.transform = transforms.Compose( + [ + # frames will be resized during decord loading. + ToUint8(), # C, T, H, W + ToTHWC(), # T, H, W, C + transforms_video.ToTensorVideo(), # C, T, H, W + self.normalize, # C, T, H, W + ] + ) + + def __call__(self, vpath): + """ + Args: + clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W) + Returns: + torch.tensor: video clip after transforms. Size is (C, T, size, size). + """ + clip = load_video( + video_path=vpath, + n_frms=self.n_frms, + height=self.image_size, + width=self.image_size, + ) + + return self.transform(clip) + + @classmethod + def from_config(cls, cfg=None): + if cfg is None: + cfg = OmegaConf.create() + + image_size = cfg.get("image_size", 256) + + mean = cfg.get("mean", None) + std = cfg.get("std", None) + + n_frms = cfg.get("n_frms", MAX_INT) + + return cls(image_size=image_size, mean=mean, std=std, n_frms=n_frms) diff --git a/video_llama/processors/__init__.py b/video_llama/processors/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..169237f3dd45dba53cf77f40c8a69e835d0bcecc --- /dev/null +++ b/video_llama/processors/__init__.py @@ -0,0 +1,38 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +from video_llama.processors.base_processor import BaseProcessor +from video_llama.processors.blip_processors import ( + Blip2ImageTrainProcessor, + Blip2ImageEvalProcessor, + BlipCaptionProcessor, +) +from video_llama.processors.video_processor import ( + AlproVideoTrainProcessor, + AlproVideoEvalProcessor +) +from video_llama.common.registry import registry + +__all__ = [ + "BaseProcessor", + "Blip2ImageTrainProcessor", + "Blip2ImageEvalProcessor", + "BlipCaptionProcessor", + "AlproVideoTrainProcessor", + "AlproVideoEvalProcessor", +] + + +def load_processor(name, cfg=None): + """ + Example + + >>> processor = load_processor("alpro_video_train", cfg=None) + """ + processor = registry.get_processor_class(name).from_config(cfg) + + return processor diff --git a/video_llama/processors/__pycache__/__init__.cpython-39.pyc b/video_llama/processors/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6f8eafc944b0d331cb366e21477830dcc54e8227 Binary files /dev/null and b/video_llama/processors/__pycache__/__init__.cpython-39.pyc differ diff --git a/video_llama/processors/__pycache__/base_processor.cpython-39.pyc b/video_llama/processors/__pycache__/base_processor.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a9b3087f8ded3e8936b00ca7d7e41608322dceb7 Binary files /dev/null and b/video_llama/processors/__pycache__/base_processor.cpython-39.pyc differ diff --git a/video_llama/processors/__pycache__/blip_processors.cpython-39.pyc b/video_llama/processors/__pycache__/blip_processors.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c42802b3ad487c23087ae9fcc53ccd8adb20cda5 Binary files /dev/null and b/video_llama/processors/__pycache__/blip_processors.cpython-39.pyc differ diff --git a/video_llama/processors/__pycache__/functional_video.cpython-39.pyc b/video_llama/processors/__pycache__/functional_video.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6eafb33263f1784d63a5ed492b9d296c665bc4b4 Binary files /dev/null and b/video_llama/processors/__pycache__/functional_video.cpython-39.pyc differ diff --git a/video_llama/processors/__pycache__/randaugment.cpython-39.pyc b/video_llama/processors/__pycache__/randaugment.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5c5a6d6eb6c251d6ca0ae4695c6116969b2d8fb0 Binary files /dev/null and b/video_llama/processors/__pycache__/randaugment.cpython-39.pyc differ diff --git a/video_llama/processors/__pycache__/transforms_video.cpython-39.pyc b/video_llama/processors/__pycache__/transforms_video.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a7b0bb343be2357c04621e429cdb17e95aab0593 Binary files /dev/null and b/video_llama/processors/__pycache__/transforms_video.cpython-39.pyc differ diff --git a/video_llama/processors/__pycache__/video_processor.cpython-39.pyc b/video_llama/processors/__pycache__/video_processor.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1551e8551d867c9deb4efdde9ef2e8af181fc3fb Binary files /dev/null and b/video_llama/processors/__pycache__/video_processor.cpython-39.pyc differ diff --git a/video_llama/processors/base_processor.py b/video_llama/processors/base_processor.py new file mode 100644 index 0000000000000000000000000000000000000000..39b33cdf8fcd97cfd3e4a5fbece6593357af9d41 --- /dev/null +++ b/video_llama/processors/base_processor.py @@ -0,0 +1,26 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +from omegaconf import OmegaConf + + +class BaseProcessor: + def __init__(self): + self.transform = lambda x: x + return + + def __call__(self, item): + return self.transform(item) + + @classmethod + def from_config(cls, cfg=None): + return cls() + + def build(self, **kwargs): + cfg = OmegaConf.create(kwargs) + + return self.from_config(cfg) diff --git a/video_llama/processors/blip_processors.py b/video_llama/processors/blip_processors.py new file mode 100644 index 0000000000000000000000000000000000000000..6e603b638607921440bf7c4fcf22c5f1aeb7f20d --- /dev/null +++ b/video_llama/processors/blip_processors.py @@ -0,0 +1,142 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import re + +from video_llama.common.registry import registry +from video_llama.processors.base_processor import BaseProcessor +from video_llama.processors.randaugment import RandomAugment +from omegaconf import OmegaConf +from torchvision import transforms +from torchvision.transforms.functional import InterpolationMode + + +class BlipImageBaseProcessor(BaseProcessor): + def __init__(self, mean=None, std=None): + if mean is None: + mean = (0.48145466, 0.4578275, 0.40821073) + if std is None: + std = (0.26862954, 0.26130258, 0.27577711) + + self.normalize = transforms.Normalize(mean, std) + + +@registry.register_processor("blip_caption") +class BlipCaptionProcessor(BaseProcessor): + def __init__(self, prompt="", max_words=50): + self.prompt = prompt + self.max_words = max_words + + def __call__(self, caption): + caption = self.prompt + self.pre_caption(caption) + + return caption + + @classmethod + def from_config(cls, cfg=None): + if cfg is None: + cfg = OmegaConf.create() + + prompt = cfg.get("prompt", "") + max_words = cfg.get("max_words", 50) + + return cls(prompt=prompt, max_words=max_words) + + def pre_caption(self, caption): + caption = re.sub( + r"([.!\"()*#:;~])", + " ", + caption.lower(), + ) + caption = re.sub( + r"\s{2,}", + " ", + caption, + ) + caption = caption.rstrip("\n") + caption = caption.strip(" ") + + # truncate caption + caption_words = caption.split(" ") + if len(caption_words) > self.max_words: + caption = " ".join(caption_words[: self.max_words]) + + return caption + + +@registry.register_processor("blip2_image_train") +class Blip2ImageTrainProcessor(BlipImageBaseProcessor): + def __init__(self, image_size=224, mean=None, std=None, min_scale=0.5, max_scale=1.0): + super().__init__(mean=mean, std=std) + + self.transform = transforms.Compose( + [ + transforms.RandomResizedCrop( + image_size, + scale=(min_scale, max_scale), + interpolation=InterpolationMode.BICUBIC, + ), + transforms.ToTensor(), + self.normalize, + ] + ) + + def __call__(self, item): + return self.transform(item) + + @classmethod + def from_config(cls, cfg=None): + if cfg is None: + cfg = OmegaConf.create() + + image_size = cfg.get("image_size", 224) + + mean = cfg.get("mean", None) + std = cfg.get("std", None) + + min_scale = cfg.get("min_scale", 0.5) + max_scale = cfg.get("max_scale", 1.0) + + return cls( + image_size=image_size, + mean=mean, + std=std, + min_scale=min_scale, + max_scale=max_scale, + ) + + +@registry.register_processor("blip2_image_eval") +class Blip2ImageEvalProcessor(BlipImageBaseProcessor): + def __init__(self, image_size=224, mean=None, std=None): + super().__init__(mean=mean, std=std) + + self.transform = transforms.Compose( + [ + transforms.Resize( + (image_size, image_size), interpolation=InterpolationMode.BICUBIC + ), + transforms.ToTensor(), + self.normalize, + ] + ) + + def __call__(self, item): + return self.transform(item) + + @classmethod + def from_config(cls, cfg=None): + if cfg is None: + cfg = OmegaConf.create() + + image_size = cfg.get("image_size", 224) + + mean = cfg.get("mean", None) + std = cfg.get("std", None) + + return cls(image_size=image_size, mean=mean, std=std) + diff --git a/video_llama/processors/functional_video.py b/video_llama/processors/functional_video.py new file mode 100644 index 0000000000000000000000000000000000000000..597a29315d4e1a575e7209edb0618eeaf4fc024a --- /dev/null +++ b/video_llama/processors/functional_video.py @@ -0,0 +1,121 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import warnings + +import torch + + +def _is_tensor_video_clip(clip): + if not torch.is_tensor(clip): + raise TypeError("clip should be Tensor. Got %s" % type(clip)) + + if not clip.ndimension() == 4: + raise ValueError("clip should be 4D. Got %dD" % clip.dim()) + + return True + + +def crop(clip, i, j, h, w): + """ + Args: + clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W) + """ + if len(clip.size()) != 4: + raise ValueError("clip should be a 4D tensor") + return clip[..., i : i + h, j : j + w] + + +def resize(clip, target_size, interpolation_mode): + if len(target_size) != 2: + raise ValueError( + f"target size should be tuple (height, width), instead got {target_size}" + ) + return torch.nn.functional.interpolate( + clip, size=target_size, mode=interpolation_mode, align_corners=False + ) + + +def resized_crop(clip, i, j, h, w, size, interpolation_mode="bilinear"): + """ + Do spatial cropping and resizing to the video clip + Args: + clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W) + i (int): i in (i,j) i.e coordinates of the upper left corner. + j (int): j in (i,j) i.e coordinates of the upper left corner. + h (int): Height of the cropped region. + w (int): Width of the cropped region. + size (tuple(int, int)): height and width of resized clip + Returns: + clip (torch.tensor): Resized and cropped clip. Size is (C, T, H, W) + """ + if not _is_tensor_video_clip(clip): + raise ValueError("clip should be a 4D torch.tensor") + clip = crop(clip, i, j, h, w) + clip = resize(clip, size, interpolation_mode) + return clip + + +def center_crop(clip, crop_size): + if not _is_tensor_video_clip(clip): + raise ValueError("clip should be a 4D torch.tensor") + h, w = clip.size(-2), clip.size(-1) + th, tw = crop_size + if h < th or w < tw: + raise ValueError("height and width must be no smaller than crop_size") + + i = int(round((h - th) / 2.0)) + j = int(round((w - tw) / 2.0)) + return crop(clip, i, j, th, tw) + + +def to_tensor(clip): + """ + Convert tensor data type from uint8 to float, divide value by 255.0 and + permute the dimensions of clip tensor + Args: + clip (torch.tensor, dtype=torch.uint8): Size is (T, H, W, C) + Return: + clip (torch.tensor, dtype=torch.float): Size is (C, T, H, W) + """ + _is_tensor_video_clip(clip) + if not clip.dtype == torch.uint8: + raise TypeError( + "clip tensor should have data type uint8. Got %s" % str(clip.dtype) + ) + return clip.float().permute(3, 0, 1, 2) / 255.0 + + +def normalize(clip, mean, std, inplace=False): + """ + Args: + clip (torch.tensor): Video clip to be normalized. Size is (C, T, H, W) + mean (tuple): pixel RGB mean. Size is (3) + std (tuple): pixel standard deviation. Size is (3) + Returns: + normalized clip (torch.tensor): Size is (C, T, H, W) + """ + if not _is_tensor_video_clip(clip): + raise ValueError("clip should be a 4D torch.tensor") + if not inplace: + clip = clip.clone() + mean = torch.as_tensor(mean, dtype=clip.dtype, device=clip.device) + std = torch.as_tensor(std, dtype=clip.dtype, device=clip.device) + clip.sub_(mean[:, None, None, None]).div_(std[:, None, None, None]) + return clip + + +def hflip(clip): + """ + Args: + clip (torch.tensor): Video clip to be normalized. Size is (C, T, H, W) + Returns: + flipped clip (torch.tensor): Size is (C, T, H, W) + """ + if not _is_tensor_video_clip(clip): + raise ValueError("clip should be a 4D torch.tensor") + return clip.flip(-1) diff --git a/video_llama/processors/randaugment.py b/video_llama/processors/randaugment.py new file mode 100644 index 0000000000000000000000000000000000000000..7034a49ad5fc63b97910790017432617ff4c6d7b --- /dev/null +++ b/video_llama/processors/randaugment.py @@ -0,0 +1,398 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import cv2 +import numpy as np + +import torch + + +## aug functions +def identity_func(img): + return img + + +def autocontrast_func(img, cutoff=0): + """ + same output as PIL.ImageOps.autocontrast + """ + n_bins = 256 + + def tune_channel(ch): + n = ch.size + cut = cutoff * n // 100 + if cut == 0: + high, low = ch.max(), ch.min() + else: + hist = cv2.calcHist([ch], [0], None, [n_bins], [0, n_bins]) + low = np.argwhere(np.cumsum(hist) > cut) + low = 0 if low.shape[0] == 0 else low[0] + high = np.argwhere(np.cumsum(hist[::-1]) > cut) + high = n_bins - 1 if high.shape[0] == 0 else n_bins - 1 - high[0] + if high <= low: + table = np.arange(n_bins) + else: + scale = (n_bins - 1) / (high - low) + offset = -low * scale + table = np.arange(n_bins) * scale + offset + table[table < 0] = 0 + table[table > n_bins - 1] = n_bins - 1 + table = table.clip(0, 255).astype(np.uint8) + return table[ch] + + channels = [tune_channel(ch) for ch in cv2.split(img)] + out = cv2.merge(channels) + return out + + +def equalize_func(img): + """ + same output as PIL.ImageOps.equalize + PIL's implementation is different from cv2.equalize + """ + n_bins = 256 + + def tune_channel(ch): + hist = cv2.calcHist([ch], [0], None, [n_bins], [0, n_bins]) + non_zero_hist = hist[hist != 0].reshape(-1) + step = np.sum(non_zero_hist[:-1]) // (n_bins - 1) + if step == 0: + return ch + n = np.empty_like(hist) + n[0] = step // 2 + n[1:] = hist[:-1] + table = (np.cumsum(n) // step).clip(0, 255).astype(np.uint8) + return table[ch] + + channels = [tune_channel(ch) for ch in cv2.split(img)] + out = cv2.merge(channels) + return out + + +def rotate_func(img, degree, fill=(0, 0, 0)): + """ + like PIL, rotate by degree, not radians + """ + H, W = img.shape[0], img.shape[1] + center = W / 2, H / 2 + M = cv2.getRotationMatrix2D(center, degree, 1) + out = cv2.warpAffine(img, M, (W, H), borderValue=fill) + return out + + +def solarize_func(img, thresh=128): + """ + same output as PIL.ImageOps.posterize + """ + table = np.array([el if el < thresh else 255 - el for el in range(256)]) + table = table.clip(0, 255).astype(np.uint8) + out = table[img] + return out + + +def color_func(img, factor): + """ + same output as PIL.ImageEnhance.Color + """ + ## implementation according to PIL definition, quite slow + # degenerate = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)[:, :, np.newaxis] + # out = blend(degenerate, img, factor) + # M = ( + # np.eye(3) * factor + # + np.float32([0.114, 0.587, 0.299]).reshape(3, 1) * (1. - factor) + # )[np.newaxis, np.newaxis, :] + M = np.float32( + [[0.886, -0.114, -0.114], [-0.587, 0.413, -0.587], [-0.299, -0.299, 0.701]] + ) * factor + np.float32([[0.114], [0.587], [0.299]]) + out = np.matmul(img, M).clip(0, 255).astype(np.uint8) + return out + + +def contrast_func(img, factor): + """ + same output as PIL.ImageEnhance.Contrast + """ + mean = np.sum(np.mean(img, axis=(0, 1)) * np.array([0.114, 0.587, 0.299])) + table = ( + np.array([(el - mean) * factor + mean for el in range(256)]) + .clip(0, 255) + .astype(np.uint8) + ) + out = table[img] + return out + + +def brightness_func(img, factor): + """ + same output as PIL.ImageEnhance.Contrast + """ + table = (np.arange(256, dtype=np.float32) * factor).clip(0, 255).astype(np.uint8) + out = table[img] + return out + + +def sharpness_func(img, factor): + """ + The differences the this result and PIL are all on the 4 boundaries, the center + areas are same + """ + kernel = np.ones((3, 3), dtype=np.float32) + kernel[1][1] = 5 + kernel /= 13 + degenerate = cv2.filter2D(img, -1, kernel) + if factor == 0.0: + out = degenerate + elif factor == 1.0: + out = img + else: + out = img.astype(np.float32) + degenerate = degenerate.astype(np.float32)[1:-1, 1:-1, :] + out[1:-1, 1:-1, :] = degenerate + factor * (out[1:-1, 1:-1, :] - degenerate) + out = out.astype(np.uint8) + return out + + +def shear_x_func(img, factor, fill=(0, 0, 0)): + H, W = img.shape[0], img.shape[1] + M = np.float32([[1, factor, 0], [0, 1, 0]]) + out = cv2.warpAffine( + img, M, (W, H), borderValue=fill, flags=cv2.INTER_LINEAR + ).astype(np.uint8) + return out + + +def translate_x_func(img, offset, fill=(0, 0, 0)): + """ + same output as PIL.Image.transform + """ + H, W = img.shape[0], img.shape[1] + M = np.float32([[1, 0, -offset], [0, 1, 0]]) + out = cv2.warpAffine( + img, M, (W, H), borderValue=fill, flags=cv2.INTER_LINEAR + ).astype(np.uint8) + return out + + +def translate_y_func(img, offset, fill=(0, 0, 0)): + """ + same output as PIL.Image.transform + """ + H, W = img.shape[0], img.shape[1] + M = np.float32([[1, 0, 0], [0, 1, -offset]]) + out = cv2.warpAffine( + img, M, (W, H), borderValue=fill, flags=cv2.INTER_LINEAR + ).astype(np.uint8) + return out + + +def posterize_func(img, bits): + """ + same output as PIL.ImageOps.posterize + """ + out = np.bitwise_and(img, np.uint8(255 << (8 - bits))) + return out + + +def shear_y_func(img, factor, fill=(0, 0, 0)): + H, W = img.shape[0], img.shape[1] + M = np.float32([[1, 0, 0], [factor, 1, 0]]) + out = cv2.warpAffine( + img, M, (W, H), borderValue=fill, flags=cv2.INTER_LINEAR + ).astype(np.uint8) + return out + + +def cutout_func(img, pad_size, replace=(0, 0, 0)): + replace = np.array(replace, dtype=np.uint8) + H, W = img.shape[0], img.shape[1] + rh, rw = np.random.random(2) + pad_size = pad_size // 2 + ch, cw = int(rh * H), int(rw * W) + x1, x2 = max(ch - pad_size, 0), min(ch + pad_size, H) + y1, y2 = max(cw - pad_size, 0), min(cw + pad_size, W) + out = img.copy() + out[x1:x2, y1:y2, :] = replace + return out + + +### level to args +def enhance_level_to_args(MAX_LEVEL): + def level_to_args(level): + return ((level / MAX_LEVEL) * 1.8 + 0.1,) + + return level_to_args + + +def shear_level_to_args(MAX_LEVEL, replace_value): + def level_to_args(level): + level = (level / MAX_LEVEL) * 0.3 + if np.random.random() > 0.5: + level = -level + return (level, replace_value) + + return level_to_args + + +def translate_level_to_args(translate_const, MAX_LEVEL, replace_value): + def level_to_args(level): + level = (level / MAX_LEVEL) * float(translate_const) + if np.random.random() > 0.5: + level = -level + return (level, replace_value) + + return level_to_args + + +def cutout_level_to_args(cutout_const, MAX_LEVEL, replace_value): + def level_to_args(level): + level = int((level / MAX_LEVEL) * cutout_const) + return (level, replace_value) + + return level_to_args + + +def solarize_level_to_args(MAX_LEVEL): + def level_to_args(level): + level = int((level / MAX_LEVEL) * 256) + return (level,) + + return level_to_args + + +def none_level_to_args(level): + return () + + +def posterize_level_to_args(MAX_LEVEL): + def level_to_args(level): + level = int((level / MAX_LEVEL) * 4) + return (level,) + + return level_to_args + + +def rotate_level_to_args(MAX_LEVEL, replace_value): + def level_to_args(level): + level = (level / MAX_LEVEL) * 30 + if np.random.random() < 0.5: + level = -level + return (level, replace_value) + + return level_to_args + + +func_dict = { + "Identity": identity_func, + "AutoContrast": autocontrast_func, + "Equalize": equalize_func, + "Rotate": rotate_func, + "Solarize": solarize_func, + "Color": color_func, + "Contrast": contrast_func, + "Brightness": brightness_func, + "Sharpness": sharpness_func, + "ShearX": shear_x_func, + "TranslateX": translate_x_func, + "TranslateY": translate_y_func, + "Posterize": posterize_func, + "ShearY": shear_y_func, +} + +translate_const = 10 +MAX_LEVEL = 10 +replace_value = (128, 128, 128) +arg_dict = { + "Identity": none_level_to_args, + "AutoContrast": none_level_to_args, + "Equalize": none_level_to_args, + "Rotate": rotate_level_to_args(MAX_LEVEL, replace_value), + "Solarize": solarize_level_to_args(MAX_LEVEL), + "Color": enhance_level_to_args(MAX_LEVEL), + "Contrast": enhance_level_to_args(MAX_LEVEL), + "Brightness": enhance_level_to_args(MAX_LEVEL), + "Sharpness": enhance_level_to_args(MAX_LEVEL), + "ShearX": shear_level_to_args(MAX_LEVEL, replace_value), + "TranslateX": translate_level_to_args(translate_const, MAX_LEVEL, replace_value), + "TranslateY": translate_level_to_args(translate_const, MAX_LEVEL, replace_value), + "Posterize": posterize_level_to_args(MAX_LEVEL), + "ShearY": shear_level_to_args(MAX_LEVEL, replace_value), +} + + +class RandomAugment(object): + def __init__(self, N=2, M=10, isPIL=False, augs=[]): + self.N = N + self.M = M + self.isPIL = isPIL + if augs: + self.augs = augs + else: + self.augs = list(arg_dict.keys()) + + def get_random_ops(self): + sampled_ops = np.random.choice(self.augs, self.N) + return [(op, 0.5, self.M) for op in sampled_ops] + + def __call__(self, img): + if self.isPIL: + img = np.array(img) + ops = self.get_random_ops() + for name, prob, level in ops: + if np.random.random() > prob: + continue + args = arg_dict[name](level) + img = func_dict[name](img, *args) + return img + + +class VideoRandomAugment(object): + def __init__(self, N=2, M=10, p=0.0, tensor_in_tensor_out=True, augs=[]): + self.N = N + self.M = M + self.p = p + self.tensor_in_tensor_out = tensor_in_tensor_out + if augs: + self.augs = augs + else: + self.augs = list(arg_dict.keys()) + + def get_random_ops(self): + sampled_ops = np.random.choice(self.augs, self.N, replace=False) + return [(op, self.M) for op in sampled_ops] + + def __call__(self, frames): + assert ( + frames.shape[-1] == 3 + ), "Expecting last dimension for 3-channels RGB (b, h, w, c)." + + if self.tensor_in_tensor_out: + frames = frames.numpy().astype(np.uint8) + + num_frames = frames.shape[0] + + ops = num_frames * [self.get_random_ops()] + apply_or_not = num_frames * [np.random.random(size=self.N) > self.p] + + frames = torch.stack( + list(map(self._aug, frames, ops, apply_or_not)), dim=0 + ).float() + + return frames + + def _aug(self, img, ops, apply_or_not): + for i, (name, level) in enumerate(ops): + if not apply_or_not[i]: + continue + args = arg_dict[name](level) + img = func_dict[name](img, *args) + return torch.from_numpy(img) + + +if __name__ == "__main__": + a = RandomAugment() + img = np.random.randn(32, 32, 3) + a(img) diff --git a/video_llama/processors/transforms_video.py b/video_llama/processors/transforms_video.py new file mode 100644 index 0000000000000000000000000000000000000000..1106f388c4091f919e0e9602fcb1363e9caec9a6 --- /dev/null +++ b/video_llama/processors/transforms_video.py @@ -0,0 +1,179 @@ +#!/usr/bin/env python3 +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + + +import numbers +import random + +from torchvision.transforms import ( + RandomCrop, + RandomResizedCrop, +) + +import video_llama.processors.functional_video as F + + +__all__ = [ + "RandomCropVideo", + "RandomResizedCropVideo", + "CenterCropVideo", + "NormalizeVideo", + "ToTensorVideo", + "RandomHorizontalFlipVideo", +] + + +class RandomCropVideo(RandomCrop): + def __init__(self, size): + if isinstance(size, numbers.Number): + self.size = (int(size), int(size)) + else: + self.size = size + + def __call__(self, clip): + """ + Args: + clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W) + Returns: + torch.tensor: randomly cropped/resized video clip. + size is (C, T, OH, OW) + """ + i, j, h, w = self.get_params(clip, self.size) + return F.crop(clip, i, j, h, w) + + def __repr__(self) -> str: + return f"{self.__class__.__name__}(size={self.size})" + + +class RandomResizedCropVideo(RandomResizedCrop): + def __init__( + self, + size, + scale=(0.08, 1.0), + ratio=(3.0 / 4.0, 4.0 / 3.0), + interpolation_mode="bilinear", + ): + if isinstance(size, tuple): + if len(size) != 2: + raise ValueError( + f"size should be tuple (height, width), instead got {size}" + ) + self.size = size + else: + self.size = (size, size) + + self.interpolation_mode = interpolation_mode + self.scale = scale + self.ratio = ratio + + def __call__(self, clip): + """ + Args: + clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W) + Returns: + torch.tensor: randomly cropped/resized video clip. + size is (C, T, H, W) + """ + i, j, h, w = self.get_params(clip, self.scale, self.ratio) + return F.resized_crop(clip, i, j, h, w, self.size, self.interpolation_mode) + + def __repr__(self) -> str: + return f"{self.__class__.__name__}(size={self.size}, interpolation_mode={self.interpolation_mode}, scale={self.scale}, ratio={self.ratio})" + + +class CenterCropVideo: + def __init__(self, crop_size): + if isinstance(crop_size, numbers.Number): + self.crop_size = (int(crop_size), int(crop_size)) + else: + self.crop_size = crop_size + + def __call__(self, clip): + """ + Args: + clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W) + Returns: + torch.tensor: central cropping of video clip. Size is + (C, T, crop_size, crop_size) + """ + return F.center_crop(clip, self.crop_size) + + def __repr__(self) -> str: + return f"{self.__class__.__name__}(crop_size={self.crop_size})" + + +class NormalizeVideo: + """ + Normalize the video clip by mean subtraction and division by standard deviation + Args: + mean (3-tuple): pixel RGB mean + std (3-tuple): pixel RGB standard deviation + inplace (boolean): whether do in-place normalization + """ + + def __init__(self, mean, std, inplace=False): + self.mean = mean + self.std = std + self.inplace = inplace + + def __call__(self, clip): + """ + Args: + clip (torch.tensor): video clip to be normalized. Size is (C, T, H, W) + """ + return F.normalize(clip, self.mean, self.std, self.inplace) + + def __repr__(self) -> str: + return f"{self.__class__.__name__}(mean={self.mean}, std={self.std}, inplace={self.inplace})" + + +class ToTensorVideo: + """ + Convert tensor data type from uint8 to float, divide value by 255.0 and + permute the dimensions of clip tensor + """ + + def __init__(self): + pass + + def __call__(self, clip): + """ + Args: + clip (torch.tensor, dtype=torch.uint8): Size is (T, H, W, C) + Return: + clip (torch.tensor, dtype=torch.float): Size is (C, T, H, W) + """ + return F.to_tensor(clip) + + def __repr__(self) -> str: + return self.__class__.__name__ + + +class RandomHorizontalFlipVideo: + """ + Flip the video clip along the horizonal direction with a given probability + Args: + p (float): probability of the clip being flipped. Default value is 0.5 + """ + + def __init__(self, p=0.5): + self.p = p + + def __call__(self, clip): + """ + Args: + clip (torch.tensor): Size is (C, T, H, W) + Return: + clip (torch.tensor): Size is (C, T, H, W) + """ + if random.random() < self.p: + clip = F.hflip(clip) + return clip + + def __repr__(self) -> str: + return f"{self.__class__.__name__}(p={self.p})" diff --git a/video_llama/processors/video_processor.py b/video_llama/processors/video_processor.py new file mode 100644 index 0000000000000000000000000000000000000000..b272e318230c544748818476bbe4caa1fc9f847d --- /dev/null +++ b/video_llama/processors/video_processor.py @@ -0,0 +1,237 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import torch +from video_llama.common.registry import registry +from decord import VideoReader +import decord +import numpy as np +from video_llama.processors import transforms_video +from video_llama.processors.base_processor import BaseProcessor +from video_llama.processors.randaugment import VideoRandomAugment +from video_llama.processors import functional_video as F +from omegaconf import OmegaConf +from torchvision import transforms +import random as rnd + + +MAX_INT = registry.get("MAX_INT") +decord.bridge.set_bridge("torch") + +def load_video(video_path, n_frms=MAX_INT, height=-1, width=-1, sampling="uniform", return_msg = False): + decord.bridge.set_bridge("torch") + vr = VideoReader(uri=video_path, height=height, width=width) + + vlen = len(vr) + start, end = 0, vlen + + n_frms = min(n_frms, vlen) + + if sampling == "uniform": + indices = np.arange(start, end, vlen / n_frms).astype(int).tolist() + elif sampling == "headtail": + indices_h = sorted(rnd.sample(range(vlen // 2), n_frms // 2)) + indices_t = sorted(rnd.sample(range(vlen // 2, vlen), n_frms // 2)) + indices = indices_h + indices_t + else: + raise NotImplementedError + + # get_batch -> T, H, W, C + temp_frms = vr.get_batch(indices) + # print(type(temp_frms)) + tensor_frms = torch.from_numpy(temp_frms) if type(temp_frms) is not torch.Tensor else temp_frms + frms = tensor_frms.permute(3, 0, 1, 2).float() # (C, T, H, W) + + if not return_msg: + return frms + + fps = float(vr.get_avg_fps()) + sec = ", ".join([str(round(f / fps, 1)) for f in indices]) + # " " should be added in the start and end + msg = f"The video contains {len(indices)} frames sampled at {sec} seconds. " + return frms, msg + + +class AlproVideoBaseProcessor(BaseProcessor): + def __init__(self, mean=None, std=None, n_frms=MAX_INT): + if mean is None: + mean = (0.48145466, 0.4578275, 0.40821073) + if std is None: + std = (0.26862954, 0.26130258, 0.27577711) + + self.normalize = transforms_video.NormalizeVideo(mean, std) + + self.n_frms = n_frms + + +class ToUint8(object): + def __init__(self): + pass + + def __call__(self, tensor): + return tensor.to(torch.uint8) + + def __repr__(self): + return self.__class__.__name__ + + +class ToTHWC(object): + """ + Args: + clip (torch.tensor, dtype=torch.uint8): Size is (C, T, H, W) + Return: + clip (torch.tensor, dtype=torch.float): Size is (T, H, W, C) + """ + + def __init__(self): + pass + + def __call__(self, tensor): + return tensor.permute(1, 2, 3, 0) + + def __repr__(self): + return self.__class__.__name__ + + +class ResizeVideo(object): + def __init__(self, target_size, interpolation_mode="bilinear"): + self.target_size = target_size + self.interpolation_mode = interpolation_mode + + def __call__(self, clip): + """ + Args: + clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W) + Returns: + torch.tensor: central cropping of video clip. Size is + (C, T, crop_size, crop_size) + """ + return F.resize(clip, self.target_size, self.interpolation_mode) + + def __repr__(self): + return self.__class__.__name__ + "(resize_size={0})".format(self.target_size) + + +@registry.register_processor("alpro_video_train") +class AlproVideoTrainProcessor(AlproVideoBaseProcessor): + def __init__( + self, + image_size=384, + mean=None, + std=None, + min_scale=0.5, + max_scale=1.0, + n_frms=MAX_INT, + ): + super().__init__(mean=mean, std=std, n_frms=n_frms) + + self.image_size = image_size + + self.transform = transforms.Compose( + [ + # Video size is (C, T, H, W) + transforms_video.RandomResizedCropVideo( + image_size, + scale=(min_scale, max_scale), + interpolation_mode="bicubic", + ), + ToTHWC(), # C, T, H, W -> T, H, W, C + ToUint8(), + transforms_video.ToTensorVideo(), # T, H, W, C -> C, T, H, W + self.normalize, + ] + ) + + def __call__(self, vpath): + """ + Args: + clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W) + Returns: + torch.tensor: video clip after transforms. Size is (C, T, size, size). + """ + clip = load_video( + video_path=vpath, + n_frms=self.n_frms, + height=self.image_size, + width=self.image_size, + sampling="headtail", + ) + + return self.transform(clip) + + @classmethod + def from_config(cls, cfg=None): + if cfg is None: + cfg = OmegaConf.create() + + image_size = cfg.get("image_size", 256) + + mean = cfg.get("mean", None) + std = cfg.get("std", None) + + min_scale = cfg.get("min_scale", 0.5) + max_scale = cfg.get("max_scale", 1.0) + + n_frms = cfg.get("n_frms", MAX_INT) + + return cls( + image_size=image_size, + mean=mean, + std=std, + min_scale=min_scale, + max_scale=max_scale, + n_frms=n_frms, + ) + + +@registry.register_processor("alpro_video_eval") +class AlproVideoEvalProcessor(AlproVideoBaseProcessor): + def __init__(self, image_size=256, mean=None, std=None, n_frms=MAX_INT): + super().__init__(mean=mean, std=std, n_frms=n_frms) + + self.image_size = image_size + + # Input video size is (C, T, H, W) + self.transform = transforms.Compose( + [ + # frames will be resized during decord loading. + ToUint8(), # C, T, H, W + ToTHWC(), # T, H, W, C + transforms_video.ToTensorVideo(), # C, T, H, W + self.normalize, # C, T, H, W + ] + ) + + def __call__(self, vpath): + """ + Args: + clip (torch.tensor): Video clip to be cropped. Size is (C, T, H, W) + Returns: + torch.tensor: video clip after transforms. Size is (C, T, size, size). + """ + clip = load_video( + video_path=vpath, + n_frms=self.n_frms, + height=self.image_size, + width=self.image_size, + ) + + return self.transform(clip) + + @classmethod + def from_config(cls, cfg=None): + if cfg is None: + cfg = OmegaConf.create() + + image_size = cfg.get("image_size", 256) + + mean = cfg.get("mean", None) + std = cfg.get("std", None) + + n_frms = cfg.get("n_frms", MAX_INT) + + return cls(image_size=image_size, mean=mean, std=std, n_frms=n_frms) diff --git a/video_llama/runners/__init__.py b/video_llama/runners/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..8ffe5b0b10e013fb6d69eb6879b1e42c06d5b447 --- /dev/null +++ b/video_llama/runners/__init__.py @@ -0,0 +1,10 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +from video_llama.runners.runner_base import RunnerBase + +__all__ = ["RunnerBase"] diff --git a/video_llama/runners/__pycache__/__init__.cpython-39.pyc b/video_llama/runners/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..522cdb362bad4c74e7c4038828b667e75ef62162 Binary files /dev/null and b/video_llama/runners/__pycache__/__init__.cpython-39.pyc differ diff --git a/video_llama/runners/__pycache__/runner_base.cpython-39.pyc b/video_llama/runners/__pycache__/runner_base.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f3086d49d93561de93db0e03b8640c448c94a89b Binary files /dev/null and b/video_llama/runners/__pycache__/runner_base.cpython-39.pyc differ diff --git a/video_llama/runners/runner_base.py b/video_llama/runners/runner_base.py new file mode 100644 index 0000000000000000000000000000000000000000..c944123917dd0bf9947f4204f9044538a0f8bf22 --- /dev/null +++ b/video_llama/runners/runner_base.py @@ -0,0 +1,658 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import datetime +import json +import logging +import os +import time +from pathlib import Path + +import torch +import torch.distributed as dist +import webdataset as wds +from video_llama.common.dist_utils import ( + download_cached_file, + get_rank, + get_world_size, + is_main_process, + main_process, +) +from video_llama.common.registry import registry +from video_llama.common.utils import is_url +from video_llama.datasets.data_utils import concat_datasets, reorg_datasets_by_split, ChainDataset +from video_llama.datasets.datasets.dataloader_utils import ( + IterLoader, + MultiIterLoader, + PrefetchLoader, +) +from torch.nn.parallel import DistributedDataParallel as DDP +from torch.utils.data import DataLoader, DistributedSampler + + +@registry.register_runner("runner_base") +class RunnerBase: + """ + A runner class to train and evaluate a model given a task and datasets. + + The runner uses pytorch distributed data parallel by default. Future release + will support other distributed frameworks. + """ + + def __init__(self, cfg, task, model, datasets, job_id): + self.config = cfg + self.job_id = job_id + + self.task = task + self.datasets = datasets + + self._model = model + + self._wrapped_model = None + self._device = None + self._optimizer = None + self._scaler = None + self._dataloaders = None + self._lr_sched = None + + self.start_epoch = 0 + + # self.setup_seeds() + self.setup_output_dir() + + @property + def device(self): + if self._device is None: + self._device = torch.device(self.config.run_cfg.device) + + return self._device + + @property + def use_distributed(self): + return self.config.run_cfg.distributed + + @property + def model(self): + """ + A property to get the DDP-wrapped model on the device. + """ + # move model to device + if self._model.device != self.device: + self._model = self._model.to(self.device) + + # distributed training wrapper + if self.use_distributed: + if self._wrapped_model is None: + self._wrapped_model = DDP( + self._model, device_ids=[self.config.run_cfg.gpu] + ) + else: + self._wrapped_model = self._model + + return self._wrapped_model + + @property + def optimizer(self): + # TODO make optimizer class and configurations + if self._optimizer is None: + num_parameters = 0 + p_wd, p_non_wd = [], [] + for n, p in self.model.named_parameters(): + if not p.requires_grad: + continue # frozen weights + print(n) + if p.ndim < 2 or "bias" in n or "ln" in n or "bn" in n: + p_non_wd.append(p) + else: + p_wd.append(p) + num_parameters += p.data.nelement() + logging.info("number of trainable parameters: %d" % num_parameters) + optim_params = [ + { + "params": p_wd, + "weight_decay": float(self.config.run_cfg.weight_decay), + }, + {"params": p_non_wd, "weight_decay": 0}, + ] + beta2 = self.config.run_cfg.get("beta2", 0.999) + self._optimizer = torch.optim.AdamW( + optim_params, + lr=float(self.config.run_cfg.init_lr), + weight_decay=float(self.config.run_cfg.weight_decay), + betas=(0.9, beta2), + ) + + return self._optimizer + + @property + def scaler(self): + amp = self.config.run_cfg.get("amp", False) + + if amp: + if self._scaler is None: + self._scaler = torch.cuda.amp.GradScaler() + + return self._scaler + + @property + def lr_scheduler(self): + """ + A property to get and create learning rate scheduler by split just in need. + """ + if self._lr_sched is None: + lr_sched_cls = registry.get_lr_scheduler_class(self.config.run_cfg.lr_sched) + + # max_epoch = self.config.run_cfg.max_epoch + max_epoch = self.max_epoch + # min_lr = self.config.run_cfg.min_lr + min_lr = self.min_lr + # init_lr = self.config.run_cfg.init_lr + init_lr = self.init_lr + + # optional parameters + decay_rate = self.config.run_cfg.get("lr_decay_rate", None) + warmup_start_lr = self.config.run_cfg.get("warmup_lr", -1) + warmup_steps = self.config.run_cfg.get("warmup_steps", 0) + iters_per_epoch = self.config.run_cfg.get("iters_per_epoch", None) + + if iters_per_epoch is None: + try: + iters_per_epoch = len(self.dataloaders['train']) + except (AttributeError, TypeError): + iters_per_epoch = 10000 + + self._lr_sched = lr_sched_cls( + optimizer=self.optimizer, + max_epoch=max_epoch, + iters_per_epoch=iters_per_epoch, + min_lr=min_lr, + init_lr=init_lr, + decay_rate=decay_rate, + warmup_start_lr=warmup_start_lr, + warmup_steps=warmup_steps, + ) + + return self._lr_sched + + @property + def dataloaders(self) -> dict: + """ + A property to get and create dataloaders by split just in need. + + If no train_dataset_ratio is provided, concatenate map-style datasets and + chain wds.DataPipe datasets separately. Training set becomes a tuple + (ConcatDataset, ChainDataset), both are optional but at least one of them is + required. The resultant ConcatDataset and ChainDataset will be sampled evenly. + + If train_dataset_ratio is provided, create a MultiIterLoader to sample + each dataset by ratios during training. + + Currently do not support multiple datasets for validation and test. + + Returns: + dict: {split_name: (tuples of) dataloader} + """ + if self._dataloaders is None: + + # concatenate map-style datasets and chain wds.DataPipe datasets separately + # training set becomes a tuple (ConcatDataset, ChainDataset), both are + # optional but at least one of them is required. The resultant ConcatDataset + # and ChainDataset will be sampled evenly. + logging.info( + "dataset_ratios not specified, datasets will be concatenated (map-style datasets) or chained (webdataset.DataPipeline)." + ) + + datasets = reorg_datasets_by_split(self.datasets) + self.datasets = datasets + # self.datasets = concat_datasets(datasets) + + # print dataset statistics after concatenation/chaining + for split_name in self.datasets: + if isinstance(self.datasets[split_name], tuple) or isinstance( + self.datasets[split_name], list + ): + # mixed wds.DataPipeline and torch.utils.data.Dataset + num_records = sum( + [ + len(d) + if not type(d) in [wds.DataPipeline, ChainDataset] + else 0 + for d in self.datasets[split_name] + ] + ) + + else: + if hasattr(self.datasets[split_name], "__len__"): + # a single map-style dataset + num_records = len(self.datasets[split_name]) + else: + # a single wds.DataPipeline + num_records = -1 + logging.info( + "Only a single wds.DataPipeline dataset, no __len__ attribute." + ) + + if num_records >= 0: + logging.info( + "Loaded {} records for {} split from the dataset.".format( + num_records, split_name + ) + ) + + # create dataloaders + split_names = sorted(self.datasets.keys()) + + datasets = [self.datasets[split] for split in split_names] + is_trains = [split in self.train_splits for split in split_names] + + batch_sizes = [ + self.config.run_cfg.batch_size_train + if split == "train" + else self.config.run_cfg.batch_size_eval + for split in split_names + ] + + collate_fns = [] + for dataset in datasets: + if isinstance(dataset, tuple) or isinstance(dataset, list): + collate_fns.append([getattr(d, "collater", None) for d in dataset]) + else: + collate_fns.append(getattr(dataset, "collater", None)) + + dataloaders = self.create_loaders( + datasets=datasets, + num_workers=self.config.run_cfg.num_workers, + batch_sizes=batch_sizes, + is_trains=is_trains, + collate_fns=collate_fns, + ) + + self._dataloaders = {k: v for k, v in zip(split_names, dataloaders)} + + return self._dataloaders + + @property + def cuda_enabled(self): + return self.device.type == "cuda" + + @property + def max_epoch(self): + return int(self.config.run_cfg.max_epoch) + + @property + def log_freq(self): + log_freq = self.config.run_cfg.get("log_freq", 50) + return int(log_freq) + + @property + def init_lr(self): + return float(self.config.run_cfg.init_lr) + + @property + def min_lr(self): + return float(self.config.run_cfg.min_lr) + + @property + def accum_grad_iters(self): + return int(self.config.run_cfg.get("accum_grad_iters", 1)) + + @property + def valid_splits(self): + valid_splits = self.config.run_cfg.get("valid_splits", []) + + if len(valid_splits) == 0: + logging.info("No validation splits found.") + + return valid_splits + + @property + def test_splits(self): + test_splits = self.config.run_cfg.get("test_splits", []) + + return test_splits + + @property + def train_splits(self): + train_splits = self.config.run_cfg.get("train_splits", []) + + if len(train_splits) == 0: + logging.info("Empty train splits.") + + return train_splits + + @property + def evaluate_only(self): + """ + Set to True to skip training. + """ + return self.config.run_cfg.evaluate + + @property + def use_dist_eval_sampler(self): + return self.config.run_cfg.get("use_dist_eval_sampler", True) + + @property + def resume_ckpt_path(self): + return self.config.run_cfg.get("resume_ckpt_path", None) + + @property + def train_loader(self): + train_dataloader = self.dataloaders["train"] + + return train_dataloader + + def setup_output_dir(self): + lib_root = Path(registry.get_path("library_root")) + + output_dir = lib_root / self.config.run_cfg.output_dir / self.job_id + result_dir = output_dir / "result" + + output_dir.mkdir(parents=True, exist_ok=True) + result_dir.mkdir(parents=True, exist_ok=True) + + registry.register_path("result_dir", str(result_dir)) + registry.register_path("output_dir", str(output_dir)) + + self.result_dir = result_dir + self.output_dir = output_dir + + def train(self): + start_time = time.time() + best_agg_metric = 0 + best_epoch = 0 + + self.log_config() + + # resume from checkpoint if specified + if not self.evaluate_only and self.resume_ckpt_path is not None: + self._load_checkpoint(self.resume_ckpt_path) + + for cur_epoch in range(self.start_epoch, self.max_epoch): + # training phase + if not self.evaluate_only: + logging.info("Start training") + train_stats = self.train_epoch(cur_epoch) + self.log_stats(split_name="train", stats=train_stats) + + # evaluation phase + if len(self.valid_splits) > 0: + for split_name in self.valid_splits: + logging.info("Evaluating on {}.".format(split_name)) + + val_log = self.eval_epoch( + split_name=split_name, cur_epoch=cur_epoch + ) + if val_log is not None: + if is_main_process(): + assert ( + "agg_metrics" in val_log + ), "No agg_metrics found in validation log." + + agg_metrics = val_log["agg_metrics"] + if agg_metrics > best_agg_metric and split_name == "val": + best_epoch, best_agg_metric = cur_epoch, agg_metrics + + self._save_checkpoint(cur_epoch, is_best=True) + + val_log.update({"best_epoch": best_epoch}) + self.log_stats(val_log, split_name) + + else: + # if no validation split is provided, we just save the checkpoint at the end of each epoch. + if not self.evaluate_only: + self._save_checkpoint(cur_epoch, is_best=False) + + if self.evaluate_only: + break + + if self.config.run_cfg.distributed: + dist.barrier() + + # testing phase + test_epoch = "best" if len(self.valid_splits) > 0 else cur_epoch + self.evaluate(cur_epoch=test_epoch, skip_reload=self.evaluate_only) + + total_time = time.time() - start_time + total_time_str = str(datetime.timedelta(seconds=int(total_time))) + logging.info("Training time {}".format(total_time_str)) + + def evaluate(self, cur_epoch="best", skip_reload=False): + test_logs = dict() + + if len(self.test_splits) > 0: + for split_name in self.test_splits: + test_logs[split_name] = self.eval_epoch( + split_name=split_name, cur_epoch=cur_epoch, skip_reload=skip_reload + ) + + return test_logs + + def train_epoch(self, epoch): + # train + self.model.train() + + return self.task.train_epoch( + epoch=epoch, + model=self.model, + data_loader=self.train_loader, + optimizer=self.optimizer, + scaler=self.scaler, + lr_scheduler=self.lr_scheduler, + cuda_enabled=self.cuda_enabled, + log_freq=self.log_freq, + accum_grad_iters=self.accum_grad_iters, + ) + + @torch.no_grad() + def eval_epoch(self, split_name, cur_epoch, skip_reload=False): + """ + Evaluate the model on a given split. + + Args: + split_name (str): name of the split to evaluate on. + cur_epoch (int): current epoch. + skip_reload_best (bool): whether to skip reloading the best checkpoint. + During training, we will reload the best checkpoint for validation. + During testing, we will use provided weights and skip reloading the best checkpoint . + """ + data_loader = self.dataloaders.get(split_name, None) + assert data_loader, "data_loader for split {} is None.".format(split_name) + + # TODO In validation, you need to compute loss as well as metrics + # TODO consider moving to model.before_evaluation() + model = self.unwrap_dist_model(self.model) + if not skip_reload and cur_epoch == "best": + model = self._reload_best_model(model) + model.eval() + + self.task.before_evaluation( + model=model, + dataset=self.datasets[split_name], + ) + results = self.task.evaluation(model, data_loader) + + if results is not None: + return self.task.after_evaluation( + val_result=results, + split_name=split_name, + epoch=cur_epoch, + ) + + def unwrap_dist_model(self, model): + if self.use_distributed: + return model.module + else: + return model + + def create_loaders( + self, + datasets, + num_workers, + batch_sizes, + is_trains, + collate_fns, + dataset_ratios=None, + ): + """ + Create dataloaders for training and validation. + """ + + def _create_loader(dataset, num_workers, bsz, is_train, collate_fn): + # create a single dataloader for each split + if isinstance(dataset, ChainDataset) or isinstance( + dataset, wds.DataPipeline + ): + # wds.WebdDataset instance are chained together + # webdataset.DataPipeline has its own sampler and collate_fn + loader = iter( + DataLoader( + dataset, + batch_size=bsz, + num_workers=num_workers, + pin_memory=True, + ) + ) + else: + # map-style dataset are concatenated together + # setup distributed sampler + if self.use_distributed: + sampler = DistributedSampler( + dataset, + shuffle=is_train, + num_replicas=get_world_size(), + rank=get_rank(), + ) + if not self.use_dist_eval_sampler: + # e.g. retrieval evaluation + sampler = sampler if is_train else None + else: + sampler = None + + loader = DataLoader( + dataset, + batch_size=bsz, + num_workers=num_workers, + pin_memory=True, + sampler=sampler, + shuffle=sampler is None and is_train, + collate_fn=collate_fn, + drop_last=True if is_train else False, + ) + loader = PrefetchLoader(loader) + + if is_train: + loader = IterLoader(loader, use_distributed=self.use_distributed) + + return loader + + loaders = [] + + for dataset, bsz, is_train, collate_fn in zip( + datasets, batch_sizes, is_trains, collate_fns + ): + if isinstance(dataset, list) or isinstance(dataset, tuple): + if hasattr(dataset[0], 'sample_ratio') and dataset_ratios is None: + dataset_ratios = [d.sample_ratio for d in dataset] + loader = MultiIterLoader( + loaders=[ + _create_loader(d, num_workers, bsz, is_train, collate_fn[i]) + for i, d in enumerate(dataset) + ], + ratios=dataset_ratios, + ) + else: + loader = _create_loader(dataset, num_workers, bsz, is_train, collate_fn) + + loaders.append(loader) + + return loaders + + @main_process + def _save_checkpoint(self, cur_epoch, is_best=False): + """ + Save the checkpoint at the current epoch. + """ + model_no_ddp = self.unwrap_dist_model(self.model) + param_grad_dic = { + k: v.requires_grad for (k, v) in model_no_ddp.named_parameters() + } + state_dict = model_no_ddp.state_dict() + for k in list(state_dict.keys()): + if k in param_grad_dic.keys() and not param_grad_dic[k]: + # delete parameters that do not require gradient + del state_dict[k] + save_obj = { + "model": state_dict, + "optimizer": self.optimizer.state_dict(), + "config": self.config.to_dict(), + "scaler": self.scaler.state_dict() if self.scaler else None, + "epoch": cur_epoch, + } + save_to = os.path.join( + self.output_dir, + "checkpoint_{}.pth".format("best" if is_best else cur_epoch), + ) + logging.info("Saving checkpoint at epoch {} to {}.".format(cur_epoch, save_to)) + torch.save(save_obj, save_to) + + def _reload_best_model(self, model): + """ + Load the best checkpoint for evaluation. + """ + checkpoint_path = os.path.join(self.output_dir, "checkpoint_best.pth") + + logging.info("Loading checkpoint from {}.".format(checkpoint_path)) + checkpoint = torch.load(checkpoint_path, map_location="cpu") + try: + model.load_state_dict(checkpoint["model"]) + except RuntimeError as e: + logging.warning( + """ + Key mismatch when loading checkpoint. This is expected if only part of the model is saved. + Trying to load the model with strict=False. + """ + ) + model.load_state_dict(checkpoint["model"], strict=False) + return model + + def _load_checkpoint(self, url_or_filename): + """ + Resume from a checkpoint. + """ + if is_url(url_or_filename): + cached_file = download_cached_file( + url_or_filename, check_hash=False, progress=True + ) + checkpoint = torch.load(cached_file, map_location=self.device, strict=False) + elif os.path.isfile(url_or_filename): + checkpoint = torch.load(url_or_filename, map_location=self.device, strict=False) + else: + raise RuntimeError("checkpoint url or path is invalid") + + state_dict = checkpoint["model"] + self.unwrap_dist_model(self.model).load_state_dict(state_dict) + + self.optimizer.load_state_dict(checkpoint["optimizer"]) + if self.scaler and "scaler" in checkpoint: + self.scaler.load_state_dict(checkpoint["scaler"]) + + self.start_epoch = checkpoint["epoch"] + 1 + logging.info("Resume checkpoint from {}".format(url_or_filename)) + + @main_process + def log_stats(self, stats, split_name): + if isinstance(stats, dict): + log_stats = {**{f"{split_name}_{k}": v for k, v in stats.items()}} + with open(os.path.join(self.output_dir, "log.txt"), "a") as f: + f.write(json.dumps(log_stats) + "\n") + elif isinstance(stats, list): + pass + + @main_process + def log_config(self): + with open(os.path.join(self.output_dir, "log.txt"), "a") as f: + f.write(json.dumps(self.config.to_dict(), indent=4) + "\n") diff --git a/video_llama/runners/test.py b/video_llama/runners/test.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/video_llama/tasks/__init__.py b/video_llama/tasks/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..86c47d8aafe2637e13f3d837904a0f51dc96b379 --- /dev/null +++ b/video_llama/tasks/__init__.py @@ -0,0 +1,28 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +from video_llama.common.registry import registry +from video_llama.tasks.base_task import BaseTask +from video_llama.tasks.image_text_pretrain import ImageTextPretrainTask +from video_llama.tasks.video_text_pretrain import VideoTextPretrainTask + + +def setup_task(cfg): + assert "task" in cfg.run_cfg, "Task name must be provided." + + task_name = cfg.run_cfg.task + task = registry.get_task_class(task_name).setup_task(cfg=cfg) + assert task is not None, "Task {} not properly registered.".format(task_name) + + return task + + +__all__ = [ + "BaseTask", + "ImageTextPretrainTask", + "VideoTextPretrainTask" +] diff --git a/video_llama/tasks/__pycache__/__init__.cpython-39.pyc b/video_llama/tasks/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c86c85acdb9bfd12efe233de5441adffa687cac3 Binary files /dev/null and b/video_llama/tasks/__pycache__/__init__.cpython-39.pyc differ diff --git a/video_llama/tasks/__pycache__/base_task.cpython-39.pyc b/video_llama/tasks/__pycache__/base_task.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1e7d7946e3e458f4e494f438d48bc308defca8b5 Binary files /dev/null and b/video_llama/tasks/__pycache__/base_task.cpython-39.pyc differ diff --git a/video_llama/tasks/__pycache__/image_text_pretrain.cpython-39.pyc b/video_llama/tasks/__pycache__/image_text_pretrain.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..715bc9de43584ed6fb1bdaefb75658358a579208 Binary files /dev/null and b/video_llama/tasks/__pycache__/image_text_pretrain.cpython-39.pyc differ diff --git a/video_llama/tasks/__pycache__/video_text_pretrain.cpython-39.pyc b/video_llama/tasks/__pycache__/video_text_pretrain.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..42c094cb31cd044f184f2806f81798e7ac79704f Binary files /dev/null and b/video_llama/tasks/__pycache__/video_text_pretrain.cpython-39.pyc differ diff --git a/video_llama/tasks/base_task.py b/video_llama/tasks/base_task.py new file mode 100644 index 0000000000000000000000000000000000000000..d91aa346df45ed58b7d2425a59dd21f3ae8ef93c --- /dev/null +++ b/video_llama/tasks/base_task.py @@ -0,0 +1,286 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +import logging +import os + +import torch +import torch.distributed as dist +from video_llama.common.dist_utils import get_rank, get_world_size, is_main_process, is_dist_avail_and_initialized +from video_llama.common.logger import MetricLogger, SmoothedValue +from video_llama.common.registry import registry +from video_llama.datasets.data_utils import prepare_sample + + +class BaseTask: + def __init__(self, **kwargs): + super().__init__() + + self.inst_id_key = "instance_id" + + @classmethod + def setup_task(cls, **kwargs): + return cls() + + def build_model(self, cfg): + model_config = cfg.model_cfg + + model_cls = registry.get_model_class(model_config.arch) + return model_cls.from_config(model_config) + + def build_datasets(self, cfg): + """ + Build a dictionary of datasets, keyed by split 'train', 'valid', 'test'. + Download dataset and annotations automatically if not exist. + + Args: + cfg (common.config.Config): _description_ + + Returns: + dict: Dictionary of torch.utils.data.Dataset objects by split. + """ + + datasets = dict() + + datasets_config = cfg.datasets_cfg + + assert len(datasets_config) > 0, "At least one dataset has to be specified." + + for name in datasets_config: + dataset_config = datasets_config[name] + + builder = registry.get_builder_class(name)(dataset_config) + dataset = builder.build_datasets() + + dataset['train'].name = name + if 'sample_ratio' in dataset_config: + dataset['train'].sample_ratio = dataset_config.sample_ratio + + datasets[name] = dataset + + return datasets + + def train_step(self, model, samples): + loss = model(samples)["loss"] + return loss + + def valid_step(self, model, samples): + raise NotImplementedError + + def before_evaluation(self, model, dataset, **kwargs): + model.before_evaluation(dataset=dataset, task_type=type(self)) + + def after_evaluation(self, **kwargs): + pass + + def inference_step(self): + raise NotImplementedError + + def evaluation(self, model, data_loader, cuda_enabled=True): + metric_logger = MetricLogger(delimiter=" ") + header = "Evaluation" + # TODO make it configurable + print_freq = 10 + + results = [] + + for samples in metric_logger.log_every(data_loader, print_freq, header): + samples = prepare_sample(samples, cuda_enabled=cuda_enabled) + + eval_output = self.valid_step(model=model, samples=samples) + results.extend(eval_output) + + if is_dist_avail_and_initialized(): + dist.barrier() + + return results + + def train_epoch( + self, + epoch, + model, + data_loader, + optimizer, + lr_scheduler, + scaler=None, + cuda_enabled=False, + log_freq=50, + accum_grad_iters=1, + ): + return self._train_inner_loop( + epoch=epoch, + iters_per_epoch=lr_scheduler.iters_per_epoch, + model=model, + data_loader=data_loader, + optimizer=optimizer, + scaler=scaler, + lr_scheduler=lr_scheduler, + log_freq=log_freq, + cuda_enabled=cuda_enabled, + accum_grad_iters=accum_grad_iters, + ) + + def train_iters( + self, + epoch, + start_iters, + iters_per_inner_epoch, + model, + data_loader, + optimizer, + lr_scheduler, + scaler=None, + cuda_enabled=False, + log_freq=50, + accum_grad_iters=1, + ): + return self._train_inner_loop( + epoch=epoch, + start_iters=start_iters, + iters_per_epoch=iters_per_inner_epoch, + model=model, + data_loader=data_loader, + optimizer=optimizer, + scaler=scaler, + lr_scheduler=lr_scheduler, + log_freq=log_freq, + cuda_enabled=cuda_enabled, + accum_grad_iters=accum_grad_iters, + ) + + def _train_inner_loop( + self, + epoch, + iters_per_epoch, + model, + data_loader, + optimizer, + lr_scheduler, + scaler=None, + start_iters=None, + log_freq=50, + cuda_enabled=False, + accum_grad_iters=1, + ): + """ + An inner training loop compatible with both epoch-based and iter-based training. + + When using epoch-based, training stops after one epoch; when using iter-based, + training stops after #iters_per_epoch iterations. + """ + use_amp = scaler is not None + + if not hasattr(data_loader, "__next__"): + # convert to iterator if not already + data_loader = iter(data_loader) + + metric_logger = MetricLogger(delimiter=" ") + metric_logger.add_meter("lr", SmoothedValue(window_size=1, fmt="{value:.6f}")) + metric_logger.add_meter("loss", SmoothedValue(window_size=1, fmt="{value:.4f}")) + + # if iter-based runner, schedule lr based on inner epoch. + logging.info( + "Start training epoch {}, {} iters per inner epoch.".format( + epoch, iters_per_epoch + ) + ) + header = "Train: data epoch: [{}]".format(epoch) + if start_iters is None: + # epoch-based runner + inner_epoch = epoch + else: + # In iter-based runner, we schedule the learning rate based on iterations. + inner_epoch = start_iters // iters_per_epoch + header = header + "; inner epoch [{}]".format(inner_epoch) + + for i in metric_logger.log_every(range(iters_per_epoch), log_freq, header): + # if using iter-based runner, we stop after iters_per_epoch iterations. + if i >= iters_per_epoch: + break + + samples = next(data_loader) + + samples = prepare_sample(samples, cuda_enabled=cuda_enabled) + samples.update( + { + "epoch": inner_epoch, + "num_iters_per_epoch": iters_per_epoch, + "iters": i, + } + ) + + lr_scheduler.step(cur_epoch=inner_epoch, cur_step=i) + + with torch.cuda.amp.autocast(enabled=use_amp): + loss = self.train_step(model=model, samples=samples) + + # after_train_step() + if use_amp: + scaler.scale(loss).backward() + else: + loss.backward() + + # update gradients every accum_grad_iters iterations + if (i + 1) % accum_grad_iters == 0: + if use_amp: + scaler.step(optimizer) + scaler.update() + else: + optimizer.step() + optimizer.zero_grad() + + metric_logger.update(loss=loss.item()) + metric_logger.update(lr=optimizer.param_groups[0]["lr"]) + + # after train_epoch() + # gather the stats from all processes + metric_logger.synchronize_between_processes() + logging.info("Averaged stats: " + str(metric_logger.global_avg())) + return { + k: "{:.3f}".format(meter.global_avg) + for k, meter in metric_logger.meters.items() + } + + @staticmethod + def save_result(result, result_dir, filename, remove_duplicate=""): + import json + + result_file = os.path.join( + result_dir, "%s_rank%d.json" % (filename, get_rank()) + ) + final_result_file = os.path.join(result_dir, "%s.json" % filename) + + json.dump(result, open(result_file, "w")) + + if is_dist_avail_and_initialized(): + dist.barrier() + + if is_main_process(): + logging.warning("rank %d starts merging results." % get_rank()) + # combine results from all processes + result = [] + + for rank in range(get_world_size()): + result_file = os.path.join( + result_dir, "%s_rank%d.json" % (filename, rank) + ) + res = json.load(open(result_file, "r")) + result += res + + if remove_duplicate: + result_new = [] + id_list = [] + for res in result: + if res[remove_duplicate] not in id_list: + id_list.append(res[remove_duplicate]) + result_new.append(res) + result = result_new + + json.dump(result, open(final_result_file, "w")) + print("result file saved to %s" % final_result_file) + + return final_result_file diff --git a/video_llama/tasks/image_text_pretrain.py b/video_llama/tasks/image_text_pretrain.py new file mode 100644 index 0000000000000000000000000000000000000000..db955f27bb7dc8093cffd95b3a26917bb681c846 --- /dev/null +++ b/video_llama/tasks/image_text_pretrain.py @@ -0,0 +1,18 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +from video_llama.common.registry import registry +from video_llama.tasks.base_task import BaseTask + + +@registry.register_task("image_text_pretrain") +class ImageTextPretrainTask(BaseTask): + def __init__(self): + super().__init__() + + def evaluation(self, model, data_loader, cuda_enabled=True): + pass diff --git a/video_llama/tasks/video_text_pretrain.py b/video_llama/tasks/video_text_pretrain.py new file mode 100644 index 0000000000000000000000000000000000000000..6cf72e5e878500e0cc3aa719c7cb20b56f63c71a --- /dev/null +++ b/video_llama/tasks/video_text_pretrain.py @@ -0,0 +1,18 @@ +""" + Copyright (c) 2022, salesforce.com, inc. + All rights reserved. + SPDX-License-Identifier: BSD-3-Clause + For full license text, see the LICENSE_Lavis file in the repo root or https://opensource.org/licenses/BSD-3-Clause +""" + +from video_llama.common.registry import registry +from video_llama.tasks.base_task import BaseTask + + +@registry.register_task("video_text_pretrain") +class VideoTextPretrainTask(BaseTask): + def __init__(self): + super().__init__() + + def evaluation(self, model, data_loader, cuda_enabled=True): + pass